ROKRescue Operator Knowledge

How it works

How shared badges and verifiable credentials work

How a member shares a badge outside ROK — the public link, the signed Open Badges credential behind it, what a verifier sees, and what revoking or switching sharing off does.

A badge earned in ROK can be shown outside it — on a CV, on LinkedIn, to another agency — and checked by someone who has never used ROK. By the end of this page you will know who can share an award, exactly what becomes public, how the credential is signed, and what a verifier sees when a badge is withdrawn.

How a shared badge is published and verifiedMembertheir own awards onlyAward: sharing onunguessable share tokenpublic_award_view()anonymous · never an emailPublic badge page/badge/<token> · not indexedcredentials functionOpen Badges 3.0 VC-JWTEd25519 keyheld server-sideVerifierchecks the signaturebranded /credentials/ URLRevoked or lapsedanswers 410: revoked / expiredSharing switched offlink stops resolvingswitches it offNothing is public until the earner switches it on. Staff cannot share an award for someone else.A revoked credential stays published, so a verifier can tell “withdrawn” from “never existed”.
Only the earner can share. Everything public comes through one narrow read, and a withdrawn badge answers “revoked” rather than vanishing.

Sharing is the earner's decision

Every award starts private. Only the person who earned it can share it, from their own badge wall (Account settings (opens the admin console) → Badges): Create a public link on a badge they hold. The database changes sharing only on the caller's own awards, so there is no control for a training officer or administrator to share someone else's badge, and a request from anyone else changes nothing.

  • Sharing is per award. Public link on shows a badge is shared, Copy link copies its address on www.rokrescue.com, and selecting Public link on again makes it private.
  • Each award has its own unguessable link. A badge earned again after it lapsed is a new award, with a new link that starts private.
  • The share buttons appear only on badges you currently hold.

What becomes public

Anonymous visitors reach awards through one database function, public_award_view(), which returns a fixed, narrow set of fields and only for an award its earner has shared: the badge's name, description, How it is earned text, category, tier, skills and artwork; your agency's name and logo; the earner's display name; the award and expiry dates; whether it was revoked; the tracks the badge belongs to; and the lowest level it helps unlock. Never an email, and nothing about the member's other awards.

The public badge page shows these with a status — Verified, Verified — due for renewal, Lapsed or Revoked — plus Verify this credential and Add to LinkedIn. It is not indexed by search engines. The name on it is the member's current display name, so changing that in their profile changes every badge they have shared.

The signed credential

Behind the page is an Open Badges 3.0 credential, issued by ROK's credentials function and served from www.rokrescue.com/credentials/ — ROK's own domain, so a credential's identifier stays stable and recognisable. Verify this credential opens it.

  • Signed, not just published. It is a VC-JWT signed with an Ed25519 key. ROK signs on your agency's behalf with one platform key, held server-side; only its public half is published, so anyone can check the signature without an account. Keys retired in a rotation stay published, so older credentials keep verifying.
  • Your agency is the issuer. Each agency has an issuer profile with its own name and logo, which come from your branding.
  • The earner is named, not identified — display name only, no email or account identifier.
  • Its dates are fixed. The issue date is stamped the first time anyone fetches the credential and never moves after that; the expiry is the award's own.

Adding ?format=json to the credential's address returns the same content unsigned, so a person can read exactly what was signed.

Revoked, lapsed, switched off

What happenedBadge pageCredential
Revoked on AwardsRevoked, with a note that your agency withdrew itAnswers "revoked" (HTTP 410)
The expiry date passedLapsedAnswers "expired" (HTTP 410)
The earner deleted their accountRevoked — live awards are revoked firstAnswers "revoked"
The earner switched sharing offNot foundNot found
The badge was deleted, with all its awardsNot foundNot found
Your agency is suspendedNot found while suspendedNot found while suspended

Revocation keeps the link alive on purpose: a verifier must be able to tell a withdrawn credential from one that never existed. For the same reason the earner cannot switch sharing off on a revoked award — the database only changes sharing on awards that have not been revoked.

Credential responses can be cached for up to five minutes, so a revocation can take that long to reach a verifier's check. The badge page itself is built fresh on every visit.

What this means in practice

  • Write badges for strangers. The How it is earned text and the description are published word for word, and badge artwork is stored where anyone can read it — see the badge designer.
  • A revoke is visible outside ROK for anyone who shared the badge. That is the point of a verifiable credential, so revoke deliberately.
  • To stop a badge without erasing it, deactivate it. Deleting a badge removes every award and every shared link with it.

See also

Last reviewed