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.


Install

The current PyPI package name is cerone.

pip install cerone

The SDK repository is cerone-sdk.

If you are working locally:

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

Get Your Free API Key

Self-serve signup. No waitlist and no approval step.

curl -X POST https://aztp-homer-semantics.onrender.com/signup \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "name": "Your Name"}'

You receive an sk_free_... key instantly. No password is required for SDK authentication.

Free tier currently includes:

  • 5,000 validations per 30-day window
  • free for the first 30 days from signup
  • bring your own OpenAI / Anthropic / other model-provider key
  • Cerone does not proxy or charge for model inference

Hosted signup and support:

Hosted service terms:


Quick Start

import asyncio
from cerone import CeroneClient

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

    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(
        api_url="https://aztp-homer-semantics.onrender.com",
        api_key="sk_free_...",
    )
    openai_client = openai.AsyncOpenAI(api_key="sk-...")  # your key, your spend

    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 PyPI 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(
    api_url="https://aztp-homer-semantics.onrender.com",
    api_key="sk_free_...",
)

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

Free Startup Pro Enterprise
Validations / 30-day window 5,000 50,000 500,000 Custom
Agents 5 25 250 Custom
Audit retention 7 days 30 days 90 days 365 days
Model access BYO only BYO only BYO now, managed later BYO or managed
Support Community Email Priority Dedicated
Price Free for first 30 days Contact / self-serve pricing Contact / self-serve pricing Contact us

If you want fixed public pricing in this README, update this table once the commercial page is final.


Architecture

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

Supported Frameworks and Integrations

Cerone currently ships adapters or normalization paths for:

  • CrewAI
  • Google ADK
  • Gemma
  • Salesforce
  • ServiceNow
  • Slack
  • Microsoft 365
  • Google Workspace
  • Jira

Usage and Quota

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

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


Documentation

Live API docs:


License

Current repository/package metadata is MIT.

The open-source repository license and the hosted Cerone service terms are separate:

  • repository/package code: MIT
  • hosted service usage: HOSTED_TERMS.md Free trial is subject to change. Use the software at your own risk.

Contact and Feedback

If you are using Cerone, feedback is genuinely useful. I am doing some additions/ changes, please do reach out if you face any issues. POCs and design partners welcome.

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.2.tar.gz (20.2 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.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cerone-1.1.2.tar.gz
  • Upload date:
  • Size: 20.2 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.2.tar.gz
Algorithm Hash digest
SHA256 ab0afd7e119b23e236616ece515b9eb8d29c42f6fa425e320b519252a79a8c7a
MD5 379befd56401850a16adb07aa502e963
BLAKE2b-256 f9e118764b2c12d125d030a447e6c534b5ad0589ff9bcef5a6f498940a286abf

See more details on using hashes here.

Provenance

The following attestation bundles were made for cerone-1.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: cerone-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 52e5ca2f65d830d65b72308c2ed2ad0d4c05f3214ad7b1a101761a54c092acdf
MD5 85e513b631e79ee01f42927e7fe0af6c
BLAKE2b-256 07e16ccb96384e1a521e8cbfa2685f72bae279a8ee9aa04c62a317a666968728

See more details on using hashes here.

Provenance

The following attestation bundles were made for cerone-1.1.2-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