Papra

Papra

WHAT IS IT?

Papra is an open source document management and archiving platform built for long-term storage: invoices, warranties, contracts, letters. The idea is to drop a document in, forget about it, and find it through search the day you need it. Papra self-hosts with a single docker run command, and a hosted version is also available on papra.app. A backend-free demo that keeps everything in browser storage runs at demo.papra.app.

WHY IS IT INTERESTING?

  • Several ways to import: upload from the web UI, forward emails to a generated address (through OwlRelay or a Cloudflare Email Worker), or drop files into a watched folder on the server. The watched folder waits for a file's size to stop changing before importing it, so a scan that is still being written does not get picked up half-done.
  • Content extraction and search: text from PDFs and images is extracted by the in-house @papra/lecture library (built on Tesseract), or by Mistral OCR, Docling, Azure Document Intelligence or a custom HTTP endpoint. Full-text search covers names and content, and combines with filters (tag:invoices), logical operators and grouping.
  • Automatic tagging: tagging rules apply tags when a document's name or content matches a condition, and can be re-run on existing documents. Since version 26.6.0, an LLM can also pick tags from the extracted content. OpenAI, Anthropic, Mistral, OpenRouter, Ollama and any OpenAI-compatible API are supported. AI features are off by default.
  • Storage and encryption: files go to local disk, an S3 bucket or Azure Blob Storage. AES-256-GCM encryption is optional: each document gets its own key, which is itself encrypted by a master key that supports rotation. Duplicates are detected by SHA-256 hash within an organization.
  • Sharing and collaboration: documents live in organizations with owner and member roles, custom properties, and public share links that can carry a password and an expiration date.
  • Open to integrations: API, SDK, webhooks and a CLI (papra documents import) to automate imports from a script. The Docker image comes in a rootless variant and runs on x86_64, arm64 and arm/v7.

USE CASES

  • Keep a household's paperwork (invoices, warranties, tax notices) in one organization shared with the family.
  • Forward invoices received by email to the intake address so they land already tagged.
  • Point a network scanner at the watched folder to digitize paper mail and make it searchable through OCR.
  • Archive a small company's documents in an encrypted S3 bucket, with expiring share links for the accountant.
  • Import documents generated by another application through the CLI or API, then trigger downstream processing with webhooks.