Most access tools treat authentication like a one-time handshake. In these models, once a user or service is validated, they’re granted broad access for the rest of their session, regardless of what changes afterward.
This worked when everything lived behind a firewall. But today, it’s a liability.
Risk posture can change during a session
Devices drift from known-good state
Static permissions remain valid long after the need passes
Traditional session-based access creates blind spots, especially when sessions persist for hours or days. It breaks the Zero Trust model.
Per-request authorization means that every request, not just the first, is evaluated, in real-time, against policies.
Each time a user or service tries to access a resource, Pomerium checks identity, role, group membership, time of day, and any custom signals you define with your policies.
This ensures that:
Access is always intentional
Policies adapt in real time
Least privilege is enforced
The heart of Zero Trust is continuous verification. Without per-request authorization, that promise falls apart:
You can’t adapt to risk if you only evaluate once
You can’t revoke access mid-session
You can’t enforce context-aware policies when you rely on coarse-grain session
Pomerium enforces policies at the application layer, in real time, for every request. No traffic rerouting, app rewrites, or third-party data exposure.
Per-request policy isn’t niche. It’s critical across modern infrastructure:
SSH Access — Issues short-lived, auditable SSH certificates tied to user identity with Pomerium
Internal Dashboards — Enforce identity-aware, per-route policy for tools like Grafana, Jenkins, and Airflow
Kubernetes Access — Control access to the dashboard, kubectl, and CI/CD workflows without static kubeconfigs
AI Agent Access — Authorize every agent action based on the initiating user’s identity with Model Context Protocol (MCP)
Service-to-Service Traffic — Enforce mutual TLS and per-request policy for internal APIs—no shared secrets required
Pomerium is an identity-aware proxy that enforces policies on every request, before requests reach your app or service.
Identity-aware: Integrates with any OIDC-compliant IdP.
Contextual: Policies can evaluate identity, group, time, custom headers (e.g. device posture), and more.
Centralized: Policies are defined once and enforced consistently.
Clientless: No agent or client software to install, configure and manage.
Self-hosted: Data, traffic and decisions stay inside your environment.
This means:
You can deploy Zero Trust gradually, starting with a single route.
You don’t need to re-architect your apps.
You’re not reliant on a vendor’s infrastructure or logging pipeline.
Every access decision is logged. Every request can be traced.
That’s not just helpful for incident response. It’s essential for proving:
Who accessed what.
When was it accessed, and from where.
Under what conditions was it accessed.
Pomerium’s model helps meet requirements for SOC 2, HIPAA, ISO 27001, and NIST 800-53, without bolt-on tools or separate agents.
Per-request authorization isn’t hard to implement. With Pomerium, it’s built in.
-> Secure your first route with Pomerium
-> Read how companies apply policy in real-time
Access shouldn’t be granted once and forgotten. Give every request the scrutiny it deserves with Pomerium.
Stay up to date with Pomerium news and announcements.
Embrace Seamless Resource Access, Robust Zero Trust Integration, and Streamlined Compliance with Our App.
Company
Quicklinks
Stay Connected
Stay up to date with Pomerium news and announcements.