By George Curta · Last updated 2026-04-27
Anonymize in LibreOffice Writer, Calc & Impress
Open-source office suite, enterprise-grade privacy. Our native LibreOffice extension brings PII detection and anonymization to Writer, Calc, and Impress.
Works Across LibreOffice
One extension for Writer documents, Calc spreadsheets, and Impress presentations. Full sidebar integration with format preservation.
LibreOffice Writer
Documents, contracts, reports — with full format preservation
LibreOffice Calc
Spreadsheets, data tables — cell-based processing
LibreOffice Impress
Presentations, slides — text object extraction
Key Benefits
Work In-Place
No copy-paste needed. Anonymize directly in LibreOffice via the integrated sidebar panel.
Format Preservation
Writer documents retain all formatting — bold, italic, fonts, colors, paragraph styles. Only text content changes.
Secure Processing
Documents stay on your machine. Only text is sent to our encrypted API for entity detection and anonymization.
Zero-Knowledge Login
Your password never leaves your device. Optional ZK authentication with XChaCha20-Poly1305 encryption.
Learn about Zero-Knowledge SecurityCore Features
PII Detection
- Detect 285+ entity types (names, emails, SSN, IBAN, credit cards, etc.)
- Hybrid detection: regex patterns + NLP for maximum accuracy
- Multi-language support (48 languages including RTL)
- Custom entity recognition with regex or deny lists
Anonymization Methods
- 5 methods: Replace, Mask, Redact, Hash (SHA-256), Encrypt (AES-256-GCM)
- Reversible encryption with ZK-wrapped personal keys
- Per-entity operator configuration (different methods per entity type)
- Chunked processing (8,000 char chunks) for large documents
Advanced Features
Preview Dialog
Review up to 50 detected entities before anonymizing. Select, deselect, or change methods per entity before committing.
Presets
Save and reuse anonymization settings. Presets sync across devices including entity types, methods, and score thresholds.
Reversible Encryption
Encrypt PII with AES-256-GCM and decrypt later. ZK-wrapped keys auto-load from your account with session persistence.
Per-Entity Operators
Configure different anonymization methods for each entity type. Hash names, encrypt emails, mask phone numbers — all in one pass.
Cross-Device Sync
Presets, custom entities, and encryption keys sync across all your devices every 5 minutes via your account.
48 Languages
Full multi-language support including Arabic, Hebrew, Chinese, Japanese, and Korean. RTL languages fully supported.
Document Support
Writer
Full text extraction, selection-based processing, and format preservation (7 font + 4 paragraph properties).
Calc
Cell-based processing with tab-separated text extraction. Process entire sheets or selected ranges.
Impress
Slide text object processing. Extract and anonymize text from all shapes and text boxes across slides.
System Requirements
Works on Windows, macOS, and Linux with LibreOffice 3.0 or later.
Supported Platforms
- • LibreOffice Writer 3.0+ (Windows, macOS, Linux)
- • LibreOffice Calc 3.0+ (Windows, macOS, Linux)
- • LibreOffice Impress 3.0+ (Windows, macOS, Linux)
What You Need
- • Python 3.10+ (bundled with LibreOffice on most platforms)
- • anonym.legal account (free or paid)
- • Internet connection for API access
- • PyNaCl (optional, for ZK authentication and Encrypt method)
Frequently Asked Questions
Which LibreOffice applications are supported?
Writer, Calc, and Impress. Writer has full feature support including format preservation. Calc processes cells as tab-separated text. Impress extracts text from slide objects.
How do I install the extension?
Download the .oxt file and either double-click it, or go to Tools > Extension Manager > Add in LibreOffice. Alternatively, run python3 build.py --install from the source directory.
Does it preserve document formatting?
Yes, in Writer documents. The extension preserves 7 font properties (bold, italic, underline, strikethrough, font name, size, color) and 4 paragraph properties (alignment, first-line indent, left margin, right margin).
What is Zero-Knowledge authentication?
ZK auth means your password never leaves your device. Instead, a cryptographic proof is sent to our server using XChaCha20-Poly1305 encryption with Argon2id key derivation. Optional — standard email/password login also available.
Can I use it offline?
No. The extension requires an internet connection to communicate with the anonym.legal API for entity detection and anonymization. For offline use, see anonym.plus.
From the Blog
View all articlesMixed Format E-Discovery: Compliance Gap
E-discovery productions and GDPR DSARs span PDFs, Word docs, Excel, and JSON exports. Using different tools for each format creates consistency gaps that.
The PDF Redaction Trap: Data Exposed
The DOJ Epstein files, the Manafort case, and NSA leaks all share the same failure: cosmetic redaction that leaves underlying text extractable.
Legal PII: Privilege Detection
Case reference numbers, bar admission numbers, court docket numbers, and client matter IDs are legally sensitive identifiers that standard PII tools miss.
Get Started with LibreOffice Extension
Free for all plans. Install the .oxt extension in under a minute.
About this page
We update this page when our platform or the law changes.
Read our founder note for how we work.
Each change shows up in the timestamp at the top.
Related reading
- Common questions
- Glossary
- How tokens work
- Security posture
- Where we comply
- What we detect
- Case studies
- Release notes
We follow these rules
- GDPR (EU 2016/679).
- ISO/IEC 27001:2022.
- NIS2 (EU 2022/2555).
- HIPAA safe harbor under 45 CFR § 164.514(b)(2).
Our promise
We do not sell your data.
We do not train models on your text.
We store your files in Germany.
You can delete your account at any time.
You own your work.
Where we run
Our servers live in Falkenstein, Germany.
We use Hetzner. They hold ISO 27001 certification.
All data stays in the EU.
Backups run every day.
Need help?
Email support@anonym.legal.
We reply within one business day.
How we test
We run a full check suite on every release.
Each surface gets its own sweep script and report.
Human reviewers spot-check the output each week.
We track recall and precision on a labelled set.
Bad runs block the deploy.
What we never do
- We never sell your information to third parties.
- We never train models on what you upload.
- We never keep your work after you delete it.
- We never share keys with any outside firm.
- We never run ads inside the product.
Plans in plain words
We sell credits, not seats.
One credit covers one short job.
Long jobs use a few credits each.
You can top up at any time.
Unused credits roll over each month.
Read the plans page for current rates.
Who built this
A small team of engineers and lawyers built this.
We ship from Europe and work in the open.
Our founder note spells out why we started.
Where to start
- Open the web app and try a sample file.
- Learn how credits get counted.
- See current plans and limits.
- Meet the team behind the product.
How the parts fit
A browser add-on cleans text inside Chrome.
A Word plug-in handles drafts in Office.
A small desktop tool works on whole folders.
An agent protocol link feeds large models safely.
All four share one core engine and one rule set.
Words from our team
We started this work after a lunch about cookies.
One friend kept getting odd ads on her phone.
We asked why a court file leaked through a draft.
We sketched the first build on a napkin that week.
By month three we had a tiny demo for a friend.
She used it on her first case the next day.
Common questions we hear
Can the tool read scanned PDFs? Yes, with OCR.
Does it work on long files? Yes, in small chunks.
Can I roll my own rule set? Yes, save it as a preset.
Does it run offline? The desktop build runs offline.
Do you keep my files? No, the cloud build wipes after each run.
Will it learn from my work? No, we never train on inputs.
A short tour of the workflow
Upload a file or paste a snippet of prose.
Pick the entities you want gone from the draft.
Choose a method: replace, mask, hash, encrypt, or redact.
Press run and watch the side panel show each hit.
Skim the result and tweak any rule that misfired.
Save the cleaned file or send it to a teammate.