Securing 2M+ accounts & $15B+ in assets, protected & secure·B5 Secure™ — per data-element authorization for .NET platforms

Agentic Identity

Agentic Identity · The unified fabric

One identity model for humans, services, and AI agents — enforced in your code.

Today, B5 Secure is the enforcement point for this model — per-action [Permission]/ADA authorization, in-process, in .NET, at the call site, for every principal including AI agents. The surrounding identity fabric — OBO delegation, ephemeral scope-limited credentials, and SPIFFE SVID consumption that trace an agent’s actions back to provable human authority — ships H2 2026 and binds into that same enforcement point.

OBO RFC 8693 token exchangeSPIFFE compatible SVIDsPer-action [Permission] enforcementAudit agent + human attribution
The shift

Service accounts were never an identity model. Agents make that fatal.

For two decades, non-human callers wore shared, static service accounts — broad, long-lived, and unattributable. That was tolerable when machines were few and supervised. An AI agent is neither: it is provisioned in milliseconds, fans out into sub-agents and tool calls, and reaches the method that moves money thousands of times an hour. A unified fabric requires each agent to be a distinct principal, deriving scoped authority from a provable human — and, critically, an enforcement point that makes that scope binding where the action runs.

The old model

Service-account sprawl

  • Shared service accounts, broad and long-lived
  • Non-human callers unattributable to a human
  • Authorization decided far from where the action executes
  • Audit records the login, not the thousands of actions after
The fabric

First-class principals, enforced

  • Each agent a distinct, ephemeral first-class principal
  • Authority delegated from a provable human via OBO
  • Each action evaluated at the call site with live attributes
  • Every action logs the agent and the originating human
The B5 approach

The four components of the fabric, mapped to in-process enforcement.

B5 does not replace your IdP or workload-identity issuer — it consumes them and enforces the scoped identity at the exact .NET method the agent invokes.

Provable human authority

Agents derive authority via OAuth 2.0 token exchange (RFC 8693), carrying the act / may_act claims; the inherited scope is carried into the [Permission] evaluation at the call site, so an agent cannot invoke a method outside its delegated grant.

Ephemeral agent identities

No static keys. Short-lived, SPIFFE-compatible SVIDs that expire when the task completes. Tool-level identity splits read from write at the credential level.

Continuous authorization

Authorization moves past login into per-action evaluation at the moment a tool or API is called, with CAEP/SSF risk signals admitted as policy inputs.

Traceable auditability

Every agent-initiated transaction logs both the agent and the originating human — captured in-process at the execution point, the highest-fidelity place to record it.

Delegated-authority classes

Human-Delegated assistants, Machine-Bound automation, and Fully Autonomous agents each carry distinct ceilings, modeled as principal types feeding one policy evaluation.

Agent-to-agent trust

A spawned sub-agent inherits a strict subset of the parent’s grant — never more — carried into each downstream [Permission] check.

AgentContext.cs — TODAY · per-action ADA, in-process
// TODAY — per-action [Permission] + data-element ADA, enforced in-process
// at the call site, for every principal including AI agents.

[Permission("payments.initiate")]
public async Task<PaymentResult> InitiatePaymentAsync(PaymentRequest req)
{
    // Reached only if the caller carries payments.initiate AND the
    // ADA data-element check passes for req.AccountId.
    return await _ledger.PostAsync(req);
}
AgentContext.cs — H2 2026 · agent identity fabric (roadmap)
// H2 2026 — the agent presents an OBO token (RFC 8693) derived from a
// provable human; B5 binds the delegated, time-bound scope to the call site.

[Permission("payments.initiate", MaxAmount = "delegated")]   // delegated ceiling — H2 2026
public async Task<PaymentResult> InitiatePaymentAsync(PaymentRequest req)
{
    // Reached only if the agent's inherited scope covers this action,
    // the amount is within the delegated ceiling, and risk permits.
    return await _ledger.PostAsync(req);
}
Where it earns its place

Agentic identity, at financial-grade scope.

Banking

Copilot-drafted transfers

An assistant drafts a payment for a relationship manager; the OBO ceiling caps the amount and B5 refuses any call above it at the ledger method.

Custody

Read-only reconciliation agents

A machine-bound agent reconciles positions holding only accounts.read — a leaked context cannot move an asset.

Multi-agent

Sub-agents that only narrow

Specialized sub-agents inherit strict subsets of scope; none can invoke a tool the parent was never granted.

Honest framing

B5 is the enforcement substrate — not the whole fabric.

What B5 contributes, stated plainly.

B5 does not replace an enterprise IdP, cross-estate detection, or multi-hop orchestration. It is the enforcement substrate and embeddable identity/authorization primitives for the .NET application tier — the best-in-class Policy Enforcement Point that the issuing and decision layers rely on to actually stop an out-of-scope agent action. It slots in alongside Entra, SPIFFE, and a Tier-1 control plane, and is the point at which their decisions become binding.

Related

First-class identity for every agent — enforced in your code, not at someone else’s edge.

Bring your agentic architecture to a B5 architect. We’ll map your humans, services, and AI agents to in-process enforcement inside your own cloud.

Scroll to Top