ISO 19005-3 · RFC 3161

A PDF is not evidence.

Compliance infrastructure for legally provable documents

SealDoc converts your document to PDF/A-3 and records a tamper-evident SHA-384 chain of evidence events. Timestamping under RFC 3161 is available per document, and you download a Legal Evidence Pack with the document, its hash manifest and its audit trail.

No credit card. EU-hosted. GDPR compliant.

Exhibit A · invoice, after processing
Invoice 2026-0417 PDF/A-3B
  • Converted to PDF/A-3B
  • Timestamped, RFC 3161
  • Hash chain recorded
  • Legal Evidence Pack ready

Illustrative values

Built on verifiable standards

ISO 19005-3 PDF/A-3B archival format
RFC 3161 Cryptographic timestamping
PDF/UA-1 Accessibility aligned
EU hosted ISO 27001 datacenter
SHA-384 Evidence hash chain
NIS2 ready Security controls
Factur-X 1.0 EN 16931 compliant
Peppol BIS 3.0 Network-ready documents

The compliance gap

A document is not evidence. Yet.

Most businesses assume their invoices and records are legally protected. They are often wrong about the proof layer.

1

A plain PDF proves nothing

A standard PDF may be accepted as a document, but it rarely proves integrity, timestamp, custody, or retention on its own. Most PDFs can be modified without detection.

2

Your ERP generates invoices, not evidence

ERP and accounting software are built to process transactions, not to produce independently verifiable proof of existence and integrity. That is a different problem.

3

Auditors and courts need more

When an auditor, court, or tax authority asks for proof, having the PDF is often not enough. They want a chain of custody, a timestamp, and a manifest — not just the file.

Six entries turn a file into evidence

What each one is, and exactly how far it goes.

I
Archival format ISO 19005-3 · PDF/A-3B
Every document is converted to PDF/A-3. Uploaded files are additionally validated with veraPDF and the report is stored.
II
Trusted time RFC 3161
A timestamp from a time-stamping authority, switched on per document, from the Starter plan up.
III
Tamper evidence SHA-384
A SHA-384 hash chain links a document’s evidence events, so any later alteration is detectable.
IV
Chain of custody Audit trail
Documents that run through the conversion pipeline get a hash-chained event log with UTC times.
V
Retention Retention policy
Deletion before the retention period expires is refused on every deletion path, including GDPR erasure requests.
VI
Legal Evidence Pack ZIP
A ZIP with the document, the hash manifest, the custody log, and the RFC 3161 token when timestamping ran.

What SealDoc is not

Not a Peppol access point, and not a qualified trust service provider. SealDoc does not sign on your behalf and does not claim WORM storage. It records what happened to a document, in a form you can hand to an auditor.

Exhibit B · the API

One call in, evidence out

Post an invoice as JSON and get back a Factur-X PDF/A-3 with its evidence. An Idempotency-Key on the generate endpoints replays the original job for 24 hours, webhooks carry an HMAC-SHA256 signature header from the Growth plan, and there is a ready-made n8n node on npm.

sample request POST /api/invoices/generate
curl -X POST https://api.sealdoc.eu/api/invoices/generate \
  -H "X-Api-Key: sd_live_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-8812" \
  -d '{
    "invoiceNumber": "2026-0042",
    "invoiceDate": "2026-08-20",
    "currency": "EUR",
    "vatRate": 0.21,
    "profile": "Basic",
    "timestampRfc3161": true,
    "seller": { "name": "Acme BV", "vatNumber": "NL850332928B01",
                "address": "Keizersgracht 1", "postalCode": "1015CJ",
                "city": "Amsterdam", "country": "NL" },
    "buyer":  { "name": "Rothmann Consulting", "address": "Torstrasse 1",
                "postalCode": "10115", "city": "Berlin", "country": "DE" },
    "lines":  [{ "description": "Consulting Q3", "quantity": 1,
                 "unitPriceExclVat": 12400.00 }]
  }'
response
200 OK
{ "jobId": "9b2c1f3e-..." }

GET /api/download/{jobId}
GET /api/jobs/{jobId}/evidence-pack

Exhibit C · e-invoicing

Three structured formats, and we say which

One JSON call produces the format your counterparty expects, with the mandatory fields checked before anything is generated. Already have an invoice? Validate it here, free, without an account.

