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", "password": "your-secure-password", "name": "Your Name"}'

You receive an sk_free_... key instantly.

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.1.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.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cerone-1.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 33e3e4d6d5ced525a5adedfce774271fd965be52ce9b75234204bcfd809dbca0
MD5 b0bafcd686091f98ab167d03301fe012
BLAKE2b-256 94d33dc6b67f48de8c1b24f01bdca729b790766067342fa3c02493d9017ed1c2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: cerone-1.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bbcd6ee1d5d150138033d15859c02f31afe013b629222f1093db3fefe5dbcc93
MD5 6c920706c0fa7f60408d4e3831c91c20
BLAKE2b-256 b22fa16b1f6080d2b961bb6fd6be0453fc72a3c4f8caaf9b3a9f2796f58a5eb0

See more details on using hashes here.

Provenance

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