certivu-python
Python SDK for Certivu — quantum-resistant trust infrastructure for AI-generated content.
Install
pip install certivu
Quick start
from certivu import CertivuClient
client = CertivuClient(
api_key="ctv_key_abc123",
generator_id="your-generator-uuid",
)
# Sign AI-generated content — images, audio, or text; format auto-detected
result = client.sign(content=image_bytes, model="stable-diffusion-xl")
# result.signed_content — bytes of the signed file (serve this, not the original)
# result.token — ctv_ provenance token
# result.format — 'image' | 'audio' | 'text'
# Sign audio or text explicitly
result = client.sign(content=pdf_bytes, model="gpt-4o", format="text")
# Verify — no API key needed, always free
result = client.verify(content=image_bytes)
if result.authentic and result.confidence == "high":
print(result.provenance.org, result.provenance.signed_at)
# Verify without re-uploading the image
status = client.get_token_status("ctv_7f3kx9mq2...")
# Batch verify
results = client.verify_batch([
{"content": image1_bytes},
{"content": image2_bytes, "token": "ctv_..."},
])
# Audit log
page = client.get_audit_log(page=1, limit=50)
Async
from certivu import AsyncCertivuClient
async with AsyncCertivuClient(api_key="ctv_key_abc123") as client:
result = await client.verify(content=image_bytes)
results = await client.verify_batch([{"content": img} for img in images])
Generator setup
-
Create a generator in the dashboard and select its supported formats (image, audio, text).
-
Copy the generator ID and your org API key.
-
Sign content — all cryptography (ML-DSA, watermarking, hashing) is handled server-side:
result = client.sign( content=file_bytes, model="stable-diffusion-xl", generator_id="gen_xyz", ) output_file.write(result.signed_content)
Confidence levels
| Confidence | Meaning |
|---|---|
high |
Watermark ✓ + Record ✓ + Signature ✓ — full chain intact |
medium |
Record ✓ + Signature ✓ — re-uploaded without watermark |
low |
Partial signals — something is off |
none |
Not signed by Certivu — no claim either way |
Links
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
certivu-2.4.0.tar.gz
(12.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
certivu-2.4.0-py3-none-any.whl
(10.6 kB
view details)
File details
Details for the file certivu-2.4.0.tar.gz.
File metadata
- Download URL: certivu-2.4.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b81d3049ea71927768b6dc074f2a8fc78ed9aa4177c7cad59f71fa64328dc308
|
|
| MD5 |
218d91a298b04e39f4f4375b31c309d4
|
|
| BLAKE2b-256 |
7b88861edb9bd9806afe85676bcff4605abb314daa7823dc5ac2a7f79719cd0f
|
File details
Details for the file certivu-2.4.0-py3-none-any.whl.
File metadata
- Download URL: certivu-2.4.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
590a04927e9bf0c3d831bb900dc3def0aab92171863bfe9b98a0bf0bd6ade534
|
|
| MD5 |
f6a73aa352aae8beb620bb93579df2fd
|
|
| BLAKE2b-256 |
f2ddd1eaf1df7919ed17985061ec617113e017f546db38670689c0c3d2fc6408
|