PDF Accessibility Platform · 2026

Making Every Document Accessible

Drop in a PDF, Word or Excel file — get back a tagged, screen-reader-friendly, PDF/UA-compliant document, plus proof of what was fixed and what still needs a human eye.
Deterministic-first engine Local & DSGVO-compliant PDF/UA-1 native · UA-2 variant Independently verified

Why this matters

The business & compliance case

The problem: most PDFs are invisible to blind and low-vision users. No tags, no headings, no image descriptions, no reading order — a screen reader sees a wall of unstructured text, or nothing at all.

⚖️Law — EU Accessibility Act

Organizations must ship accessible documents. Non-compliance carries real regulatory and reputational risk.

👥Inclusion

Roughly 1 in 20 people rely on assistive technology to read.

🔁Volume

Thousands of legacy PDFs = weeks of manual remediation.

The manual reality — per document, by hand
30 min – hours / file

Remediating one PDF by hand takes a specialist a long time, and the result is inconsistent. It doesn't scale.

📄 Untagged PDFinvisible to screen readers
→one command
minutes
♿ Accessible PDFtagged & verified
2

What the application does

The technical core

It automates the entire accessibility remediation pipeline. You give it a document — it gives you a compliant one, plus a full paper trail.

InputPDF · Word · Excel
→
Readtext · images · tables · fonts
→
Fix metadatatitle · language · PDF/UA id
→
Rebuild structureheadings · lists · tables · order
→
Describe imageslocal AI-vision alt text
→
✅ Tagged PDF
📋 Proof & report

🎯Deterministic first, AI where it counts

Metadata, tags, headings, links and reading order are pure logic — same result every time, no API key. AI is used only where judgment is needed: the audit and per-image descriptions.

🛡️Never fails into a worse document

Every output is checked by built-in rules and an independent PAC / Matterhorn test before it ships. No valid input is ever made less accessible.

3

How you use it & why it's important

From bottleneck to repeatable step

The experience: drop files in the browser, watch it run live, download one zip.

🖱️ Drop filesin the browser
→
⚙️ Watch it runlogs · checks · preview
→
⬇️ One zip
✅ The fixed PDF 📊 Before / after report 👁️ Screen-reader preview 📝 Human-review checklist

Before

✕Hours of specialist time
✕Unusable by assistive tech
✕"We think it's accessible"

After

✓Minutes, unattended
✓Tagged, PDF/UA-ready
✓Independently verified
Why it's important: it turns accessibility from a slow, expert-only bottleneck into a fast, repeatable, verifiable step — so an organization can make every document inclusive and stay compliant, at scale.

Everything runs locally; AI passes are optional — a valid, tagged PDF is produced even with zero AI.

4

A real example

Proof, with evidence attached

A 2-page PDF from our test set (Newtest.pdf), run through the tool. The audit found 10 accessibility problems a screen-reader user would hit — all fixed and verified.

The findings, by the numbers — from the run's report.json
Severity#Category#
🔴 Critical1Tables6
🟠 High7Metadata2
🟡 Medium2Headings1
Total10Alt text1

Issues caught & fixed:

missing titlemissing language table headers missing scopebroken heading hierarchy undescribed images
Each is invisible in a normal viewer but a wall for a screen-reader user. The tool turns "looks fine to me" into "provably usable by everyone," with evidence attached.

✕ Before — 10 findings

1 critical · 7 high · 2 medium — no title, no language, tables missing header scope, images without descriptions, broken heading hierarchy.

✓ After — verified

Title · language · PDF/UA id set, tables tagged with header scope, AI-described figures, reading order + headings repaired — passes built-in checks + independent PAC test.

5

Automation & scheduling

Unattended, at scale — hands-off remediation

Point it at a folder and walk away. Documents are picked up, remediated, verified and delivered on a schedule — no operator in the loop.

⏱️Scheduler

A built-in 60-second heartbeat inside the app fires each folder when its interval is due. Survives restarts and catches up a missed run — no OS cron to configure.

☁️Cloud sync

SharePoint · Dropbox · local folders. Multiple watched folders run concurrently; a ledger skips already-processed files; results delivered as a signed ZIP, originals moved to a processed folder.

⚡Urgent priority

An urgent folder preempts normal work: running jobs are paused (SIGSTOP) and resumed automatically, so a rush job is never stuck behind a big batch.

🧹Retention & logs

An hourly sweeper enforces deletion windows. A daily JSONL log records throughput, timings and files produced — persistent across restarts.

Honest by design: scheduling runs in-process (a self-managing heartbeat), not as an external OS cron job — one less moving part to deploy, monitor and secure.
6

Data protection & DSGVO

Local-first by architecture, not by policy
✓ All 9 workstreams shipped — July 2026 Local-LLM · no cloud egress

🔒Nothing leaves the machine

✓Local document processing — no file is sent anywhere unless a cloud feature is explicitly switched on.
✓Local AI by default — alt text, titles, language & structure via on-device Ollama (qwen2.5:7b + llama3.2-vision). Image & text content never leaves the computer.
✓OpenAI only per explicit opt-in — the server refuses the cloud audit without recorded consent.

📁Accountable & controllable

