Repository navigation
feat(credentials): source catalog with levels - #23
Merged
Merged
Conversation
A company could not tell which breach source was worth paying for: six keys sat side by side. The Data API page now groups them as Recommended, Additional and Free or limited (from the existing reliability tier), and shows for each what it brings, its starting price with the date it was checked, its free tier and a link to the live pricing page. Prices change and Gardik runs on the customer's servers, so the date and link are always shown, and an unpublished price says so instead of quoting third-party figures. Levels are advice only. Refs #19
The page listed six cards one under the other. It now reads like an integrations catalog: a summary (connected sources, last scan, sources that need action), search and filters, and a grid of tiles with each provider's logo, level, starting price and real health from the last scan. A tile opens a side panel with the overview, health and the steps to fix it, the key and rate settings, and pricing. A key or rate changed after a failure shows as waiting for a scan, not as still broken. Removing a key now asks for confirmation. Logos are the providers' own icons, served from public/sources so the page loads no third-party image. Refs #19
This was referenced Oct 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A company could not tell which breach source was worth paying for. The Data API page now groups the sources by recommendation level and shows what each one costs.
The level comes from the existing reliability tier, so alert confidence and the recommendation never disagree.
Each source shows:
Prices come from the official pages, checked in October 2026. DeHashed and Snusbase do not publish theirs where it can be read, so they show "Price not published" rather than third-party figures. HIBP's page is unclear on whether cheaper plans include stealer logs, which the note says.
Levels are advice only: every source can still be enabled, in any combination.
Data API as a source catalog
The page now reads like an integrations catalog:
Details:
public/sourcesso the page loads no third-party image (the CSP allows'self'only). They usenext/imagewithunoptimized, since the Docker image ships withoutsharp.Type of change
Checklist
tsc --noEmit, 318 unit tests, the scan integration test,npm run build, and the Data API page driven in a real browser (grid, panel, filters, mobile width).