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

Activity-based, data-aware authorization (ADA)

Docs / ADA

Activity-based, data-aware authorization (ADA)

B5 Secure · Never Trust

2026 extension — the authorization stage can act as an OpenID AuthZEN 1.0 Policy Enforcement Point, externalizing decisions to OpenFGA (ReBAC) or Cedar/Cerbos (PBAC/ABAC) — while ADA stays the default. See Security Extensions →

ADA is B5 Secure’s signature capability. It authorizes the operation and the data it touches — not just “is this user logged in?” but “is this identity permitted to perform this action on this record?”

The secure default

By default, an authenticated identity must possess a unique permit for every action (web operation), and must be permitted on the specific entity referenced in the request. This holds with little to no application code — the convention does the work.

Contrast with the built-in framework default, where an authenticated identity is assumed to have full access unless you remember to add a role. B5 Secure inverts that: no permit, no access.

How it works

You annotate operations with the action and entity they concern; B5 Secure resolves the referenced id from the request and checks the identity’s permits against it.

C#
[Protect]
[Permission("interaction.create")]
[AuthEntity(typeof(Contact))]  // id resolved from the request
public OpResult Record(CreateInteraction req) { ... }

Overriding the conventions

The defaults are conventions, not a cage. You can:

  • Point ADA at a different id member with a references provider.
  • Exempt an action with [SkipActivityAuthorization] or [DoNotAuthorize] — explicit and auditable.
  • Implement IEntityIdAuthorizer for custom record-level rules.

Data-aware response shaping

ADA pairs naturally with the fourth Never Trust tenet — limit returned data. Use permits to decide whether a caller receives a summary or a detailed view, so an endpoint never over-returns to an identity that lacks the privilege.

Developer Relations

Talk to a human.

Get architecture guidance, Test Mode access, integration review, or help choosing the right B5 identity and authorization pattern.

Scroll to Top