✓Encrypted cloud credentials — AES-256-GCM at rest.
✓Automatic retention & full Art. 17 directory deletion.
✓Audit log (Art. 5 (2)) — uploads, downloads, deletions, settings & login events.
✓No tracking — report.html is fully self-contained, zero external assets.
Data-protection controls (retention window, metadata scrubbing, audit) are live switches shown green on the /dsgvo page the moment they are enabled — status reflects reality, never a marketing claim.
7

PDF/UA-2 status

UA-1 today, UA-2 fail-closed & verified

✅PDF/UA-1 — every output

The primary document is tagged to PDF/UA-1 natively and checked against the built-in Matterhorn/PAC rules and optional external veraPDF validation. This is the guaranteed baseline for every file.

Native taggingMatterhorn / PACveraPDF-validated

🆕PDF/UA-2 — the *.ua2.pdf variant

▸PDF 2.0 + structure namespaces + pdfuaid:part=2, with MathML attached per formula (/AF).
▸Structural only — never changes the visible page. Primary output stays UA-1.
Fail-closed: the *.ua2.pdf file is written only when veraPDF's ua2 flavour confirms conformance. The tool never claims UA-2 on its own — an in-process UA-2 checker runs informationally alongside.

Deferred (transparent): true typographic MathML from a formula source (e.g. OMML from DOCX) — today an honest text fallback is embedded; formulas without alt text withhold the variant rather than ship an unverified claim.

8

Exported files — what is what

One upload, purpose-built variants

Every run produces the compliant primary PDF, plus targeted sidecar variants — only when there is actually something to fix, so fewer files is normal.

FileWhat changed vs. the originalVisible difference
*.max.pdf
Primary
All tag-structure & metadata fixes: tagging, reading order, alt texts, headings, tables, language, bookmarks, XMP.None — invisible accessibility layer. Always safe to publish as a faithful replacement.
*.contrast.pdfPrimary plus WCAG 1.4.3 contrast repairs: low-contrast text recoloured, images recoloured or given backing plates.Yes — colours. Should be reviewed.
*.content.pdfPrimary plus content fixes: uninformative link text rewritten ("here" → descriptive), visible H1 injected when missing, XFA form data removed.Yes — wording. Should be reviewed.
*.contrast.content.pdfBoth of the above, stacked.Yes — colours & wording.
*.ua2.pdfPrimary upgraded to PDF/UA-2 (PDF 2.0 + namespaces + MathML/AF). Written only when veraPDF confirms.None — visually identical to *.max.pdf.
9

The reporting every file gets

Not just a fixed PDF — a defensible audit trail

🔍Verifier

Before/after checks on the input and remediated output — language, title, PDF/UA id, tagging, figures-have-alt.
verify.input · verify.max · verify.verapdf · verify.ua2

🧪PAC & quality

Independent Matterhorn / PDF/UA-1 test, plus 15 plain-language quality checks (link text, table headers, headings, alt-text sanity…) each with impact & how-to-fix.
pac.input · pac · pac.content

📊Optimize reports

feedback — which alt text, from where (local AI / existing / placeholder). contrast — before/after colour + ratio. content — wording fixes. visual — before/after page screenshots of touched pages.

📄report.html

One self-contained, shareable HTML report — zero external assets, no trackers. Opens anywhere, safe to archive.

🗂️Processing log

A persistent daily JSONL record: throughput, per-step timings and files produced — survives restarts, feeds the /reports dashboard.

🛡️Audit log

Every upload, download, deletion, login and settings change — the accountability trail for Art. 5 (2) DSGVO.

Result: for every processed file you can show what was wrong, what was changed, who made the AI descriptions, and that an independent validator agrees — turning "trust us" into evidence.
10

EU AI Act — AI transparency

Mandatory disclosure — in the report and in every PDF
✓ Article 50 transparency — built in Travels with the file

🧾In the report — "EU-AI Rules"

✓Which models ran — local qwen2.5:7b + llama3.2-vision on-device, or an external service only on explicit opt-in.
✓AI-changed text & alt-text, itemised before → after — every title, link, heading and image description the AI produced.
✓Honest scope — states plainly when no AI was used, and that no image pixels are AI-altered.

🏷️In the PDF metadata (XMP)

✓Machine-readable disclosure embedded in every exported PDF — a dedicated aiUsage namespace: models, provider, counts, ImagePixelsAltered=false.
✓Human-readable line mirrored into dc:description — visible in Acrobat / Preview → Document Properties.
✓Conformance-safe — veraPDF ua1 stays compliant; the disclosure inherits into every variant.
aiUsage:AIUsedTextModelVisionModeldc:description
Only genuine AI output is disclosed — deterministic fixes (tagging, ToUnicode repair, contrast) are never claimed as AI. Now mandatory under the EU AI Act (Art. 50): every recipient can see exactly where, and by which model, AI contributed — from the report and from the file itself.
11
Why it wins

Technical rigor first —
business value follows.

Provably correct
Deterministic engine, independent PAC/veraPDF verification, fail-closed UA-2 — every claim is measured, never asserted.
Ready for the business
Fast & unattended, DSGVO-safe local processing, scheduled cloud sync, and an audit trail for every single file.
Making Every Document Accessible Local-first · PDF/UA · DSGVO · 2026