Today, mostly, it does not. Pupul is an identity and continuity layer for AI applications. A person grants your app a scoped, signed piece of their own profile, and your app verifies it against public artifacts, with our servers out of the loop. The developer tier is free to start.
Nothing here is a promise. Read the public keys, the revocation list, or the ledger checkpoint yourself.
An AI application gets a name field, maybe an email, maybe a login. None of that tells the app whether there is a real, continuous person behind the account, and none of it carries the person's consent about what the app may know.
An email address proves control of an inbox, nothing more. Your app has no way to ask whether the account is attached to a person who has been around and active over time.
Even with a valid login, your app cannot tell whether the account behind it is the same continuous presence it was last month, or whether something about it has changed in a way worth knowing.
Apps that build their own user histories hold data the person never scoped and cannot revoke. A grant model flips that: the person hands you exactly what they agreed to, and it expires on its own.
Every claim arrives with the provenance that produced it. And when a claim cannot be established, the answer is null, never false. Absence of evidence is not treated as an accusation.
is_humanA presence signal over a growing profile, not a calibrated biometric. It reflects that a person has been present and active over real time. When it cannot be established, it is null, never false.
is_continuousWhether the profile behind the grant has an unbroken record of activity over time. Continuity is made of time that actually passed, which is why it is hard to fake.
has_deviatedWhether the profile's recent pattern departs from its own history. A signal, with provenance attached, that the receiving app can weigh however its own policy requires.
stands_behindWhether the person actively stands behind this grant right now. Revocation is free, immediate, and published to a list anyone can read, so this claim is checkable by anyone.
A Pupul grant is a scoped, signed piece of a person's own profile that a receiving app can verify offline against published JWKS keys, a public revocation list, and signed ledger checkpoints.
That single sentence is the whole architecture. The person decides what to share at the moment of sharing. The grant is scoped at the door, so it carries only the claims the person agreed to release. It expires on its own after fifteen minutes, so a leaked grant goes stale before it becomes a liability. And it never carries what the person wrote. Your app receives claims about the profile, with provenance, and never the journal-level content underneath.
Verification uses three public artifacts. First, the signature on the grant checks against our published JWKS keys. Second, the grant checks against a public revocation list, so a grant the person has withdrawn fails cleanly. Third, signed ledger checkpoints let you confirm the profile's record is the one that was committed, not one rewritten after the fact. All three artifacts are published at stable URLs, which means your app can cache them and run the whole check without a single call to Pupul. If our service disappeared tomorrow, grants already issued would still verify against the artifacts already published.
This matters for agents in particular. An agent acting across services needs an answer to "who authorized this, and does that authorization still stand" that does not depend on a vendor being awake. A verification path built on public keys, a public revocation list, and signed checkpoints gives the agent that answer wherever it runs.
Sign in with Pupul is standard OAuth with ES256 tokens, and every completed login adds a dated check-in to the person's profile.
For you, integration looks like any other OAuth provider: a redirect, a token, a verification against published keys. For the person, it is different in one important way. Each completed sign-in writes a dated check-in to the profile they own, so the act of logging in grows their own record rather than only feeding yours. The person scopes the grant at the door, can revoke your app's access at any time, and every revocation is published where anyone can read it. Your app is never guessing about standing consent.
The developer tier is free to start. You can integrate the sign-in, request grants, and verify claims before paying anything.
Open the dashboard, see a profile and its grants working end to end, and verify a grant against the public artifacts yourself. The developer tier is free to start.