Skip to main content

vox-trust (Python)

Seal real voices, verify them anywhere. Python bindings for the Vox Trust protocol, built from the Rust reference implementation.

A speaker seals a WAV file with their own key; anyone who pinned that key verifies it and sees which seconds changed if it was edited. HMAC-SHA-256 (circle mode) or Ed25519 (public mode).

Pre-1.0, not audited. The seal travels in the file, so it survives bit-exact copies but not re-encoding into a voice message or a phone call.

pip install vox-trust
import os, time
import vox_trust as vt

seed = os.urandom(32)                 # keep secret; share the public key
public_key = vt.public_key(seed)

wav = open("note.wav", "rb").read()   # 16-bit PCM WAV
sealed = vt.seal_wav(wav, vt.SealMode.PUBLIC, seed, 0, int(time.time()), 0, 16000)

report = vt.verify_wav(sealed, vt.Trust(pinned_public_key=public_key))
verdict = vt.decide(report.check, vt.Contact(always_seals=True, strict=False))
print(verdict, report.modified_chunks)  # Verdict.VERIFIED []

seal_wav(wav, mode, key, key_id, created_unix, counter, chunk_frames): chunk_frames is the unit of tamper localization (the sample rate gives one-second chunks); key_id is used in circle mode (vt.circle_key_id(key)). decide(check, None) when the speaker is not a known contact. Errors raise vt.VoxTrustError.

Verdict Meaning
VERIFIED Valid seal from a key you trust
UNSEALED No seal you can check, from someone who never seals: neutral, never "fake"
WARNING No seal from a contact who always seals
ALERT Broken seal, a different key for a pinned contact, or a missing seal in strict mode

Integration guide · Specification · Threat model

Licensed under Apache-2.0.

Metadata

Release files for vox-trust 0.6.0

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

Built distributions (wheels)

Table of built distributions (wheels) for vox-trust 0.6.0
File
vox_trust-0.6.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
vox_trust-0.6.0-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
vox_trust-0.6.0-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
vox_trust-0.6.0-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl Python 3 none macOS 11.0+ ARM64, macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64) Details

Total release size: 1.1 MB

Release files / vox_trust-0.6.0-py3-none-win_amd64.whl

Download URL vox_trust-0.6.0-py3-none-win_amd64.whl
Size 162.7 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
0300248513cb739a54c40e4fc1b42a102b026052c2a92dcfaebb7e377bac1611
BLAKE2b-256 checksum
How to use checksums
7e75ce7825c4d0d22be5e4ae17a2bcad5ede0c7ba88d6eac18af629c762b3185
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / vox_trust-0.6.0-py3-none-manylinux_2_28_x86_64.whl

Download URL vox_trust-0.6.0-py3-none-manylinux_2_28_x86_64.whl
Size 263.9 kB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
5a9243abfa5de045b84a6e8810d63653a3320a4d2d1d5a3b18fb17eefcc88512
BLAKE2b-256 checksum
How to use checksums
0318435c12c0bb939026e21143a2efcda33732383fe6efe95952f889073265a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / vox_trust-0.6.0-py3-none-manylinux_2_28_aarch64.whl

Download URL vox_trust-0.6.0-py3-none-manylinux_2_28_aarch64.whl
Size 253.7 kB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
24ed957c95c33069ca22f53f92317c9c4d5f93abd9ef9a26c37ec2f6fdbb33c0
BLAKE2b-256 checksum
How to use checksums
8e21ee236e121daa8693510a22197127ba7e5ee4ded06836c8b8466f9db9405a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / vox_trust-0.6.0-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL vox_trust-0.6.0-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 464.1 kB
Tags Python 3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3cb168425c7abc7872001cce6f8413fb8aa6b1dd511f0383f6dbd1bf7af79b39
BLAKE2b-256 checksum
How to use checksums
f27447c99022704dac72ece3a80942370f63cfaef7341ee2e25b5036810f75ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.6.0 This release

4 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