Where Format What comes out
France Factur-X Factur-X BASIC, carrying the EN 16931 conformance identifier, embedded in a PDF/A-3. The XML and the human-readable page are one file.
Germany XRechnung 3.0 The XRechnung 3.0 identifier. The German mandatory fields are enforced before generation starts: BT-10, seller e-mail and IBAN, so you get a clear error instead of a Schematron dump.
Belgium Peppol BIS 3 Peppol BIS 3 as UBL, checked against the Peppol rules before it leaves. Needs an endpoint id and scheme, because an invoice nobody can be addressed with is not an invoice.

One Factur-X profile: BASIC. Not MINIMUM, BASIC WL, EN 16931 or EXTENDED. Naming the one we emit is more use to you than claiming five.

Validate an invoice

SealDoc is not a Peppol access point. Your access point delivers the invoice; SealDoc produces the document and the evidence that it was what it says it was.

What SealDoc actually produces

Every document proves its own compliance.

One API call returns a sealed PDF/A-3 plus a complete chain of custody. Here is exactly what is inside.

Invoice.pdf

PDF/A-3B: ISO 19005-3 compliant archive format, validated by VeraPDF after every conversion.

Embedded CII XML

Structured e-invoice data embedded inside the PDF. Validates against EN 16931. Survives any PDF reader.

RFC 3161 Timestamp

Cryptographic proof the document existed at a specific time, issued by a trusted RFC 3161 TSA. Legally admissible.

SHA-256 Hash Chain

Each file in the evidence pack is individually hashed, then the full set is hashed together. Tamper-evident.

Evidence Manifest

Manifest hash-chain seals each file and the file set as a whole. One missing byte invalidates the manifest.

Retention Policy

A retention period is set per document and enforced at the storage layer: SealDoc will not delete a document before that period expires.

Audit Metadata

Every action logged: who, when, IP address, what changed. Written to a tamper-resistant audit_entries table.

Jurisdiction

What we run, runs in Europe

Compliance documents are exactly the data you do not want under a foreign subpoena. Everything we run for you sits on European infrastructure we manage ourselves.

Hosting
Our infrastructure sits in European datacenters, ISO 27001 certified at datacenter level. Storage, database, backups and outgoing mail all run with European providers, with no AWS, Azure or GCP.
Deployment
Managed SaaS, or your own storage bucket and on-premises on Enterprise. Choose those and you decide where your data sits and under whose jurisdiction it falls. Timestamping needs outbound network access.
Languages
Available in eight European languages: NL, EN, DE, FR, ES, IT, PL and CS.
Data rights
Article 17 erasure, where a legal hold or a statutory retention period takes precedence. Article 20 export as a complete ZIP. Article 28 processing agreement on request.

The analytics for this website runs on our own European server too: Umami, self-hosted and cookieless. There is no exception left to declare. Privacy

Why SealDoc

Your ERP generates the invoice. SealDoc makes it legally provable.

Most accounting software exports invoice XML. What it does not provide is the legal proof layer.

Feature ERP / accounting software SealDoc
Legal Evidence Pack
Immutable timestamp
Retention enforcement
Data portability
API-first workflows
Multi-system archive

Named alternatives you may be evaluating: Billit, UnifiedPost, Avalara. None provide an independent legal proof layer with RFC 3161 and chain of custody.

The tariff register

Priced per document, not per surprise

Every paid tier gets conversion, timestamping and the hash chain. Start free, move up when volume asks for it.

Tier Documents / month Price Adds Sign up
Developer for evaluation and side projects 50 € 0 free API Access, PDF/A-3B Conversion Get started
Starter for small practices 1,000 € 49 / month Chain of Custody, Legal Evidence Packs, OCR (8 EU languages), RFC 3161 Timestamps, ZUGFeRD / Factur-X Get started
Growth our pick for finance teams 5,000 € 149 / month Buyer Profiles, Retention Console, PDF/UA-1 Accessibility, Webhooks Get started
Business for organisations at volume 25,000 € 449 / month Batch Processing, Watch Folders Get started
Enterprise for platforms and regulated industry Uncapped On request Bring your own storage, Dedicated Database, DUTO / Archiefwet, On-Prem Deployment Talk to us

Yearly billing is around a fifth cheaper. Prices exclude VAT. Cancel any time.

Ready to prove compliance?

Start processing documents today. No credit card required.

Start free — 50 docs/month

No credit card. No sales call. First document processed within 2 minutes.