Engineering
All articles tagged Engineering.

Migrating from PlainID to Cerbos
A practical guide to migrating from PlainID to Cerbos. Map PlainID policies, assets and attribute sources to Cerbos, translate a policy with passing tests, replace PDP and Authorizer calls, run both side by side in shadow mode, and cut over one service at a time.

Migrating from Oso to Cerbos
A practical guide to migrating from Oso Cloud or the deprecated oso library to Cerbos. Covers the Polar to Cerbos concept mapping, a worked translation with passing tests, moving facts to request attributes or Cerbos Synapse, list filtering with query plans, and proving parity before cutover.

How we use Cerbos inside Cerbos: Authorizing MCP tool calls
A real internal MCP server authorization setup, from the team that builds Cerbos. See how we give every tool call a named person, separate the person from the workload acting for them, gate warehouse queries and web access in policy, and ship policy changes through Cerbos Hub without redeploying.

Hand the application a query filter, not a per row authorization decision
Per record authorization breaks when an application renders a list. This guide covers asking the policy engine what a user can see, turning a query plan into a database predicate, where AuthZEN search endpoints fit, and why translating to SQL, ORM or vector filters belongs in one place.

Read authorization attributes from the database, not a copy
Authorization attributes like plan tier, team and clearance already live in a database. How Cerbos Synapse fetches them at decision time with a SQL data source and a Starlark proxy extension, how to set cache TTL per attribute, and how checks fail closed when the database is unreachable.

Kafka topic authorization belongs in your policy set, not in a per cluster ACL list
Kafka ACLs accumulate per cluster. This guide covers how Kafka's pluggable authorizer hands topic access decisions to an external policy engine, how ACL bindings map onto resource policies, caching and fail closed tradeoffs on the broker hot path, and what moves topic access into one audited policy set.

The Cerbos PDP dashboard is now on Grafana Cloud
The Cerbos PDP dashboard is now on the Grafana Cloud dashboards site. Import it by ID, point it at your Prometheus data source, and every instance in your fleet is on one screen, from health and loaded policy count down to latency percentiles.

LDAP and Active Directory authorization without changing the application
LDAP and Active Directory groups encode the access rules for applications nobody will fund a rewrite for. Covers resolving those groups at the proxy in front of the application, turning them into an input to policy rather than the access model itself, cache staleness, and where boundary enforcement stops.

Not every authorization decision is allow or deny
Not every authorization decision is allow or deny. Some denials are conditional, and the policy can return what would unblock them. Covers Cerbos policy outputs, the conditionNotMet trigger, the AuthZEN ARAP draft profile for requestable denials, and why an approval is an input to a new decision.

Istio authorization stops at identity, not at what a workload may do
Istio proves which workload is calling with mTLS and SPIFFE, and stops there. This guide covers where AuthorizationPolicy runs out, handing the decision to an external authorizer through the CUSTOM action, running one policy set across north south and east west traffic, and what the extra network hops cost.

Envoy ext_authz: enforcing one authorization policy at the gateway and in the service
Envoy external authorization with the ext_authz filter lets the gateway and the service run checks against one policy set. This guide covers the CheckRequest to Cerbos mapping in CEL, policy outputs as request headers, embedded versus external PDP, bypass paths, caching trade offs and what AuthZEN leaves undefined.

What's new in Cerbos Hub: audit log exports and a playground that tells you what's wrong
A rundown of the latest Cerbos Hub updates. Audit log exports you can pull into your own tooling for archiving or compliance, playground compiler errors with line and column detail, schema validation on principal and resource fixtures, and egress IPs for GitHub allow lists.

Mapping business requirements to authorization policy for gaming
Mapping business requirements to authorization policy for gaming, with three worked examples covering player profiles and inventory, virtual asset trading, and moderation actions. Each starts with the business rule and ends with a working Cerbos policy, including derived roles, ABAC conditions, and test cases you can run yourself.

The kill switch that never got pressed: what the OpenAI–Hugging Face incident tells us about agent authorization
OpenAI's models escaped an eval sandbox and breached Hugging Face. What the incident says about agent kill switches, runtime authorization, and standing access.

Agent skill for writing authorization policies in VSCode
A practical guide to writing authorization policies in VSCode using GitHub Copilot agent mode and the Cerbos policy skill. Covers install, the gh skill CLI, chat.agentSkillsLocations, file-scoped *.instructions.md, a typical drafting session, and how validation runs in the integrated terminal.

Agent skill for writing authorization policies in Cursor
Cursor's composer makes it a strong fit for authorization policy work. This guide walks through installing the Cerbos policy skill in Cursor, describing access rules in plain English, letting the composer pull schemas and derived roles into context, validating against the real compiler in the integrated terminal, and producing a complete policy bundle.

Authorization in microservices: Patterns, pitfalls, and how to scale it
Authorization in microservices explained. Why it is harder than a monolith, where it gets enforced, the three patterns for handling authorization data, choosing RBAC or ABAC, service-to-service authorization, and the externalized policy decision point pattern that scales across services without scattered checks or redeploys.

Agent skill for writing authorization policies in Codex CLI
A practical guide to writing authorization policies in Codex CLI using the Cerbos policy skill. Covers cross-agent installer setup, $cerbos-policy invocation, the /skills list command, a typical drafting session, validation against the real Cerbos compiler in Docker, and composing the skill with AGENTS.md.