Skip to main content

Python SDK for the KairoNull Umbra Trust Protocol — AI decision evidence capture and verification

Project description

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

Links

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kaironull-0.1.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kaironull-0.1.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file kaironull-0.1.0.tar.gz.

File metadata

  • Download URL: kaironull-0.1.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kaironull-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7ed2943673730d8605e03f49954c9b28c5ed1d6e5796a7d542b228ae9f316aa0
MD5 1761de3c7a4f3069f76993d53224a829
BLAKE2b-256 e18dd7cc9f3ff0784abff24c513ee234f225758e803a222d1ebb6dd8858d9356

See more details on using hashes here.

Provenance

The following attestation bundles were made for kaironull-0.1.0.tar.gz:

Publisher: publish-sdk.yml on BlackFlag-Digital/PropertyVR

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kaironull-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kaironull-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kaironull-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd193e5329a18333f015b67e74675b331ca1b78e0e289b95de0540255f1d7eca
MD5 58db3a86392a213c73b11858ccd624d3
BLAKE2b-256 834eaa7fd8e39bca4cf1c7f79f44a044678e05abe89ac056740b55759f50ac47

See more details on using hashes here.

Provenance

The following attestation bundles were made for kaironull-0.1.0-py3-none-any.whl:

Publisher: publish-sdk.yml on BlackFlag-Digital/PropertyVR

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page