By George Curta · Last updated 2026-08-12
Troubleshooting & FAQ
Fix common anonym.legal Nextcloud problems: the SSRF host allowlist rejection, the new-version notice, and Basic-plan gating errors from the two apps.
Backend API URL rejected (SSRF allowlist)
The app refuses to save a backend API URL, or requests fail with a URL-not-allowed error.
Why this happens
Both apps validate the configured backend API URL against a runtime-validated host allowlist (UrlGuard) before making any request. This SSRF guard exists so a malicious or misconfigured URL can never make the app's Bearer token reach an attacker-controlled host. Only anonym.legal and anonymize.business (the DEV host) are allowed — every other host is rejected, by design.
How to fix
- 1.Use exactly https://anonym.legal (production) or https://anonymize.business (DEV) as the backend API URL.
- 2.Remove any trailing path, port, or typo from the URL — the allowlist matches the hostname exactly.
- 3.If you believe a legitimate host is being rejected, contact support — the allowlist is intentionally not user-editable.
"A new version is available" notice
The app's admin settings show a notice that a newer version exists.
Why this happens
Both apps periodically check for a newer version and show a plain admin notice with a link to the changelog when one is available. This is a manual-upgrade notice, not an automatic update — nothing installs itself on your Nextcloud instance.
How to fix
- 1.Follow the changelog link in the notice to review what changed.
- 2.Download the new app archive(s) from the GitHub releases page.
- 3.Extract into apps/ and run occ upgrade — the same manual install steps as the initial install — on your own schedule.
403 error: "Basic plan or higher"
API calls from the app fail with a 403 status and a message about requiring the Basic plan or higher.
Why this happens
Both Nextcloud apps require an anonym.legal account on the Basic plan or higher. The free plan does not include the API access these apps depend on, so the backend returns 403 with the message "Nextcloud integration requires Basic plan or higher. Please upgrade your plan." instead of a silent failure.
How to fix
- 1.Confirm which anonym.legal account the configured token belongs to.
- 2.Upgrade that account to the Basic plan or higher.
- 3.Retry the request — no reinstall or reconfiguration is needed once the account is upgraded.
Integration token can't read encryption keys — is that a bug?
A request that tries to fetch decrypted key material with the configured token is rejected.
Why this happens
No — this is intentional. The token these apps use is an integration-scoped token, deliberately more limited than a full-account API token: it can analyze and anonymize content, but every endpoint that would return decrypted key material 403s an integration-scoped token, so a compromised Nextcloud server can never be used to decrypt your reversible-encryption history.
What to do
- 1.This is expected behavior, not an error to fix — the apps never need decrypted key material for their analyze/anonymize/deanonymize workflow.
- 2.If a workflow genuinely needs full-account access, use a full-scope API token outside these apps, in a context you control.
Still Need Help?
If none of the above solutions work, reach out to us and we will help you resolve the issue.
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
We follow these rules
- GDPR (EU 2016/679).
- ISO/IEC 27001:2022, held by our hosting provider.
- 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 company HQ is in Saarbrücken, Germany. Our servers run in Hetzner's Falkenstein datacenter.
Hetzner holds 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
Automated checks run on every release.
Each surface gets its own sweep script and report.
Human reviewers spot-check the output each week.
We test detection against sample documents before each release.
A failing unit or integration run stops the release.
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.
Paid plans can buy top-up credits.
Credits reset at the end of each cycle.
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.