Sign-in, device checks, access decisions and evidence, from a server you run.
One core process, the Pramaan broker, signs people in, checks their devices, decides access and records the evidence. OIDC and SAML applications receive their decision when a token is issued; private apps behind the connector are decided on every request.
What is checked before anyone reaches an app
Illustrative.
Which way in? Only an entry point you switched on.
Who is asking? A person or an agent the broker signed in.
From which device? What that device reports about itself.
What do your rules allow?Allow, refuse, or ask for more proof.
Only then, the app.A refused request stops at the broker.
The five jobs
Illustrative
Sign-in
Access
Devices
Evidence
Identity provider
Pramaan speaks OIDC, SAML 2.0, LDAP, SCIM, each for its own job: applications sign people in over OIDC or SAML 2.0, which works as identity provider and as service provider. SCIM 2.0 provisions users in and out, and legacy applications can bind to its LDAP provider once it is switched on.
MFA
Pramaan is its own MFA provider: passkeys, number-matched push approvals and codes from an authenticator app. The second factor is checked inside the same broker that issues the sign-in.
Private-app access
Private applications are published through four entry points: a connector that dials out from beside the app, a sign-in check in front of web apps that have none, the secure web gateway and direct connections for desktop tools such as SSH or database clients. Each is switched on separately and stays off until you do.
Secure web gateway and inline DLP
An inline forward proxy and a DNS filter sit on outbound web traffic, each switched on by its own setting.
AI-agent identity
Each AI agent gets its own sign-in identity, with a named human owner, a ceiling on what it may do and a kill switch. Its token requests always need a proof from its own key, whatever the deployment-wide setting.
A posture label such as unmanaged, or a minimum score
Network
Connector
It dials out to the broker and opens no inbound port
Default
Each app is denied unless an access rule allows it
Application
OIDC and SAML
Decided when a token is issued
Private apps
Decided on every request
What an administrator sees
Illustrative: example rows, not a live console.
Users
Employee finance group
Signs in with a passkey, push or an authenticator code. Deactivating them ends their sessions, their renewal tokens and every access token issued to them.
AI agent owned by a person
It has exactly one human owner, a permission ceiling and a kill switch.
Apps
Finance app OIDC
Decided when a token is issued; the access token lasts 300 seconds by default.
ssh-vm browser SSH
Uses just-in-time SSH certificates that live 60 seconds: each certificate is issued just before use, so the session is already open when it expires.
Devices
Phone Pramaan app
Approves sign-ins, and a browser session carries the posture captured when it was signed in: that of the device that approved it.
Browser not approved
A sign-in that no device approved carries no posture, and its tier is unknown.
Access log
Employee, Wiki Allow
A rule allows the finance group.
Contractor, Wiki Deny
Outside its window no rule matched, so the default deny refused it, and the refusal is an audit event.
Policies
Vendor window weekdays, UTC
A rule lists the days it applies on by weekday, from Sunday to Saturday.
Unmanaged devices Deny
Matches a device carrying the posture label unmanaged.
Technical detail: nine listeners. All but the public one start only when set up
Illustrative
Listener
Switch
Closed
Apart from the public router, a listener opens only when an administrator gives it an address. Every setting is described in the configuration reference.
Listener
How it starts
Public router
always; it has a default address
Admin router
only when an administrator sets its address
LDAP provider
only when an administrator sets its address
Connector tunnel
only when an administrator sets its address
Raw-TCP ingress
only when an administrator sets its address
Web gateway proxy
only when an administrator sets its address
DNS filter
only when an administrator sets its address
UDP tunnel (desktop client only)
only when an administrator sets its address and switches it on
TLS on-demand check
only when an administrator sets its address
Questions
Is it really one program?
Yes. One core process, the broker, does the identity, policy, device-trust and evidence work, and it starts each optional entry point inside itself rather than as a separate service.
What is off when I install it?
The LDAP provider, the connector, the entry point for direct connections, the web gateway proxy, the DNS filter, DLP and the network-level tunnel all ship off: each is opt-in. AI-agent identity ships off too.
Is there a RADIUS server?
No. Pramaan has no RADIUS server, so equipment that authenticates people over RADIUS needs a RADIUS server of its own. Inbound SCIM provisioning also has no request that deletes a user or group.
Where is every setting documented?
In the configuration reference at docs.pramaanid.cloud, which documents 156 settings. The reference is generated from the broker's configuration source rather than written by hand.
Does the policy engine see every request?
Not for every kind of application. OIDC and SAML applications receive their decision when a token is issued; private apps behind the connector are decided on every request. Access tokens are resolved on every call, but revoking a session does not end the access tokens already issued from it; deactivating or deleting the person does.