Tamper-evident batch records, CoAs & trial data

Batch records, certificates of analysis, and clinical-trial data that are provably unaltered and independently timestamped — the data-integrity (ALCOA+) layer regulators ask for, recorded on a public ledger no one can quietly rewrite. Confidential data never has to leave your systems.

For pharma, cros, clinical trials, and medical-device makers.

What a seal proves

Four guarantees, in pharma & life sciences

Provably unaltered records

A batch record, CoA, or dataset is byte-for-byte as captured — any later edit is caught on verification. The integrity pillar of ALCOA+, cryptographically.

Attributable to a signer

Each record is sealed under your organisation's certificate, chaining to a published root — the attribution GxP data integrity expects.

Contemporaneous by construction

Every record is timestamped on Bitcoin and appended to a public, append-only log — an independent “this existed then” that predates any dispute.

Confidential data stays in-house

For trial data and formulations, anchor just the SHA-256 — the data never leaves your systems, only the digest, and it still proves existence and integrity.

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 document or file
Seal
Signed over every byte · PAdES / detached CMS
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 organisation

    Open app.letsseal.org and sign in. Your organisation gets its own certificate authority for sealing controlled records.

  2. 2

    Seal a controlled document

    Upload the batch record or CoA; it's sealed over the whole file and timestamped, fixing the record the moment it's captured.

  3. 3

    Or anchor confidential data by hash

    For trial data and raw datasets, anchor the file's hash from the CLI — the bytes never leave your systems, only the 32-byte digest.

  4. 4

    Hand a regulator the proof

    Give the assessor the proof link or the .ots file. They verify independently, against Bitcoin and the transparency log, without access to your systems.

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 a certificate of analysis under your org
$ sealbot seal coa-batch-A4471.pdf --org examples
sealed   coa-batch-A4471.pdf
  proof  https://letsseal.org/d/3a90cd…7f21

# Anchor confidential trial data — only its hash leaves your systems
$ sealbot anchor trial-dataset-2026-06.parquet --publish
anchored trial-dataset-2026-06.parquet → …ots  (digest only)

# A regulator re-checks the timestamp against Bitcoin, stock tooling
$ ots verify coa-batch-A4471.pdf.ots
Success! Bitcoin attests existence as of 2026-06-30

Seal controlled documents; anchor confidential datasets by hash so they never leave your systems. Both deliver attributable, contemporaneous, tamper-evident records recorded in the public transparency log.

See it in action

What a proof looks like, and what you can seal

Issuer verified — controls letsseal.org
Authentic & unaltered
Document
A sealed certificate of analysis
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 certificate of analysis

    Live proof

    Open the proof page the way a QP or customer would: it shows the CoA is authentic, unaltered, issued by your organisation, and timestamped on Bitcoin — a batch result no one can quietly change.

  • A batch or manufacturing record

    Seal each batch record on completion, so an inspector can confirm it's the contemporaneous record — provably unaltered since the batch was made.

  • Clinical-trial data (hash-only)

    Anchor a dataset's SHA-256 — the data stays entirely in your systems — and prove it existed unaltered as of that date, independent of your eTMF.

  • A validation or qualification record

    IQ/OQ/PQ and validation evidence sealed and timestamped, giving the attributable, contemporaneous trail data-integrity frameworks require.

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

Common documents

What you’ll seal

  • Batch records
  • Certificates of analysis (CoA)
  • Clinical-trial data
  • GMP / GxP documents
  • Validation & qualification records
  • Regulatory submissions
Questions

Straight answers

Does this satisfy ALCOA+ / GxP data integrity?
It delivers the integrity and contemporaneous-record pillars cryptographically: each record is attributable to a signer, provably unaltered, and independently timestamped on a public ledger. It complements your quality system; it doesn't replace it.
Can confidential trial data stay private?
Yes. Anchor just the SHA-256 — the data never leaves your systems, only its 32-byte digest, and the Bitcoin timestamp still proves it existed unaltered by that date.
Can an inspector verify without our systems?
Yes — that's the point. They verify the seal and the Bitcoin timestamp against public infrastructure, so the evidence stands even if your systems are unavailable.
Do records stay verifiable for the retention period?
Yes. The seal and the Bitcoin anchor outlive any single vendor, so a record sealed today stays independently verifiable for years, with standard tools.

Start sealing pharma & life sciences documents

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