Skip to content

Enforceable delegation for multi-agent collaboration — scoped authority with receipt chains #3991

@aeoess

Description

@aeoess

CAMEL agents collaborate across roles, but collaboration without accountability is a liability. When two agents exchange information or delegate tasks, there's no cryptographic proof of who authorized what, no scope constraints on what the receiving agent can do with the delegation, and no audit trail when things go wrong.

The specific gap: Agent A asks Agent B to perform a task. Agent B has the same capabilities as Agent A. There's nothing preventing Agent B from doing more than what Agent A intended — the "task description" is just text, not an enforceable contract.

Scoped delegation makes the handoff enforceable:

from agent_passport_system import issue_passport, create_delegation, govern_action

# Agents get cryptographic identity
agent_a = issue_passport(name="researcher", model="gpt-4o")
agent_b = issue_passport(name="writer", model="claude-sonnet-4")

# A delegates to B: write articles, no web access, no code execution
delegation = create_delegation(
    delegated_to=agent_b["public_key"],
    delegated_by=agent_a["private_key"],
    scope=["content:write", "content:edit"],
    expires_in_seconds=7200,
    max_depth=0
)

# B tries to access the web → blocked
result = govern_action(
    action={"type": "web:fetch", "url": "https://example.com"},
    delegation=delegation,
    passport=agent_b
)
# result["permitted"] == False
# result["receipt"] — signed proof of denial

Every inter-agent interaction produces a receipt chain. When Agent B produces output, the receipt proves: Agent A authorized this task, Agent B was scoped to content:write only, and here's the signed proof of the delegation and execution.

pip install agent-passport-system (v0.8.0, Apache-2.0) or npm install agent-passport-system (v1.36.2).

This works with any number of agents. Each delegation in the chain is cryptographically narrower than its parent. A 10-agent collaboration produces a 10-link receipt chain where any link can be independently verified.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions