Decrypt formseal ciphertexts locally.
formseal-decrypt decrypts form submissions downloaded by formseal-fetch. Nothing is decrypted in transit or on the server — only the holder of the private key can read submissions.
formseal-decrypt is not a hosted service or dashboard. It is a CLI decryption utility.
Installation
Via pipx (recommended)
pipx install formseal-decrypt
Via pip
pip install formseal-decrypt
Quick start
fsd connect
fsd decrypt
fsd status
How it works
Browser (formseal-embed)
│
▼ (encrypted submissions)
Your server / endpoint
│
▼ (fsf fetch)
ciphertexts.jsonl ──► Your PC
│
▼ (fsd decrypt)
formseal.decrypted.jsonl (canonical JSONL ledger)
Your backend stores opaque ciphertext only. fsf fetch downloads it. fsd decrypt decrypts it offline with your private key.
Commands
| Command | Description |
|---|---|
fsd |
Show about / info |
fsd connect |
Configure source, destination, and private key |
fsd decrypt |
Decrypt ciphertexts |
fsd status |
Show configuration |
fsd disconnect |
Clear credentials |
fsd disconnect --wipe |
Clear everything including messages |
Run fsd --help for all options.
Output formats
fsd decrypt always writes formseal.decrypted.jsonl as the canonical JSONL ledger. Pass --format for additional exports:
- CSV — Spreadsheet-compatible
- JSONL — One JSON object per line (canonical)
- JSON — Pretty-printed JSON array
- Markdown — Table view
Security
Encryption happens in the browser. The backend stores ciphertext only. formseal-decrypt never sees plaintext it didn't decrypt itself.
Your private key never leaves your machine. formseal-decrypt:
- Stores credentials in your OS keychain (Windows Credential Manager / macOS Keychain / Linux Secret Service)
- Decrypts locally only
- Sends no telemetry, has no analytics
- Skips already-decrypted messages automatically
Documentation
Full documentation is in the docs directory.
⭐ Please star the repo if you find formseal-decrypt useful.
License
MIT
Metadata
Release files for formseal-decrypt 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| formseal_decrypt-0.6.0.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| formseal_decrypt-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.8 kB
Release files / formseal_decrypt-0.6.0.tar.gz
| Download URL | formseal_decrypt-0.6.0.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
34bcdb84512291daaa0a49d124fd41d0d0360a2916e48f99fddb17a425593738
|
|
BLAKE2b-256 checksum How to use checksums |
a5f048abc9bac75b9af1aa1ea1fb795a5f1312026d7884e2bc759d0569f7457e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 8, 2026.
Transparency logRelease files / formseal_decrypt-0.6.0-py3-none-any.whl
| Download URL | formseal_decrypt-0.6.0-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
daeaf53151d3b1c9c49f5355abd3fe441d1db7741aa6316832dc9e48a10cf38a
|
|
BLAKE2b-256 checksum How to use checksums |
b1bab0621838f2f61e3f32c15ae1539691f4093ef517d832fe24596eeca7ecae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 8, 2026.
Transparency log