Skip to content

Attestations

An attestation is something another party confirms about one of your identities: a club its membership, a verification service an age, an employer a position. It is signed by that party's domain and held by you. A service that asks for it is shown only the claims you tick, and can check them without calling the party that attested.

Vault entry Attestation
Written by You Someone else, about you
Proves That you wrote it That a domain stands behind it
Reaches a service as A share or a grant A presentation, made on your device
Ended by You, by revoking the share Its issuer, by revoking the attestation

Everything about attestations is under Settings → Attestations.

Receiving one

An attestation arrives as an offer link, revoked://a/…, which opens the app. Before anything is decided the offer shows:

  • Who attests — the domain, with the same verdict a share or request gets. A credential from a domain that does not verify is refused by whoever checks it later, so the verdict matters here.
  • What it states — the type and every claim with its value.
  • Which identity it is issued to — one of yours. The credential is bound to that identity's key, which stays on the device it was created on.

Accept proves to the attester that the chosen identity is yours, by signing its challenge with the identity key. Nothing else is sent. The credential that comes back is checked by your own server and kept there; it then appears under Held.

An offer works for one identity. Opened again with the same identity before its date, it returns the credential again, for example after the credential was removed by mistake. The identity's key is needed each time, so an attestation bound to an identity whose key was lost with its device is issued anew, to a new identity.

What is held

Each held attestation shows its type, the domain that attested it, the identity holding it, and its standing:

Standing Meaning
Verified The attester's key verifies, and the attestation and your identity both stand.
Unverified Something could not be checked, such as an attester that is unreachable or has no DNS record.
Revoked The attester withdrew it, or the identity it is bound to was revoked.
Expired It is past its own validity.

Opening one lists its claims. Remove deletes the credential from your server. That does not revoke it: the attester still stands behind what it attested.

Revoking the identity an attestation is bound to ends the attestation's use as well, since nobody accepts a credential whose holder's identity was withdrawn.

Showing one

A service asks with a revoked://present link. The app then shows who is asking — its web address, which is what identifies it — and what it asks for: a type, the attesters it accepts, the claims it needs.

The held attestations that fit are listed, and under the chosen one every claim has a tick. The claims the service asked for start ticked; any of them can be withheld, and others added. Who attested, the type and the identity are always shown.

Show it makes the presentation on the device and sends it to the service. It is signed with the identity key and made for this one request, so the service cannot pass it on and nobody who copies it can use it. Decline sends nothing.

Issuing

A workspace can attest things about other people, in the name of the server's domain. Two things have to be in place:

  • the server's operator has switched attestations on (ALLOW_ATTESTATIONS), and
  • the member holds the Issue attestations permission. Workspace administrators hold it and can grant it.

New under Issued asks for:

  • a type, written without spaces, such as membership,
  • the claims, each a name with a text, a yes/no or a number,
  • optionally one identity the offer is for, by fingerprint, and
  • optionally a validity in days.

Creating it signs nothing yet. It produces an offer link that is shown once and sent to the person the attestation is about. The attestation reads Offered until they accept it, then Issued, together with the identity that accepted it.

What an attestation states is fixed once it exists. Revoke withdraws it: anyone who verifies the credential is told so within minutes, and it cannot be undone. Deleting an issued attestation revokes it too.

A domain is believed by those who choose to believe it. An attestation is worth what the attesting domain's word is worth to the service that reads it.