Skip to main content

voiceledger

A hash-chained, signed event ledger with pluggable rules and a standalone verifier. One dependency (cryptography): an auditor can verify a ledger without installing the system that wrote it.

pip install voiceledger
voiceledger verify bundle.zip --trusted-key <hex> --rules rules.toml
PASS  1707 events
  PASS         chain: 1707 events linked
  PASS         identity_before_detail: 300 detail_disclosed events, all after identity_verified
  PASS         list_order: 14 snapshots followed in order (per slot_id)
  PASS         head: signed head matches
  • chain: each event's hash covers the event and the previous hash, so editing, inserting, deleting or reordering any event breaks every later link.
  • head: the last hash is signed with Ed25519; with the trusted key, the whole chain can't be regenerated and re-signed by anyone else.
  • rules: what the project declares, e.g. requires_before (no detail before identity, per call), follows_snapshot_order (offers in the customer's list order), always_followed_by, never. Custom rules subclass voiceledger.Rule.

A bundle is a zip with ledger.jsonl, list_snapshots.jsonl and head.json. Reading is defensive (size caps, known members only, JSON only). Exit code 0 when every check holds, 1 otherwise, 2 for unreadable input.

What it proves: the record wasn't changed after the head was signed, and the declared rules hold over it. What it doesn't: that the events were true. Reconcile against the system of record for that.

Part of voiceops; rules reference in its guide. MIT licence.

Metadata

Release files for voiceledger 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for voiceledger 0.1.6
File Size Uploaded
voiceledger-0.1.6.tar.gz 127.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for voiceledger 0.1.6
File Interpreter ABI Platform
voiceledger-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 143.6 kB

Release files / voiceledger-0.1.6.tar.gz

Download URL voiceledger-0.1.6.tar.gz
Size 127.5 kB
Tags Source
SHA-256 checksum
How to use checksums
777db7c1cd5a45488a35867a2e683a2758d614c0b676ad626bb7586deb89b5c2
BLAKE2b-256 checksum
How to use checksums
de9608cf61c2cca94e68d240ae3af2e5f580edef9669cc19f8c1fda5908aa9b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / voiceledger-0.1.6-py3-none-any.whl

Download URL voiceledger-0.1.6-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a05eefc0e65f1ebbebbac2ad8027b219a7621d365e1c22103fcf97aa7765d89
BLAKE2b-256 checksum
How to use checksums
5239ea9862cd4783b554b40b11f7552eaaa0b2bb4aeae5e203fb0423f0bb883a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.8

2 release files

0.1.7

2 release files

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page