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.2.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.2-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: paperless_gost-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 da57cd5e8d1e08e47ee7b504fb4e4b151857c509d38350bd13ed72330533911c
MD5 d80de93609eb3b198f100797f71dc937
BLAKE2b-256 f8a8047c130d1e399a124e48246bc412ae0cf1f4067943aca6d52c1a8b0357b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for paperless_gost-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: paperless_gost-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d7a348a504fabf75d419c50f8c7be063f88e9677b7849766781ca84b3a09a7b3
MD5 5d268fcc9a13bb04ace599c2a8d08905
BLAKE2b-256 20ad743d5dd88c24e92d470f3ae40ae6e6da4946a5e7cb714f5ceb7899a2bf7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for paperless_gost-0.1.2-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

This release

0.1.2 This release

2 files

0.1.1

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