Skip to main content

Zero Trust Security for AI Agents

Project description

Cerone — Governance and Zero Trust Runtime for AI Agents

Powered by AZTP (Agent Zero Trust Platform)

Cerone gives every AI agent a cryptographic identity, validates that its actions align with its declared purpose, and produces an auditable runtime trail across identity, validation, governance, and delegated token exchange.

Most teams deploying agents in production still have weak runtime control over what those agents actually do. Cerone is built to fix that.

Why developers try Cerone:

  • start immediately with hosted trial access from the SDK
  • add governance without replacing the rest of the agent stack
  • keep your own model-provider key and model spend
  • get explicit approved, flagged, or rejected runtime decisions
  • use a lean runtime trust layer instead of a heavy control-plane rewrite

Install

The current hosted SDK package name is cerone.

pip install cerone

If you are working from source, clone this repository and install it locally:

git clone https://github.com/AnantDhavale/cerone_sdk.git
cd cerone_sdk
pip install -e .

Access Modes

Cerone now has two usage paths:

  1. Hosted API trial

    • CeroneClient() can bootstrap an anonymous hosted trial token automatically
    • the current hosted trial is designed for evaluation and demo use
    • if the trial is exhausted, contact us for persistent access
  2. Python SDK usage

    • use CeroneClient() with no key for hosted trial bootstrap
    • use a provisioned key for persistent POCs or production environments

Hosted signup and support:

Hosted service terms:


Quick Start

import asyncio

from cerone import CeroneClient


async def main():
    client = CeroneClient(
        base_url="https://aztp-homer-semantics.onrender.com",
    )

    try:
        health = client.health_check()
        print(f"Health: {health}")

        certificate = client.create_agent(
            purpose="Customer billing support",
            capabilities=["db_read", "billing_api"],
        )

        print(f"Agent ID: {certificate.agent_id}")
        print(f"Trust score: {certificate.trust_score}")

        result = await client.validate_async(
            agent_id=certificate.agent_id,
            action="database_query",
            parameters={"table": "billing", "customer_id": "123"},
        )
        print(f"Validation result: {result}")

        trust_score = client.get_trust_score(certificate.agent_id)
        print(f"Trust score: {trust_score}")

        audit_log = client.get_audit_log(certificate.agent_id, limit=10)
        print(f"Audit log: {audit_log}")
    finally:
        await client.aclose()


asyncio.run(main())

What Cerone Validates

Check What it catches
Cryptographic identity Impersonation, spoofed agents
Semantic alignment Agents acting outside their declared purpose
Trust scoring Behavioural drift over time
Capability scope Agents calling tools they were never granted
Lineage integrity Unauthorized parent-child relationships

Bring Your Own Model Key

Cerone governs agent behaviour, not inference.

You keep your own OpenAI, Anthropic, or other provider key and pass it directly to your model calls. Cerone validates the agent action and records the governance trail, but it does not sit in the middle of your model billing path.

import asyncio
import openai

from cerone import CeroneClient


async def main():
    client = CeroneClient(
        base_url="https://aztp-homer-semantics.onrender.com",
    )
    openai_client = openai.AsyncOpenAI(api_key="sk-...")

    try:
        certificate = client.create_agent(
            purpose="Summarise support tickets",
            capabilities=["read_ticket", "write_summary"],
        )

        validation = await client.validate_async(
            agent_id=certificate.agent_id,
            action="write_summary",
            parameters={"ticket_id": "T-001"},
        )
        print(f"Validation result: {validation}")

        response = await openai_client.chat.completions.create(
            model="gpt-4o-mini",
            messages=[{"role": "user", "content": "Summarise ticket T-001"}],
        )
        print(response)
    finally:
        await client.aclose()


asyncio.run(main())

Validation Pattern

The current cerone SDK exposes validation through CeroneClient. Validate the intended action before running the local tool or model call you control.

from cerone import CeroneClient

client = CeroneClient(
    base_url="https://aztp-homer-semantics.onrender.com",
)

certificate = client.create_agent(
    purpose="Customer data analysis",
    capabilities=["db_read", "analytics"],
)

validation = client.validate(
    agent_id=certificate.agent_id,
    action="database_query",
    parameters={"customer_id": "123"},
)
print(f"Validation result: {validation}")

# Run your local tool after validation.
customer = {"customer_id": "123", "name": "Jane Doe"}
print(customer)

client.close()

Tiers

Trial Startup Pro Enterprise
Validations / 30-day window Hosted evaluation flow 50,000 500,000 Custom
Agents Limited 25 250 Custom
Audit retention Limited 30 days 90 days 365 days
Model access BYO BYO BYO now, managed later BYO or managed
Support Email Priority Dedicated
Commercial model Evaluation Contact us Contact us Contact us

Current commercial motion:

  • evaluate first
  • contact us for provisioned persistent SDK access

Architecture

Your Agent Code
      │
      ▼
  Cerone SDK  ──────────────────────────────────────────┐
      │                                                  │
      ▼                                                  ▼
AZTP Platform (aztp-homer-semantics.onrender.com)  Your LLM Provider
  ├─ Identity Manager
  ├─ Semantic Validator
  ├─ Trust Engine
  └─ Audit Logger

Integration Direction

Cerone is being shaped to govern:

  • agent frameworks
  • custom tool-calling runtimes
  • business workflows that need identity, validation, and audit

If you want a specific framework or business-system integration, contact us directly.


Usage and Quota

curl https://aztp-homer-semantics.onrender.com/usage \
  -H "X-API-Key: sk_startup_..."

This returns current usage, remaining quota, reset date, and tier feature flags.


Documentation


License

License

This SDK repository currently uses a proprietary commercial SDK license.

The SDK source license and the hosted Cerone service terms are separate:

Free trial and hosted commercial terms are subject to change.


Contact and Feedback

If you are using Cerone, feedback is genuinely useful. POCs and design partners are welcome.


Disclaimer

Cerone is provided for evaluation and operational governance support, but final deployment, enforcement choices, and production use remain your responsibility. Use the SDK and hosted service at your own discretion and risk. To the maximum extent permitted by law, Homer Semantics and Anant Dhavale are not liable for any direct, indirect, incidental, consequential, business, data, model, or security losses arising from use, misuse, non-use, or reliance on Cerone.

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

cerone-1.1.5.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

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

cerone-1.1.5-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file cerone-1.1.5.tar.gz.

File metadata

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

File hashes

Hashes for cerone-1.1.5.tar.gz
Algorithm Hash digest
SHA256 f9009ef7d55a7097d77ab28521767b40224218990080037dc77752a6122a3231
MD5 23126fe33220a6964c664bb9ff41c2e5
BLAKE2b-256 a9537edda576759c9744490c39c1a2cfa757dbff54fefde3d99a167472008099

See more details on using hashes here.

Provenance

The following attestation bundles were made for cerone-1.1.5.tar.gz:

Publisher: python-publish.yml on AnantDhavale/cerone_sdk

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

File details

Details for the file cerone-1.1.5-py3-none-any.whl.

File metadata

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

File hashes

Hashes for cerone-1.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 42b4f936298e489935c02866bc0d164b116c0ae81769eea997053489ee27d837
MD5 8471cbff20b1e817d509f2825853975e
BLAKE2b-256 a783cbd7ac333ae335cc1efae6ab2f413584cde92afcfc01878b39c12f4c464d

See more details on using hashes here.

Provenance

The following attestation bundles were made for cerone-1.1.5-py3-none-any.whl:

Publisher: python-publish.yml on AnantDhavale/cerone_sdk

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