Skip to content

feat(credentials): source catalog with levels - #23

Merged
WhiteMuush merged 2 commits into
developfrom
feat/source-recommendations
Oct 12, 2026
Merged

WhiteMuush merged 2 commits into
developfrom
feat/source-recommendations

Conversation

@WhiteMuush

@WhiteMuush WhiteMuush commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

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.

  • Recommended: Have I Been Pwned, HIBP Stealer Logs.
  • Additional: LeakCheck, DeHashed, Snusbase.
  • Free or limited: Intelligence X.

The level comes from the existing reliability tier, so alert confidence and the recommendation never disagree.

Each source shows:

  • one line on what it brings;
  • its starting price and the date it was checked ("From $4.39/month, checked October 2026");
  • its free tier and plan notes when relevant;
  • a "See pricing" link to the provider's live page.

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:

  • A summary: connected sources, last scan, and sources that need action (clicking it filters them).
  • Search and filters: All, Connected, Needs action, and each level.
  • A grid of tiles with each provider's logo, level, starting price and real health from the last scan (Connected, Needs action with the reason, Not scanned yet, Not connected).
  • A side panel per source: overview, health with the steps to fix it, key and rate settings, pricing. It closes with Escape.

Details:

  • A key or rate changed after a failure shows as "Changed since last scan", not as still broken.
  • Removing a key asks for confirmation.
  • Logos are the providers' own icons, stored in public/sources so the page loads no third-party image (the CSP allows 'self' only). They use next/image with unoptimized, since the Docker image ships without sharp.
  • The remedy steps adapt to where they are read: the scan banner links to Data API, the source panel points to the settings below it.

Type of change

  • feat: new feature
  • fix: bug fix
  • chore: maintenance / dependencies
  • docs: documentation
  • refactor: code refactor

Checklist

  • My code follows the project conventions
  • I have tested my changes: lint, 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).
  • Related issue: Closes Recommend breach sources by tier and price聽#19

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
@WhiteMuush WhiteMuush self-assigned this Oct 12, 2026
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
@WhiteMuush WhiteMuush changed the title feat(credentials): recommend sources by level feat(credentials): source catalog with levels Oct 12, 2026
@WhiteMuush
WhiteMuush merged commit 31a9bb6 into develop Oct 12, 2026
15 checks passed
@WhiteMuush
WhiteMuush deleted the feat/source-recommendations branch October 12, 2026 14:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant