A Pupul profile belongs to the person it reads, and this page is the proof in the only form that counts: the share format, the verification path, and the agent tools are documented in the open, so everything important about a profile can be checked, moved, or revoked without asking Pupul for permission.
Written 2026-08-27. Everything on this page is live today; nothing here is a roadmap item unless it is labeled as one.
A format you can take elsewhere is the evidence you own it. A profile that can only be read inside the product that made it is not owned, it is rented. So the share format is plain, the keys are public, the revocation list is public, and the verification steps work with Pupul's servers out of the loop.
A share is a JWT signed with ES256. The signing keys are published as a standard JWKS. The claims that matter:
| Claim | What it is |
|---|---|
iss | Always noctara. Noctara is the engine that signs; Pupul is the product surface. |
scope | packet for a profile share. A verifier must reject any other scope here. |
jti | The grant id. This is what appears on the public revocation list when the person pulls the grant. |
exp | Expiry. Shares are expiring by design; a share that cannot go stale cannot be safely granted. |
| display fields | The readable subset the person granted: word, rhythm, force, posture, line. Never the person's raw files, never their messages, never anything they did not scope in. |
What is deliberately absent: there is no field for how a person folds under pressure, on this or any outbound surface. That line is documented in the privacy page and enforced in the build.
https://noctaracorp.com/.well-known/noctara-revocations.json. If the share's jti is on it, stop: the person said no, and that outranks a valid signature.https://noctaracorp.com/.well-known/jwks.json. Standard JWKS, no account, no API key.exp, iss and scope Expired, wrong issuer, or a scope other than packet means reject.Or let one endpoint do all four: GET https://noctaracorp.com/api/packet-public?token=... returns the granted display subset for a live share and a 401 for a missing, expired, or revoked one. The full independent walkthrough, with every artifact linked, is at how to verify a Pupul profile.
Pupul runs an MCP server (Model Context Protocol, Streamable HTTP, stateless, JSON responses, no auth) at:
https://noctaracorp.com/api/mcp
Four tools, all read-only, all serving the same content as the public pages:
| Tool | What it answers |
|---|---|
get_export_guide | The exact steps to request a personal data export from any of 11 platforms, with the reported wait, download window and file contents. Same content as /data/tiktok and its ten siblings. |
get_wait_times | The full export wait-times table for 11 platforms, every figure labeled reported or measured with its source. Same content as /data/wait-times, CC BY 4.0. |
get_count_link | The free in-browser Count viewer for a platform. The file never leaves the person's device; the tool returns the link and says exactly that. |
get_pupul_facts | What the Reading is, what it costs, what is free, and the privacy stance, stated the way the site states it. |
Try it from a terminal:
curl -s https://noctaracorp.com/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"get_export_guide",
"arguments":{"platform":"tiktok"}}}'
No tool on the free surface reads, stores, or can reach any user data. The server imports a static dataset generated from these pages and nothing else.
Live today: verification. Checking a share is free at /api/packet-public, and the developer lane for acting on a person's behalf is ordinary OAuth, self-serve, documented at Pupul for developers: the first 1,000 reads a month are free, then 49 dollars a month for 25,000.
Roadmap, not live: machine-native payment for the same surface, so an agent can pay per verification or per consented profile slice without a human setting up an account first. The rails under evaluation are x402 and Stripe's Machine Payments Protocol. Neither is wired up today, and this page will say so plainly when one is.
Permanent, either way: agents pay for verification and for consented slices. Behavioral data is never the product. A person's files, messages, and history are not for sale at any price, to any buyer, on any rail.
Because ownership claims are cheap and formats are checkable. If Pupul disappeared tomorrow, a person still holds their source files, their Reading, and this page describing exactly what their shares meant. That is what owning it means.
They can verify everything: the format, keys, and revocation list are open so any verifier can be independent. The method underneath the Reading is patent pending (application 64/048,624), which covers how a profile is earned, not your right to hold, move, or revoke one.
support@pupulcorp.com. A spec that drifts from the running system is worse than no spec, so a mismatch is treated as a bug, not a docs chore.