UpveraTechnology
UTR-26-04System reportLive · rolling out in parts

Upvera ID

Upvera ID lets people sign in to other apps with Upvera, gives every site a different identifier for the same person, tells the site how strongly that person is verified, and lets AI draft on their behalf but never publish.

Published
Updated
Reading
7 min
Plain text
/identity.md
One person signs in to three apps through Upvera ID. Each app receives a different identifier, so the apps cannot link the person. Below, an AI client can read and draft, while publishing stays with the person.One personYouhow strongly you are verifiedunsignedweb keydevice keydevice attestedUpvera IDid.upvera.coOpenID Connect · ES256What each site receives · example identifiersnotes.examplesub q7Zt1VhB0sKc2mWfE4yR8nhiring.examplesub Lr3uX9aPe6TgN1dQ5bJw0kevents.examplesub Ys8Hc2Kv4nM7xRb1ZpF6tAThree sites, three identifiers. Nothing to compare.AI access over MCPAI clientconnects with OAuth 2.1Reads and draftsonly what you allowedPublisha card only you can presspublishing is offeredonly to the cardAn agent may write. A person publishes.

#Summary

Identity on the internet usually forces a trade: prove you are a real person and become trackable, or stay private and look like a bot. Upvera ID is built to refuse that trade.

It does three things. Sign in with Upvera lets any site accept Upvera accounts and learn how strongly the person is verified, under an identifier made for that site alone. Keys held in the person's own device raise that level of verification without revealing who they are. And AI clients can connect to a person's Upvera account to read and draft, while the act of publishing stays with the person.

#Sign in with Upvera

Upvera runs an OpenID Connect provider at id.upvera.co. It is deliberately narrow: authorization code flow only, PKCE with S256 required, nonce and state required, and the issuer returned in every response as RFC 9207 asks. ID tokens are signed with ES256 under rotating keys. A code lives 60 seconds and works once; a second use revokes what was issued from it.

Every site receives a pairwise subject: a stable 22-character identifier made for that site. Another site sees the same person under a different value, so two sites cannot join their records on it. Email is off by default and comes only when the person turns it on. Upvera keeps sign-ins only as a day and a digest, for 400 days, and any public count below five is hidden.

#How strongly verified

Each sign-in carries a claim, upvera:human, with the person's tier and the month it was reached. Tiers are ordered: unsigned, then web_key, then device_key, then device_attested. A site weighs them by its own rule.

  • On iPhone, a key is generated inside the Secure Enclave and never leaves it. App Attest binds that key to the genuine Upvera app.
  • On the web, a key that cannot be exported lives in the browser and is approved with a passkey once per session.

A key shows that the same device, and the genuine app, stand behind an account over time. It says nothing about who the person is. The server side is live; device and web keys reach members gradually, starting with the next app release.

#AI access

Upvera runs its own OAuth 2.1 authorization server for the Model Context Protocol at mcp.upvera.co. A person can connect Claude, ChatGPT, Cursor or another client. The consent screen lists what the client can and cannot do, access tokens last an hour and are bound to the Upvera server, refresh tokens rotate, and any connection can be revoked under Settings › Security › AI access.

The client can read the person's own startups, build trail and status, and prepare a post. It cannot touch money, other people's data or messages, and it cannot publish on its own. Upvera offers the publish tool only to an interactive card, not to the model, and a post goes out only when the person presses the button; the press carries a one-time ticket and a hash of the exact text, and for ten minutes the card offers Undo.

#By the numbers

22characters in a pairwise subject, different for every siteSign in with Upvera
60 slifetime of an authorization code, usable onceid.upvera.co
1use for an authorization code; a second use revokes what it issuedid.upvera.co
10 minto undo a post published from a cardMCP Apps

#Published and private

Published

  • Discovery documents, keys and endpoints for every integration
  • What a client can and cannot do, before you consent
  • Every AI client connected to your account, with a revoke button
  • The tier a sign-in carries, to the site you sign in to

Kept private, on purpose

  • Who you are, unless you share your profile or email
  • The secret that derives pairwise subjects
  • Sign-in history beyond a day and a digest
  • Anything about you to a site you haven't signed in to

#Status and releases

The provider and the MCP server are live. Startup owners register Sign in with Upvera clients in the Upvera app, since version 1.7.0. Device keys and publishing from cards are rolling out.

  1. id.upvera.co and mcp.upvera.coIdentity and AI access get their own addresses.Live
  2. Sign in with UpveraAn OpenID Connect provider that tells a site how strongly the person signing in is verified, under an identifier made for that site alone.Live
  3. Upvera MCP serverAI clients connect with OAuth 2.1 and read only what you allow. They can draft; publishing stays with the person.Live

#Questions

Does a site get my email?

Not by default. It arrives only if the site asks for it and you turn it on.

Can two sites tell I am the same person?

Not from the identifier Upvera gives them: each site receives its own. If you choose to share your email or profile, that is shared as you chose.

Can an AI publish for me?

No. It can draft and prepare a post. The post goes out only when you press Publish, in its preview card or on Upvera's own compose screen.