See anonymization outcomes before connecting real data.
This page provides a trustworthy demo experience even without a backend. All examples are synthetic and run locally in your browser.
Short videos that explain the workflow
Enterprise-friendly walkthroughs: what Free includes, what Pro unlocks, and how key features behave.
True, irreversible redaction for native text PDFs. Sensitive text is removed — not just visually masked — so documents can be shared with confidence in compliance-ready workflows.
Note: OCR/scanned PDFs are not supported in this phase. A dedicated demo video will be added soon.
Run anonymization without a license key using built-in and user rules.
Preview mode, parallel processing, and advanced rule actions for large workflows.
See exactly what changes before exporting results (Pro).
Identify likely sensitive tokens and generate suggested rules (Pro).
Automate anonymization in scripts and restricted environments.
Interactive demo (placeholder)
Type or paste synthetic text and see the anonymized output instantly.
Runs locally in your browser on synthetic data. No uploads, no backend.
[2026-03-22 09:12:01,554] INFO request_id=<UUID> user=<USER> ip=<IP> email=<EMAIL> Authorization: Bearer <TOKEN>...
Safe note: this demo uses a simplified transformation to illustrate outcomes. Use the product for real data anonymization.
Rules v2: built-in actions (examples)
More than simple replacement: demonstrate masking, redaction, deterministic hashing, date shifting, and bucketing — all on synthetic examples.
Replace matches with a fixed value (simple and predictable).
{"action":{"type":"replacement","value":"<REDACTED>"}}user=bob email=bob@acme.com
user=<REDACTED> email=<REDACTED>
Delete the matched content to minimize residual leakage.
{"action":{"type":"redaction"}}Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Authorization: Bearer
Mask while keeping part of the value for debugging (e.g., last 4).
{"action":{"type":"mask","maskChar":"*","keepLast":4}}card=4242-4242-4242-4242
card=****************4242
Replace values with deterministic hashes to preserve joinability without revealing originals.
{"action":{"type":"secure_hash","algorithm":"sha256","length":12,"prefix":"h:"}}user_id=550e8400-e29b-41d4-a716-446655440000
user_id=h:7b1f7c1b5a2e
Shift dates by a deterministic number of days to keep seasonality without leaking exact dates.
{"action":{"type":"date_shift","formats":["%Y-%m-%d"],"maxShiftDays":30}}incident_date=2026-03-22
incident_date=2026-04-04
Map numeric values into ranges to reduce sensitivity while keeping analytics-friendly signals.
{"action":{"type":"bucket","buckets":[{"min":0,"max":99,"label":"0-99"},{"min":100,"max":499,"label":"100-499"},{"min":500,"max":999999,"label":"500+"}],"fallbackLabel":"unknown"}}requests_per_minute=742
requests_per_minute=500+
All examples on this page are synthetic.
Safety note: All demo content on this page is synthetic and provided for illustration only.
Book a personalized demo
Get a guided walkthrough: rules, preview, profiling, and deployment options.
- • How rules and exclude patterns work for real bundles
- • Preview and profiling workflows (Pro)
- • Wheel vs Docker delivery, including restricted networks
This section is ready to connect to a real demo backend later (e.g., an API route that runs the product engine in a sandbox). For now, we keep it offline and synthetic.
POST /api/demo
{ "text": "...", "mode": "preview", "rules": {...} }
-> { "output": "...", "profiling": {...} }