# papra-hq/papra

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/papra-hq-papra).**

3,838 stars · 177 forks · TypeScript · agpl-3.0

## Links

- GitHub: https://github.com/papra-hq/papra
- Homepage: https://demo.papra.app
- awesome-repositories: https://awesome-repositories.com/repository/papra-hq-papra.md

## Topics

`app` `archive` `document` `documents` `self-hosted`

## Description

Papra is a self-hosted document management system designed for digital archiving, organization, and retrieval. It serves as a centralized platform for storing files with a focus on security, providing an encrypted file archive using AES-256-GCM and a programmatic interface for managing documents and metadata via a REST API, SDK, and command line tools.

The system distinguishes itself through an automated document ingestion engine that imports files via email forwarding, monitored folders, and webhook listeners. It further enhances discoverability by acting as an OCR document indexer, extracting text from images and scanned documents to enable full-text search across all archived content.

The platform covers a broad range of capabilities, including identity management via OAuth2, role-based organizational partitioning for collaborative spaces, and content-based deduplication. It supports diverse storage backends and provides tools for encryption key rotation and metadata filtering.

The software is delivered as a containerized deployment, allowing for installation and orchestration via Docker.

## Tags

### Business & Productivity Software

- [Self-Hosted Document Management Systems](https://awesome-repositories.com/f/business-productivity-software/self-hosted-document-management-systems.md) — Serves as a private, self-hosted platform for securely managing and sharing files across organizational groups.
- [Team File Spaces](https://awesome-repositories.com/f/business-productivity-software/team-collaboration-management/team-file-spaces.md) — Provides role-based shared file spaces to allow collaborative document management within distinct organizations. ([source](https://docs.papra.app/))
- [Custom Document Properties](https://awesome-repositories.com/f/business-productivity-software/custom-document-properties.md) — Allows the definition of user-specified metadata fields to organize and filter archived documents. ([source](https://docs.papra.app/resources/api-endpoints/))
- [Folder-Based Auto-Imports](https://awesome-repositories.com/f/business-productivity-software/folder-based-auto-imports.md) — Automatically scans designated directories for new files and imports them into the archive. ([source](https://docs.papra.app/guides/setup-ingestion-folder/))
- [Programmatic Archive Managers](https://awesome-repositories.com/f/business-productivity-software/programmatic-archive-managers.md) — Provides API and CLI interfaces for managing archival workflows and document tagging. ([source](https://docs.papra.app/resources/api-endpoints/))

### Content Management & Publishing

- [Centralized Document Archives](https://awesome-repositories.com/f/content-management-publishing/centralized-document-archives.md) — Provides a centralized platform for storing and organizing files to ensure secure long-term retrieval. ([source](https://cdn.jsdelivr.net/gh/papra-hq/papra@main/README.md))
- [Programmatic File Management Interfaces](https://awesome-repositories.com/f/content-management-publishing/media-management/file-management-systems/automated-file-organizers/programmatic-file-management-interfaces.md) — Provides a programmatic interface for managing file uploads, retrievals, metadata updates, and deletions. ([source](https://docs.papra.app/resources/api-endpoints/))

### Data & Databases

- [OCR-Based Indexing](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/search-engines/full-text/ocr-based-indexing.md) — Indexes document contents using OCR and text extraction to enable high-precision full-text search.
- [Automated Document Ingestion](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-extraction-ingestion/document-processing-tools/automated-document-ingestion.md) — Provides an automated engine for importing files via email forwarding, monitored folders, and webhooks. ([source](https://docs.papra.app/))
- [Digital Archives](https://awesome-repositories.com/f/data-databases/digital-archives.md) — Provides a centralized system for the long-term storage and retrieval of digital assets using metadata and tags.
- [Full Text Search](https://awesome-repositories.com/f/data-databases/full-text-search.md) — Implements full-text search and indexing to make archived documents and scanned images searchable.
- [Storage Deduplication](https://awesome-repositories.com/f/data-databases/block-storage/storage-deduplication.md) — Reduces storage requirements by using content hashing to store only one physical copy of duplicate files. ([source](https://docs.papra.app/architecture/document-deduplication/))
- [Content-Based Deduplication](https://awesome-repositories.com/f/data-databases/content-based-deduplication.md) — Reduces storage waste by detecting identical files via content hashing and storing only one copy.
- [Optical Character Recognition Indexers](https://awesome-repositories.com/f/data-databases/full-text-search/text-content-indexing/optical-character-recognition-indexers.md) — Extracts text from scanned documents and images via OCR to make visual content searchable. ([source](https://docs.papra.app/self-hosting/configuration/))
- [Metadata Filtering](https://awesome-repositories.com/f/data-databases/metadata-filtering.md) — Allows users to narrow search results using structured metadata such as tags, names, and dates. ([source](https://docs.papra.app/guides/advanced-search/))
- [Original Content Retrievers](https://awesome-repositories.com/f/data-databases/original-content-retrievers.md) — Preserves original uploaded files unchanged to ensure the exact submitted version can always be retrieved. ([source](https://docs.papra.app/architecture/no-mutation-principle/))
- [Configurable Storage Backends](https://awesome-repositories.com/f/data-databases/storage-abstraction/file-storage-services/configurable-storage-backends.md) — Supports diverse storage backends, including local filesystems, cloud object storage, and in-memory storage. ([source](https://docs.papra.app/self-hosting/configuration/))

### Graphics & Multimedia

- [Self-Hosted Archiving Systems](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/graphics-media-assets/media-assets/video-content/video-hosting-platforms/self-hosted-archiving-systems.md) — Functions as a self-hosted archiving system for organizing and retrieving files using full-text search and custom metadata.

### Security & Cryptography

- [API Access Security](https://awesome-repositories.com/f/security-cryptography/api-access-security.md) — Secures programmatic access via bearer tokens and granular permission scopes. ([source](https://docs.papra.app/resources/api-endpoints/))
- [Encrypted Archiving Tools](https://awesome-repositories.com/f/security-cryptography/encrypted-archiving-tools.md) — Secures archived documents at rest using AES-256-GCM encryption for a high-security digital archive.
- [User Role Management](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/user-management/user-role-management.md) — Manages user registrations, organization memberships, and the assignment of administrative roles. ([source](https://docs.papra.app/guides/roles-administration/))
- [Transit and At-Rest Encryption](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/transit-and-at-rest-encryption.md) — Secures stored data using encryption keys to prevent unauthorized reading of the database at rest. ([source](https://docs.papra.app/self-hosting/configuration/))
- [Storage Encryption](https://awesome-repositories.com/f/security-cryptography/storage-encryption.md) — Protects archived files at rest using AES-256-GCM storage layer encryption.
- [Access Authentication](https://awesome-repositories.com/f/security-cryptography/user-access-management/access-authentication.md) — Restricts access to sensitive archived documents by requiring user registration and authentication. ([source](https://docs.papra.app))
- [User Identity Management](https://awesome-repositories.com/f/security-cryptography/user-identity-management.md) — Manages the user identity lifecycle, including registration, password resets, and email verification. ([source](https://docs.papra.app/self-hosting/configuration/))
- [Encryption Key Management](https://awesome-repositories.com/f/security-cryptography/encryption-key-management.md) — Supports the rotation of encryption keys to replace active versions while maintaining access to older files. ([source](https://docs.papra.app/guides/document-encryption/))
- [Encryption Migrations](https://awesome-repositories.com/f/security-cryptography/encryption-tools/encryption-migrations.md) — Provides an automated maintenance process to convert unencrypted files into an encrypted format. ([source](https://docs.papra.app/guides/document-encryption/))
- [External Resource Sharing](https://awesome-repositories.com/f/security-cryptography/external-resource-sharing.md) — Implements password-protected and time-limited links to share archived documents with external users. ([source](https://cdn.jsdelivr.net/gh/papra-hq/papra@main/README.md))
- [Role-Based Access Controls](https://awesome-repositories.com/f/security-cryptography/multi-tenant-isolation/role-based-access-controls.md) — Isolates documents and configurations into distinct organizational entities using role-based access controls.
- [External Provider Integrations](https://awesome-repositories.com/f/security-cryptography/social-login-providers/external-provider-integrations.md) — Integrates external identity providers using OAuth2 authorization flows to manage user logins. ([source](https://docs.papra.app/guides/setup-custom-oauth2-providers/))

### Software Engineering & Architecture

- [Programmatic Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/programmatic-interfaces.md) — Exposes standardized programmatic interfaces, including SDKs and CLIs, for external application integration. ([source](https://docs.papra.app/))
- [Custom Metadata Extensions](https://awesome-repositories.com/f/software-engineering-architecture/schema-metadata-utilities/schema-metadata-definitions/custom-metadata-extensions.md) — Allows defining custom metadata fields per organization to categorize and filter archived files. ([source](https://cdn.jsdelivr.net/gh/papra-hq/papra@main/README.md))
- [Storage Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/storage-abstractions.md) — Decouples application logic from the physical storage layer using a driver model for local or cloud backends.

### Part of an Awesome List

- [OCR Document Parsers](https://awesome-repositories.com/f/awesome-lists/data/document-parsing-and-extraction/ocr-document-parsers.md) — Uses optical character recognition to extract text from images and scanned documents for indexing.
- [Email-Based Ingestion](https://awesome-repositories.com/f/awesome-lists/media/email-and-messaging/email-based-ingestion.md) — Implements automated document import by receiving and processing forwarded email messages. ([source](https://docs.papra.app/guides/intake-emails-with-cloudflare-email-workers/))

### DevOps & Infrastructure

- [Instance Configuration](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/command-line-configuration-interfaces/instance-configuration.md) — Provides configuration files to define server behavior and manage authentication secrets for the instance. ([source](https://docs.papra.app/self-hosting/from-source/))
- [Organizational Entity Management](https://awesome-repositories.com/f/devops-infrastructure/organization-configuration-management/organizational-entity-management.md) — Enables the programmatic creation and management of organizational entities to partition documents. ([source](https://docs.papra.app/resources/api-endpoints/))

### Networking & Communication

- [Document Management APIs](https://awesome-repositories.com/f/networking-communication/document-management-apis.md) — Provides a RESTful interface for the programmatic management of documents, organizational entities, and metadata.
- [Automatic Tagging](https://awesome-repositories.com/f/networking-communication/incoming-email-processors/automatic-tagging.md) — Automatically assigns labels to documents based on predefined matching conditions and filters. ([source](https://docs.papra.app/resources/api-endpoints/))

### System Administration & Monitoring

- [CLI System Management](https://awesome-repositories.com/f/system-administration-monitoring/cli-system-management.md) — Implements a command line interface for executing document management and administrative tasks. ([source](https://docs.papra.app))
