Demo mode
The public demo mode lets anonymous visitors upload a document at /{language}/demo, try out PII detection and redaction, and download the result — without an account. It is disabled by default.
Configuration
Section titled “Configuration”The Demo mode page (/system/demo-mode) gathers every setting:

| Section | Content |
|---|---|
| Demo mode active | The main switch; when disabled, /demo returns a 404 error. |
| Session & limits | Session lifetime (minutes), maximum upload size (MB), maximum files per upload, maximum pages per document, maximum concurrent sessions, uploads per IP per hour, permitted file extensions. |
| Captcha (anti-bot) | The provider (no captcha / Turnstile / hCaptcha), the site key (public) and the secret key (stored encrypted; leaving it empty keeps the stored value). |
| Export options for demo users | Minimal (only “Download redacted PDF”), Reduced (format selection plus OCR) or Full (all export options). |
| Notice on the upload page | Free text above the upload field, a data protection notice for instance. |
| Watermark (on the exported PDF) | The position (off/left/right/top/bottom) and the text; stamped on every page of the exported PDF. |
| Available / preselected PII detectors | Which detection detectors demo users see and which are preselected for them; enforced on the server. |
| Engine tuning phase | An option to retain demo uploads after the session expires, in order to improve detection — enable it only with an adjusted data protection notice (the page warns accordingly). |
| Tracking (Google Analytics) | A switch plus the measurement ID (G-…); only effective when both are set. |
Save applies everything at once; Reset discards the form changes.
Monitoring demo sessions
Section titled “Monitoring demo sessions”The Demo sessions page (/system/demo-sessions) shows statistics tiles (page views, upload attempts, visitors, sessions, exported, problems, active, among others) and the session list with filters by status and activity, plus the “Live”/“Pause” switch (auto-refresh every 5 seconds).

The status legend:
| Symbol | Meaning |
|---|---|
| 🟢 | Exported successfully |
| 🟡 | Viewed in the viewer, no export |
| 🔴 | Problems during upload or conversion |
| ⚪ | No activity recorded |
For each session you see the start time, IP, files, conversion errors, viewer, PII, redaction and export activity, and the duration, plus an expandable timeline with a document table. The row actions: “Open in the demo viewer”, “Download inspection bundle” (the original, the OCR result, the dictionary, manual redactions — for analysing detection problems) and “Delete this session”; above them, “Delete selection (n)” and “Delete all” (with an explicit safety prompt — this also deletes the uploaded files irreversibly).
Expired sessions are cleared automatically by the background service every 5 minutes (unless retention for engine tuning is enabled). All of the telemetry stays in the local system database — no data flows to external services.
