Skip to content

Security

Defaults

Setting Default Why
READANYDOC_API_KEY unset: the server is open Fine on your laptop. Set it before the port is reachable by anyone else.
READANYDOC_BLOCK_PRIVATE_URLS on URL inputs that resolve to private or loopback addresses are refused, so callers cannot make the server fetch internal services
READANYDOC_ALLOW_LOCAL_PATHS off Server-side file paths as input are refused
READANYDOC_DOCUMENT_TIMEOUT_SECONDS 1800 No single document can tie up a worker forever
READANYDOC_MAX_UPLOAD_MB 100 Upload and download size limit

Keys and data

  • Provider keys are read from the environment and never written to logs, results or job records.
  • File links (/files/<id>?token=...) carry an unguessable per-file token, like a presigned URL.
  • Uploads expire after 24 hours and results after 12 by default; DELETE /job/{id} removes them at once.
  • Webhooks can be signed with READANYDOC_WEBHOOK_SECRET (verification).

Where documents go

To your machine, and to the model provider you configure, under your account and that provider's data terms. Nothing is sent to the ReadAnyDoc project. For documents that must not leave your network, use a self-hosted model through openai_compatible:<model>@<url>.

Reporting a vulnerability

Use GitHub's private "Report a vulnerability" on the repository. Please do not open a public issue.