Seal and verify bank & lending documents

Statements, loan and mortgage agreements, KYC packs, and guarantees that carry their own proof — so a lender, a landlord, or a counterparty can confirm a document is genuine in seconds. A doctored statement or a forged bank letter fails on sight.

For banks, lenders, fintechs, and building societies.

What a seal proves

Four guarantees, in banking & lending

A statement that can't be doctored

A changed balance, transaction, or name fails verification. The edited-bank-statement problem — closed at the source.

The issuing bank or lender, named

Every statement and agreement names the institution that sealed it, chaining to a published root — a specific certificate, not a letterhead anyone can copy.

Fixed at the moment of issue

Statement periods and agreement dates are timestamped on Bitcoin — decisive for affordability checks, drawdown, and disputes over which version was current.

Verified without a callback

A landlord, a broker, or another bank confirms a document at a permalink — instantly, and free, with no call to your fraud desk.

How it works

From your file to a proof anyone can check

The same pipeline every time — the seal and the timestamp travel with the file, so the proof is self-contained.

Your file
Your signed PDF
Seal
Signed over every byte · PAdES
Anchor
Bitcoin timestamp + public transparency log
Proof page
A permanent /d/… link travels with the file
Anyone verifies
Free, public, offline-capable — for anyone
The proof travels inside the file. Verification stands on the published root, the transparency log, and the Bitcoin ledger — so a court, a bank, or a counterparty can check it independently, forever.
Step by step · the web app

Seal it in the app — no setup

  1. 1

    Sign in as your institution

    Open app.letsseal.org and sign in. Your organisation gets its own certificate authority the first time you seal — every document you issue chains to it.

  2. 2

    Upload or generate the document

    Drop in the statement, agreement, or letter. It's sealed with your certificate as a PAdES signature over the whole file, so any later edit is caught.

  3. 3

    Anchored and logged automatically

    The fingerprint is timestamped on Bitcoin and written to the public transparency log. The customer gets a normal PDF that also verifies.

  4. 4

    Deliver with a proof link

    Every document has a permanent proof page. Whoever relies on it — a lender, a letting agent — opens the link to confirm it's genuine and unaltered.

Step by step · the CLI

Automate it from your terminal or CI

The sealbot CLI does the same thing, scriptably — one command per file, straight into your pipeline.

# Seal every statement in a run as it's generated
$ sealbot watch /srv/statements --mode seal --org examples
watching /srv/statements … sealing new & changed PDFs (idempotent)

# Seal a single loan agreement under your institution
$ sealbot seal mortgage-offer.pdf --org examples
sealed   mortgage-offer.pdf
  proof  https://letsseal.org/d/9d10af…7c22

# A third party confirms a statement — public, no account
$ sealbot verify statement-2026-06.pdf
✓ authentic · unaltered · sealed by Let's Seal Examples

Point a watched folder or your statement-generation pipeline at Let's Seal and every document leaves already sealed, timestamped, and carrying a proof link — one command per file, no per-seal fee.

See it in action

What a proof looks like, and what you can seal

Issuer verified — controls letsseal.org
Authentic & unaltered
Document
A sealed bank statement
Issuer
Let’s Seal Examplesletsseal.org
SHA-256
64-hex fingerprint ✓

Anchored on Bitcoin

Recorded in the public transparency log

Public and free to verify — by anyone, with standard tools.
Open the live proof

A single use case, many documents. Each of these is sealed the same way:

  • A sealed bank statement

    Live proof

    Open the proof page the way a lender or landlord would: it shows the statement is authentic, unaltered since issue, sealed by the named bank, and timestamped on Bitcoin — no callback required.

  • A mortgage or loan agreement

    Seal the executed offer or agreement so a broker, solicitor, or borrower can confirm the terms are exactly as issued — an altered rate or amount is caught instantly.

  • A KYC or onboarding pack

    Seal the verified onboarding documents so a downstream institution can confirm the pack is the one you produced, unaltered — provable customer due diligence.

  • A guarantee or letter of credit

    High-value instruments sealed and timestamped on issue, so a beneficiary can verify authenticity before relying on them.

Live proofs are real documents sealed under the “Let’s Seal Examples” organisation.

Common documents

What you’ll seal

  • Bank statements
  • Loan & mortgage agreements
  • KYC / onboarding documents
  • Letters of credit
  • Guarantees
  • Reference & confirmation letters
Questions

Straight answers

Does this stop fake bank statements?
A sealed statement can't be edited without failing verification, and anyone can check it against the proof link. The doctored-PDF version simply won't verify as issued by you — which is exactly the fraud a rental or lending check is trying to catch.
Can a third party verify without an account?
Yes. Verification is public and free — a landlord or another bank opens the proof link, or drops the PDF into the verifier. The proof carries everything they need.
Can I seal every statement automatically?
Yes. Point the CLI or a watched folder at your statement pipeline and every document leaves sealed, timestamped, and carrying a proof link — one command per file, no per-seal fee.
Does the customer need special software?
No. They get a normal PDF that opens anywhere, and it also verifies against the public portal and any standard PAdES validator.

Start sealing banking & lending documents

Free and open. Seal in the app, automate from the CLI, and hand anyone a proof they can verify themselves.