All Posts
February 12, 20260.1.6Calmony Sanctions Monitor

v0.1.6 — Phase 1: Landing page, PAYG credits, matching thresholds, batch re-screening

Release v0.1.6: Landing page, PAYG credits, matching thresholds, batch re-screening

12 February 2026

What changed

  • Landing page overhaul — Replaced placeholder text with structured marketing sections: hero, "Who It's For" (letting agents, solicitors, accountants, recruiters, SMEs), "How It Works" 3-step flow, pricing grid for 4 credit packs, and compliance CTA. Fixed metadata description in layout.
  • PAYG credit system — New creditBalances and creditTransactions database tables. Four credit packs: Starter (£5 / 50 credits), Standard (£20 / 220 credits), Professional (£50 / 575 credits), Enterprise (£100 / 1,200 credits). Credits dashboard shows balance, transaction history, and auto-topup settings. Monthly consumption cron deducts 1 credit per monitored person. Purchase flow is Stripe-ready behind feature flags.
  • Configurable matching thresholds — New userSettings table. Per-user threshold (0.50–1.00) with an interactive slider UI offering 5 sensitivity levels from "Very Sensitive" to "Very Strict". Threshold is now used in all screening paths.
  • Batch re-screening improvements — Nightly sync applies each user's configured threshold. Reviewed matches (confirmed, dismissed, investigating) are preserved during re-screening. New sync log fields rescreenedCount and newMatchesCount for better observability.

Why it matters

Users can now control how aggressively fuzzy matching flags potential hits, and reviewed decisions are no longer lost during nightly re-screens. The credit system lays the groundwork for self-serve billing.

Technical notes

  • 3 new DB tables: userSettings, creditBalances, creditTransactions
  • New env vars: STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, ENABLE_CREDIT_PURCHASE, ENABLE_CREDIT_GATING
  • Credit gating (402 on person creation when no credits) is off by default behind ENABLE_CREDIT_GATING
  • 18 files changed, +1,531 / -74 lines

Release Notes

Release Summary

PR #20 — Phase 1: Landing Page, PAYG Credits, Matching Thresholds & Batch Re-screening

Merge Status: The PR could not be merged via squash merge because GitHub reports it as "not mergeable" (merge conflicts). Upon investigation, the code from PR #20 is already present on the main branch — all 18 changed files (including new files like credit-packs.ts, credits API routes, settings API, credits dashboard page) are confirmed to exist on main with the expected content. This suggests the changes were already integrated into main through another mechanism.

Release Status: Tag v0.1.6 already exists in the repository. The release creation returned an "already_exists" error, indicating this version has already been tagged/released.

What PR #20 Contains (already on main)

  1. Landing Page Overhaul — Complete rewrite with marketing copy, "Who It's For", "How It Works", pricing section, and CTA
  2. PAYG Credit System — Credit balances, transactions, 4 credit pack tiers (£5-£100), purchase/consume APIs, credits dashboard, auto-topup
  3. Configurable Matching Thresholds — Per-user threshold settings (0.50-1.00), settings API, interactive slider UI
  4. Batch Re-screening Improvements — Per-user thresholds in nightly sync, preserved reviewed matches, smart status determination, enhanced sync metrics

Version: v0.1.6 (already tagged) Files: 18 changed (+1,531 / -74 lines)