Metadata-Version: 2.4
Name: crovia-tacet
Version: 0.4.1
Summary: Reference implementation of TACET: verifiable silence proofs for AI training disclosure (Crovia Trust)
Author-email: Crovia Trust <info@croviatrust.com>
License: Apache-2.0
Project-URL: Homepage, https://croviatrust.com
Project-URL: Specification, https://croviatrust.com/registry/tacet/spec/
Project-URL: Source, https://github.com/croviatrust/countersign/tree/main/tacet
Project-URL: Internet-Draft, https://datatracker.ietf.org/doc/draft-crovia-tacet/
Keywords: ai,transparency,eu-ai-act,merkle,non-inclusion,provenance,crovia,pnx,non-exfiltration,ai-agents,dlp
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Legal Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security :: Cryptography
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: cryptography>=41.0.0
Provides-Extra: seal
Requires-Dist: crovia-seal>=0.5.0; extra == "seal"
Provides-Extra: test
Requires-Dist: pytest>=7.0; extra == "test"

# crovia-tacet (reference implementation)

Reference Python implementation of [TACET](../../SPEC.md): sparse Merkle map,
epoch sheets, surface snapshots, delta-encoded silence proofs, and delivery as
an unmodified `crovia.seal.v1`.

Dependencies: `cryptography` (Ed25519). The Seal wrapper additionally needs the
Crovia Seal reference package (`crovia_seal`).

```bash
pip install -e .
python3 -m pytest
```

## PNX command line

`pip install crovia-tacet` also installs `tacet-pnx`, the Proof of
Non-Exfiltration tool (profile `crovia.pnx.v1`, see `../../PNX.md`):

```bash
tacet-pnx keygen  --id urn:example:pnx:witness --out witness.key.json
tacet-pnx witness egress/ logs/gateway.jsonl --run-id run-42 --key witness.key.json \
                  --sheet run.sheet.json --state run.state.json      # state is private
tacet-pnx prove   --state run.state.json --sheet run.sheet.json \
                  --asset api_key=secret.txt --assets-dir protected/ --asset-env OPENAI_API_KEY \
                  --out pnx.proof.json [--seal-key issuer.key.json]  # deliver as crovia.seal.v1
tacet-pnx verify  pnx.proof.json --asset api_key=secret.txt --assets-dir protected/
```

Exit codes: 0 valid and every asset absent · 1 valid but present, undetectable or
partial · 2 invalid. The GitHub Action `croviatrust/pnx-action` wraps the same
three steps for CI (`../../action/`).
