Banks side with whoever has the better evidence. ProofLock seals every receipt, cancellation confirmation and statement the moment it happens — hash-chained and timestamped — then builds your FCBA dispute, drafts the rights-cited letter, and exports a sealed packet the issuer can't ignore.
No bank login. No card numbers. Your proof stays in your vault.
Screenshot a confirmation page, forward a statement line, or click the Chrome extension — every item is hashed into the vault with a timestamp and a chain link you can verify.
Pick the dispute kind — billing error (FCBA), unauthorized card use, or a post-cancellation charge. ProofLock computes the 60-day FCBA deadline from the charge date and tracks the draft → sent → resolved lifecycle.
The AI drafts a firm, section-cited dispute letter (FCBA, Reg Z, EFTA, UDAAP) with a deterministic fallback if the model is down. One click snapshots every vault hash into a sealed packet.
The Fair Credit Billing Act (15 U.S.C. §1666) gives you 60 days from the statement to give written notice of a billing error. Miss it and the bank can legally refuse to investigate. ProofLock computes the deadline the instant you log the charge — try it:
Deadline = statement date + 60 days (15 U.S.C. §1666(a)). Informational, not legal advice.
Every sealed item gets a vault hash linked to the previous record. Tamper with one byte and the chain breaks — which is exactly why issuers trust it.
The 60-day window is computed automatically for billing-error and unauthorized-use disputes, and your dashboard leads with the nearest deadline.
DisputeLetterAI drafts letters citing 15 U.S.C. §1666, 12 C.F.R. §1026.13, §1643, §1026.12(b), §1005.6 and §5536 — with a deterministic template if the AI gateway is unreachable.
One click snapshots the dispute plus every evidence hash into a SHA-256-verifiable packet — the exact artifact a card issuer's dispute team asks for.
The ProofLock MV3 extension captures the visible tab, hashes the DOM and samples the page text, then seals it all to your local vault at 127.0.0.1:8810. A notification confirms the chain accepted the record — chain_ok — and the evidence appears in your app instantly, newest first.
{
"kind": "page_capture",
"url": "https://merchant.com/order/88123",
"title": "Order confirmed",
"dom_hash": "sha256:9f2c…a41d:48211",
"source": "extension",
"raw": {
"captured_at": "2026-09-24T11:40:02Z",
"text_sample": "Order #88123 confirmed…"
}
}
→ sealed · chain_ok · vault hash 3b91f…e7
Seal proof forever. The vault is free.
One dispute, fully armed.
For households that dispute everything sketchy.
Billing runs in QPay sample mode until the founder signs the QPay contract (INV-003).
Three kinds, matching how issuers classify disputes: billing errors (wrong amount, goods not received, double-charged) under the FCBA; unauthorized card use (your card was used without permission — liability is statutorily capped at $50, and most issuers waive that); and subscription charges after cancellation, which lean on ROSCA and UDAAP.
The letters cite real sections — 15 U.S.C. §1666 (FCBA billing errors), 12 C.F.R. §1026.13 (Reg Z resolution procedures), 15 U.S.C. §1643 and 12 C.F.R. §1026.12(b) (unauthorized use), 12 C.F.R. §1005.6 (Reg E for debit), and 12 U.S.C. §5536 (UDAAP). Citations are section references to help the issuer route your dispute — they are not legal advice.
Every letter endpoint has a deterministic fallback template. If the model gateway fails for any reason, you still get a complete, section-cited letter — the response is labeled mode: fallback so you always know which path produced it (INV-005).
The hash chain is for you: it proves your screenshots and confirmations existed at a point in time and weren't edited afterward. When an issuer asks "when did you cancel?", you answer with a sealed record instead of a story. The packet exports the dispute plus every vault hash in one SHA-256-verifiable snapshot.
No. ProofLock never asks for bank logins, full card numbers, or account numbers. You enter the charge date, amount, and merchant yourself — the same three fields on any receipt — and the vault lives in your own service instance at 127.0.0.1.
Seal today's evidence in under a minute — free, local, and hash-chained.
Open the app — start sealing