Skip to main content

Liceat — the authority control plane for AI agents. Attenuable, offline-verifiable, revocable capability tokens (CW1 warrants) for delegating scoped authority to agents.

Project description

liceat (Python SDK)

Liceat"let it be permitted." The authority control plane for AI agents.

Issue verifiable, attenuable, revocable warrants; verify them offline; delegate safely between agents (authority provably only narrows). Wire-compatible with the TypeScript reference — both verify the same frozen vectors in spec/vectors.json.

from liceat import generate_keypair, issue, attenuate, verify_warrant, encode

sec, pub = generate_keypair()
warrant, atk = issue(sec, "root-1", "org:acme", "agent:booker", [
    {"type": "resource", "patterns": ["pay:*"]},
    {"type": "action", "actions": ["pay", "read"]},
    {"type": "spend_limit", "currency": "USD", "max": 5000},
])

# hand a narrower warrant to a sub-agent — it provably cannot escalate
sub, _ = attenuate(warrant, atk, [{"type": "action", "actions": ["read"]}])

result = verify_warrant(sub, {"resource": "pay:x", "action": "pay",
                              "amount": 100, "currency": "USD"},
                        resolve_root_key=lambda kid: pub)
assert not result.ok  # narrowed away

token = encode(sub)   # CW1~... — present to any Liceat gateway or verifier

Full protocol specification: docs/SPEC.md.

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

liceat-0.5.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

liceat-0.5.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file liceat-0.5.0.tar.gz.

File metadata

  • Download URL: liceat-0.5.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for liceat-0.5.0.tar.gz
Algorithm Hash digest
SHA256 2c4e1ff74c8605cb40f13f1e2f40379b2a2ad9d60c09d055b6d683253b3c9007
MD5 924ffeee6806be9306d87f10bd97eb69
BLAKE2b-256 a6ad1451c34de5ca29be68a79b55250cce811b27b9b26e32da485762c5ffba09

See more details on using hashes here.

File details

Details for the file liceat-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: liceat-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for liceat-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e29ea74c7755bdad1127e6e13b7f03cd8ea452bc1ddd674a54c3472cc595f81
MD5 259a19ddd73c6d5ccb7c82ee14b962bf
BLAKE2b-256 a8cb1d161b271fa821ab732f46318050ae8d19d683d8e64f2a091266cdc9296e

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