How gamingforce466-collab/digisign-15 works
DigiSign is a web application for creating RSA-PSS digital signatures on supported documents and verifying their integrity and embedded QR metadata. The principal workflow is key creation, document upload and signing, format-specific QR/metadata embedding, then verification; users can add multiple signers. Flask and Streamlit provide interfaces, while a shared workflow coordinates crypto, document-format dispatch, QR generation, and persisted records. README also documents benchmarking/export, demo data, and storage cleanup. Streamlit wiring and several secondary services were not excerpted, so those connections are shown only where documented or indexed.
Main entry points: document_workflow.py Document workflow · __init__.py Format dispatcher · app.py Flask UI · streamlit_app.py Streamlit UI
Components 24
User interfaces
- Flask UI
app.py - Streamlit UI
streamlit_app.py
Signing workflow
- Document workflow
services/document_workflow.py - Signature records
storage/signatures - Document files
storage/documents
Cryptography
- Key files
storage/keys - RSA key management
crypto/keys.py - RSA-PSS signing
crypto/signer.py - Signature verification
crypto/verifier.py
Document formats
- Format dispatcher
formats/__init__.py - Document formats
document_formats.py - PDF handler
pdf/handler.py - DOCX handler
formats/docx/handler.py - Image handler
formats/image/handler.py - TXT handler
formats/txt/handler.py - XLSX handler
formats/xlsx/handler.py - Format utilities
formats/common.py - QR generation and decode
qr/generator.py
Operations
- Quantitative benchmark
crypto/benchmark.py - Excel report export
crypto/excel_exporter.py - Demo data
randomdata.py - Storage cleanup
services/maintenance.py - Demo scenarios
services/scenarios.py
Other components
- User
Connections 40
- User → Flask UI: uses
README.md - User → Streamlit UI: uses
README.md - Flask UI → Document workflow: creates workflow
app.py - Flask UI → RSA key management: manages keys
app.py - Flask UI → Quantitative benchmark: runs benchmark
app.py - Flask UI → Storage cleanup: clears storage
app.py - Flask UI → Demo data: gets demo data
app.py - Flask UI → Demo scenarios: uses scenarios
app.py - Streamlit UI → Document workflow: runs workflow
- Streamlit UI → RSA key management: manages keys
streamlit_app.py - Streamlit UI → Quantitative benchmark: uses benchmark
streamlit_app.py - Streamlit UI → Storage cleanup: clears storage
streamlit_app.py - Streamlit UI → Demo data: uses demo data
streamlit_app.py - Document workflow → Signature records: reads and writes
services/document_workflow.py - Document workflow → Document files: stores documents
services/document_workflow.py - Document workflow → RSA key management: loads keys
services/document_workflow.py - Document workflow → RSA-PSS signing: signs digest
services/document_workflow.py - Document workflow → Signature verification: verifies digest
services/document_workflow.py - Document workflow → Format dispatcher: validates and marks
services/document_workflow.py - Document workflow → QR generation and decode: creates QR payloads
services/document_workflow.py - RSA key management → Key files: reads and writes
crypto/keys.py - Format dispatcher → PDF handler: dispatches PDF
formats/__init__.py - Format dispatcher → DOCX handler: dispatches DOCX
formats/__init__.py - Format dispatcher → Image handler: dispatches images
formats/__init__.py - Format dispatcher → TXT handler: dispatches TXT
formats/__init__.py - Format dispatcher → XLSX handler: dispatches XLSX
formats/__init__.py - Format dispatcher → Format utilities: uses utilities
- PDF handler → QR generation and decode: decodes QR
formats/__init__.py - DOCX handler → Format utilities: uses utilities
formats/docx/handler.py - DOCX handler → QR generation and decode: decodes QR
formats/docx/handler.py - Image handler → Format utilities: uses utilities
formats/image/handler.py - Image handler → QR generation and decode: generates and decodes
formats/image/handler.py - TXT handler → QR generation and decode: decodes metadata
formats/txt/handler.py - XLSX handler → Format utilities: uses utilities
formats/xlsx/handler.py - XLSX handler → QR generation and decode: generates and decodes
formats/xlsx/handler.py - Quantitative benchmark → Excel report export: exports report
- Storage cleanup → Document files: clears files
- Storage cleanup → Signature records: clears records
- Storage cleanup → Key files: clears keys
- Document formats → Format dispatcher: format mapping
document_formats.py