Skip to main content

paperless-gost

paperless-gost is a Paperless-ngx parser plugin for attached CMS/CAdES documents that use GOST algorithm identifiers and encapsulate a PDF.

Paperless discovers GOSTCMSParser through the paperless_ngx.parsers entry point. The original .p7m or .sig file remains the original document; its embedded PDF is supplied as the PDF rendition.

Note for humans

This plugin was fully vibe-coded by Codex using 5.6-terra (high effort) on 2026-08-24. No warranty for broken documents.

Docker Compose installation

This package is not published to a package index. Build a local wheel from this checkout and install that wheel in the Paperless container at startup. These steps assume the standard Paperless Docker Compose service is named webserver.

  1. Build the wheel:

    uv build
    
  2. Create custom-cont-init.d/10-install-paperless-gost.sh beside your docker-compose.yml with the following contents:

    #!/bin/sh
    set -eu
    
    set -- /opt/paperless-gost/paperless_gost-*.whl
    test "$#" -eq 1
    pip install --no-cache-dir --upgrade "$1"
    

    Make the script executable:

    chmod +x custom-cont-init.d/10-install-paperless-gost.sh
    
  3. Add these read-only volumes to the webserver service in docker-compose.yml:

    services:
      webserver:
        volumes:
          - ./dist:/opt/paperless-gost:ro
          - ./custom-cont-init.d:/custom-cont-init.d:ro
    
  4. Recreate the webserver and confirm that Paperless discovered the parser:

    docker compose up -d --force-recreate webserver
    docker compose logs --tail=200 webserver | grep -F "Loaded third-party parser 'GOST CMS/CAdES PDF Parser'"
    

    If the log line is absent, inspect the full webserver startup log and check that exactly one paperless_gost-*.whl file is present in dist/.

Supported input is detected from CMS ASN.1 content and GOST OIDs, rather than the filename. The plugin accepts attached CMS/CAdES payloads only when the encapsulated content is a PDF. Detached .sig/.p7s signatures are unsupported and attached non-PDF content fails with a clear parser error.

The plugin does not verify cryptographic signatures or otherwise check crypto validity. It does not provide a GOST crypto backend, trust-chain or revocation checks, timestamp validation, or any assertion that a signature is valid. When present, signing time, signer subject/issuer, and GOST/signature algorithm identifiers are exposed as unverified metadata.

License

Licensed under the GNU General Public License v3.0 or later.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paperless_gost-0.1.1.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paperless_gost-0.1.1-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file paperless_gost-0.1.1.tar.gz.

File metadata

  • Download URL: paperless_gost-0.1.1.tar.gz
  • Upload date:
  • Size: 18.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for paperless_gost-0.1.1.tar.gz
Algorithm Hash digest
SHA256 c0e35a28473981c4f11f25cdd573d78d7087cac6eb891888d1ed88f6f70bf0f5
MD5 b1fc534a7962e1837973a1d0db28f77d
BLAKE2b-256 171112a2b7582720cb0d780d2d1a9b7045ae2c4af268c6fedea84ee273303062

See more details on using hashes here.

Provenance

The following attestation bundles were made for paperless_gost-0.1.1.tar.gz:

Publisher: ci.yml on alekseik1/paperless-gost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file paperless_gost-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: paperless_gost-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for paperless_gost-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8ff3f275fbe388274ccbdca8d0384e28308d75e174c45f1a26c6ced4fb348202
MD5 14c3226cab7baade89545ed0471316eb
BLAKE2b-256 c8a1ff58a123e18699cb5fe6c27fc9798f184fd4060a3e0f38983adcd3706e86

See more details on using hashes here.

Provenance

The following attestation bundles were made for paperless_gost-0.1.1-py3-none-any.whl:

Publisher: ci.yml on alekseik1/paperless-gost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.2

2 files

This release

0.1.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page