Skip to main content

kaironull

Python SDK for the KairoNull Umbra Trust Protocol — capture AI decision events to a hash-chained, RFC3161-anchored evidence ledger, and verify records independently.

Install

pip install kaironull

Quickstart

from kaironull import KairoNull

client = KairoNull(api_key="utp_live_...")  # get a key at kaironull.com/get-access

result = client.record(
    pipeline_id="credit-decisioning",
    entry_type="flag",            # "pass" | "flag" | "block" | "escalate"
    stage_slug="risk-review",
    summary="Application flagged for manual review: DTI ratio 0.61 exceeds threshold",
    trust_score=0.42,
    model_version="risk-model-v3.2",
)

print(result.entry_hash)   # sha256 hex — share this with an auditor
print(result.chain_height) # position in your org's evidence chain

Verify a record (no API key needed)

from kaironull import KairoNull

client = KairoNull()  # public methods don't require a key
verified = client.verify("95be8bb5253668bb898da34631cc3c9e...")

if verified.found:
    print(verified.record["summary"])
    print("Anchored:", verified.anchor.anchored)

Anyone can verify a hash — auditors don't need credentials, an account, or access to your systems. This is also what powers the public widget at kaironull.com/#verify.

Check chain health

status = client.chain_status()
print(status.chain_height, status.healthy)

Same data backing kaironull.com/status.

Export an evidence bundle

bundle = client.export_report(from_="2026-06-01T00:00:00Z", to="2026-07-01T00:00:00Z")
# bundle["entries"], bundle["anchor"] — hand this to an auditor or regulator

Revoke your key

client.revoke_key(key_id="...")  # the key used to auth this call is what's revoked

Error handling

from kaironull import AuthenticationError, ValidationError, APIError

try:
    client.record(...)
except ValidationError as e:
    # bad input — fix the call
    ...
except AuthenticationError as e:
    # missing/invalid/revoked key
    ...
except APIError as e:
    # anything else — e.status_code has the HTTP status
    ...

Context manager

with KairoNull(api_key="...") as client:
    client.record(...)
# session closed automatically

Status

This SDK covers the full public API surface: record, verify, chain_status, export_report, revoke_key. It is a thin wrapper — every method maps directly to one REST call, so behaviour matches the quickstart examples exactly.

Metadata

Release files for kaironull 0.1.0

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

Source distribution (sdist)

Source distribution for kaironull 0.1.0
File Size Uploaded
kaironull-0.1.0.tar.gz 8.9 kB Details

Built distribution (wheel)

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

Total release size: 16.8 kB

Release files / kaironull-0.1.0.tar.gz

Download URL kaironull-0.1.0.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7ed2943673730d8605e03f49954c9b28c5ed1d6e5796a7d542b228ae9f316aa0
BLAKE2b-256 checksum
How to use checksums
e18dd7cc9f3ff0784abff24c513ee234f225758e803a222d1ebb6dd8858d9356
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release files / kaironull-0.1.0-py3-none-any.whl

Download URL kaironull-0.1.0-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd193e5329a18333f015b67e74675b331ca1b78e0e289b95de0540255f1d7eca
BLAKE2b-256 checksum
How to use checksums
834eaa7fd8e39bca4cf1c7f79f44a044678e05abe89ac056740b55759f50ac47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

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