Is your feature request related to a problem?
Bindu's DID extension already signs artifact parts with Ed25519 (did.message.signature), proving "this agent said this." But there's no mechanism to prove "this action was authorized under a specific policy" or to verify receipts without trusting the signing agent. The DID signature proves identity but not authorization.
For enterprise deployments where Bindu agents act as microservices handling sensitive operations, teams need to answer: "Can you prove this agent was authorized to take this action, and can a third party verify that without trusting your infrastructure?"
Describe the solution you'd like
A ScopeBlindExtension (following the pattern of DIDAgentExtension and X402AgentExtension) that adds cryptographic receipt signing to Bindu agents:
from bindu.extensions.scopeblind import ScopeBlindExtension
config = BinduConfig(
name="my-agent",
extensions=[
ScopeBlindExtension(
mode="enforce", # or "shadow" for logging-only
cedar_policies="./policies/", # Cedar policy directory
)
]
)
What this adds on top of DID signing
|
DID Extension (current) |
ScopeBlind Extension (proposed) |
| Proves |
"This agent said this" |
"This action was authorized under policy X" |
| Signing |
Agent's DID key |
Issuer key (separate from agent identity) |
| Verification |
Requires knowing the agent's DID |
Issuer-blind -- verifier doesn't need to trust the issuer |
| Policy |
None |
Cedar (AWS's authorization engine) |
| Format |
DID-specific |
IETF Internet-Draft (open standard) |
Integration surfaces
- Extension system (
bindu/extensions/) -- Most natural. Follows DIDAgentExtension pattern. Registers middleware, adds receipt metadata to task artifacts.
- Middleware layer (
bindu/server/middleware/) -- A ScopeBlindMiddleware that wraps task execution, evaluates Cedar policies, and attaches receipts to A2A responses.
- TaskManager (
bindu/server/task_manager.py) -- Task completion is where artifacts are produced. Receipt signing hooks here.
- OpenTelemetry pipeline (
bindu/observability/) -- @scopeblind/otel-exporter attaches receipt metadata as span attributes.
Receipts are issuer-blind
The key differentiator: ScopeBlind uses VOPRF (RFC 9497) for verification. A verifier can confirm a receipt is valid without knowing or trusting the issuer. This matters for Bindu's multi-agent mesh -- Agent A can verify Agent B's receipts without either trusting a central authority.
Describe alternatives you've considered
- Extending the existing DID extension to include policy assertions -- but DID signing proves identity, not authorization. Mixing the two creates a confused deputy problem.
- Custom middleware without a standard format -- works but receipts aren't portable or interoperable with other agent frameworks.
Additional context
Happy to build a proof-of-concept extension. Bindu's extension architecture makes this straightforward -- the pattern is already established by DID and X402.
Is your feature request related to a problem?
Bindu's DID extension already signs artifact parts with Ed25519 (
did.message.signature), proving "this agent said this." But there's no mechanism to prove "this action was authorized under a specific policy" or to verify receipts without trusting the signing agent. The DID signature proves identity but not authorization.For enterprise deployments where Bindu agents act as microservices handling sensitive operations, teams need to answer: "Can you prove this agent was authorized to take this action, and can a third party verify that without trusting your infrastructure?"
Describe the solution you'd like
A
ScopeBlindExtension(following the pattern ofDIDAgentExtensionandX402AgentExtension) that adds cryptographic receipt signing to Bindu agents:What this adds on top of DID signing
Integration surfaces
bindu/extensions/) -- Most natural. FollowsDIDAgentExtensionpattern. Registers middleware, adds receipt metadata to task artifacts.bindu/server/middleware/) -- AScopeBlindMiddlewarethat wraps task execution, evaluates Cedar policies, and attaches receipts to A2A responses.bindu/server/task_manager.py) -- Task completion is where artifacts are produced. Receipt signing hooks here.bindu/observability/) --@scopeblind/otel-exporterattaches receipt metadata as span attributes.Receipts are issuer-blind
The key differentiator: ScopeBlind uses VOPRF (RFC 9497) for verification. A verifier can confirm a receipt is valid without knowing or trusting the issuer. This matters for Bindu's multi-agent mesh -- Agent A can verify Agent B's receipts without either trusting a central authority.
Describe alternatives you've considered
Additional context
Happy to build a proof-of-concept extension. Bindu's extension architecture makes this straightforward -- the pattern is already established by DID and X402.