Skip to main content

Trust Capital for AI agents. Tamper-proof receipts for everything your AI agent does.

Project description

nobulex

Trust Capital for AI agents. Tamper-proof receipts for everything your AI agent does.

Credit scores exist for people. They don't exist for machines. Until now.

Install

pip install nobulex

Quick Start (5 minutes)

from nobulex import Agent

# Create an agent with a cryptographic identity
agent = Agent("my-agent")

# Every action generates a signed receipt
receipt = agent.act("send_email", scope="user@example.com")

# Receipts are cryptographically verifiable
assert receipt.verify()  # Ed25519 signature check
print(receipt.action_ref)  # SHA-256 hash of the action

# Trust Capital builds with every verified action
print(agent.trust_score)  # 13.86

# Denied actions prove the system caught violations
agent.deny("delete_database", scope="production")
print(agent.trust_score)  # 15.22

What is this?

Every time an AI agent does something, Nobulex generates a cryptographic receipt:

  • WHO acted (agent_id)
  • WHAT they did (action_type)
  • ON WHAT (scope)
  • WHEN (timestamp_ms)
  • WHETHER it was allowed (verdict)
  • PROOF it happened (Ed25519 signature + SHA-256 hash)

Receipts are tamper-proof. You can't edit them after the fact. You can't fake them. An independent verifier can check any receipt without trusting the agent.

Over time, receipts build into Trust Capital — a portable trust score that follows the agent across deployments. You can copy an agent's code, but you can't copy its credit score. The copy starts at zero.

Use Cases

  • Audit trails: Prove what your agent did to regulators (EU AI Act Article 12)
  • Agent-to-agent trust: Agents verify each other's track records before collaborating
  • Compliance: Tamper-evident records for financial, healthcare, and legal agents
  • Accountability: When something goes wrong, receipts prove what happened

API

Agent

from nobulex import Agent

agent = Agent("my-agent")          # Create agent identity
receipt = agent.act("tool_call",   # Record an action
                    scope="api.stripe.com")
agent.deny("unauthorized_action",  # Record a caught violation
           scope="admin_panel")
print(agent.trust_score)           # Get Trust Capital score
print(agent.receipts)              # Get all receipts

Receipt

from nobulex import Receipt, KeyPair

keys = KeyPair()
receipt = Receipt.create(
    agent_id="agent-1",
    action_type="send_email",
    scope="user@example.com",
    keys=keys,
)
assert receipt.verify()            # Verify signature
print(receipt.action_ref)          # Content-addressable hash
print(receipt.to_json())           # JSON serialization

License

MIT — Arian Gogani (@nobulexlabs)

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

nobulex-0.1.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

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

nobulex-0.1.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nobulex-0.1.0.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for nobulex-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1b08824a55b0fa2c248f955f8c0247f6eff238bf84c9074caf44721d22cd3e25
MD5 b3154bb2f87b6966db0af43b20d77455
BLAKE2b-256 5e5107c5bce96664bf687929ae0e4f71b7a37593bc42a9be393bb9dc14f1a599

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nobulex-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for nobulex-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1e18f392ec93cca62e438bb74566b29ee4a2e5556e0e73df46ebfd1a734e6e4
MD5 5d8c550e31e7c29b59451762b36a1caa
BLAKE2b-256 6adba354e9459f2fd543a569a97722681ce9357d671e353dfbc74f12bac4855a

See more details on using hashes here.

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