Legal-hold archives, generated on demand
Bulk-convert HTML emails, customer communications, and web content to PDF/A archives. Long-term retention, tax-authority-ready, court-admissible in EU.
- Hosted in Frankfurt & Paris
- GDPR-compliant
Why bulk-archive with pdf.xhub?
Tax authorities require PDF/A
GoBD (Germany), DAS2 (France), and other EU tax retention rules require ISO 19005-compliant archives. We generate compliant output by default.
Legal-hold for emails and HTML
Convert HTML emails, customer-support transcripts, and web content to PDF/A in batches. Each entry timestamped + hash-verifiable.
Async batches scale to millions
Process 100k+ documents per run with the async-batch endpoint. Webhook fires on completion with a manifest of every PDF.
How compliance archiving works
1. POST a batch of HTML or emails
Send an array of HTML strings, .eml content, or URLs in one async-job request. Specify archive mode (PDF/A-1b, A-2b, A-3) per batch.
2. We render with archive metadata
Each PDF gets ISO 19005-compliant structure, embedded fonts, color profile, plus optional PAdES signature for tamper evidence.
3. Manifest + webhook on completion
Receive a manifest of every rendered PDF (with SHA-256 hashes) and a download URL. Pipe straight to your archive bucket.
For legal, audit, and compliance officers
Whether you're archiving 7 years of customer emails for GoBD, ingesting customer-support transcripts for legal hold, or generating tax-archive-bundles — same endpoint, same response. PDF/A-3 output via HTML-to-PDF, with E-Invoice for EU-mandate-compliant archives. EU render fleet, no US data transfer.
Try it in your stack
Same endpoint. Copy as cURL, call from any language.
POST a batch of HTML/emails, receive PDF/A archives with hash manifest.
curl -X POST https://api.pdf.xhub.io/v1/render/batch \
-H "Authorization: Bearer $PDFXHUB_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": "html",
"items": [{"id": "msg_1", "html": "<p>...</p>"}],
"archive": "pdf-a3",
"sign": "pades-lt",
"webhookUrl": "https://api.example.com/pdfx-webhook"
}'curl -X POST https://api.pdf.xhub.io/v1/render/batch \
-H "Authorization: Bearer $PDFXHUB_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": "html",
"items": [{"id": "msg_1", "html": "<p>...</p>"}],
"archive": "pdf-a3",
"sign": "pades-lt",
"webhookUrl": "https://api.example.com/pdfx-webhook"
}'Features at a glance
Archive Standards
- PDF/A-1b (long-term, ISO 19005-1)
- PDF/A-2b (modern, ISO 19005-2)
- PDF/A-3 (with embedded XML / structured data)
- Embedded font subsetting (no font dependencies)
- ICC color profiles for visual fidelity
Bulk Workflow
- Async-batch API (100k+ docs per run)
- Per-document SHA-256 hash in manifest
- Webhook on batch completion with full manifest
- Direct-pipe to S3 / GCS / Azure Blob
- Optional PAdES signature per archived PDF
Platform
- EU-only render workers (audit-zone aligned)
- Per-document SHA-256 hash in batch manifest
- Async-batch endpoint (100k+ items per run)
- Direct-pipe to your compliance archive bucket
- Webhook on completion with full manifest
- Long-term retention: bring-your-own S3 bucket
Powered by these APIs
The product endpoints behind this solution.
Related solutions
Same API, different workflows.
Run your first archive batch
25 docs/month free forever. PDF/A-3 + PAdES included.