One-time identity setup. Your keypair is generated on your device and never transmitted. Verification proves to the registry that you are the actual GOC registrant — not someone who looked up your name on the public GOC list.
①Details & Keys
②GOC Email
③ID Upload
④Confirmed
Step 1 — Your Details & Identity Keypair
Enter your details exactly as they appear on the GOC register. Your keypair is generated locally — the private key never leaves this device.
Step 2 — Verify Your GOC-Registered Email
We send a one-time verification code to the email address on your GOC registration record. This proves you are the actual registrant — not someone who copied your details from the public GOC list. The email on the GOC register is not public; only you have access to it.
Step 3 — Identity Document Upload
Upload a photo of your GOC registration certificate or a government-issued photo ID. This is reviewed by the RxVerify team (or an automated ID verification service like Onfido/Yoti in production) before your public key is approved on the registry. This step prevents someone from impersonating you even if they know your GOC email.
Option A — GOC Certificate
📄
Click to upload GOC registration certificate
Option B — Photo ID + Selfie
🪪
Click to upload passport / driving licence + selfie
What happens next: Your documents are reviewed within 1 working day (production: within minutes via automated ID verification). You'll receive an email when your public key is approved and live on the registry. Until approved, you can still use the tool locally — your prescriptions will be marked as "pending registry verification".
Step 4 — Verification Submitted
✓ Your identity verification has been submitted successfully.
Name: —
GOC: —
Email verified: ✓
ID document: Under review (demo: auto-approved)
Registry status: Pending Approval
While pending, your keypair is marked unverified in the registry. Prescriptions you issue are cryptographically signed but verifiers will see a "pending" flag next to your entry. Once approved, all previously issued prescriptions automatically become fully verified — the signature is what matters, not when the registry entry was approved.
Practice identity & locum delegation. A prescription carries two layers: your personal GOC identity and the practice you're prescribing from. Locums link their GOC keypair to each practice via a signed delegation certificate — valid for a defined period.
Two-Layer Identity Model
Layer 1 — Your GOC Identity (permanent)
One keypair per optometrist
Anchored to GOC registration
Never changes between practices
Verified once at registration
Signs every prescription you issue
Anchored to GOC registration
Never changes between practices
Verified once at registration
Signs every prescription you issue
Layer 2 — Practice Context (per-location)
One keypair per practice
Managed by superintendent OD
Carries branding, address, logo
Locums issued delegation certs
Co-signs prescriptions issued there
Managed by superintendent OD
Carries branding, address, logo
Locums issued delegation certs
Co-signs prescriptions issued there
Locum example: Dr. Patel works at Vision Express on Monday, Specsavers on Wednesday, and her own practice on Saturday. She has one GOC keypair (hers forever) and three delegation certificates — one from each practice, each time-limited and co-signed by the superintendent. Each prescription shows the correct practice branding and address for that day.
My Practice — Register or Load
If you own or manage a practice, register it here. This generates a practice keypair. If you are a locum, skip to "Locum Delegation" below.
Locum Delegation — Request or Issue a Certificate
A delegation certificate is signed by both parties: the optometrist's GOC keypair and the practice keypair. It authorises the optometrist to prescribe on behalf of the practice for a defined period. In production, the practice superintendent issues this; the locum accepts it.
No practices registered yet. Register a practice above, or add demo practices below.
Import from PMS PDF
Drag your prescription PDF here to auto-populate the form. Patient details and refraction values will be extracted automatically.
📄
Drop Prescription PDF here
or click to browse
Patient Details
Name & DOB are hashed — no PII stored in the signed prescription.
Spectacle Refraction
| Sphere | Cylinder | Axis | Add | Prism | Base | |
|---|---|---|---|---|---|---|
| R (OD) | ||||||
| L (OS) |
Recall Period
6 months
1 year
2 years
3 years
Custom…
Paste a signed prescription JSON to verify. In production, pharmacies scan the QR code. Anyone can verify — no account needed.
Paste Signed Prescription JSON
No prescription issued yet. Go to Issue Rx first.
The public registry is how anyone can independently confirm a public key belongs to a GOC-registered optometrist. It also shows practice keypairs and delegation certificates — the full trust chain.
Trust Chain — How Verification Works End to End
1. GOC — Root of Trust
The GOC public register (optical.org/goc/registrants) is the authoritative source. In production, RxVerify works with the GOC to establish a verified key registry — similar to how NHS Digital operates the NHS Login identity service. The GOC-registered email address is the binding mechanism: only the actual registrant can access that inbox.
2. Identity Verification — Multi-Factor Binding
Optometrist submits: GOC number + name (public) → verified GOC email OTP (proves inbox access) → photo of GOC certificate or government ID + selfie (proves physical identity). Human review (or automated Onfido/Yoti in production) approves before the public key is published. This prevents anyone from harvesting the public GOC list and impersonating registrants.
3. Transparency Log — Append-Only Public Record
Every key registration, practice registration, delegation certificate, and revocation is written to an append-only transparency log. Entries are chained and timestamped — nothing can be altered retroactively. Anyone can download the full log and audit it. Revocations don't delete entries; they add a signed revocation event, so historical prescriptions remain verifiable.
4. Practice Layer — Dual Keypairs for Locums
Practices register their own keypair (managed by superintendent). Locums receive signed delegation certificates — valid for a defined period, co-signed by both parties. Every prescription carries both the optometrist's GOC signature and the practice co-signature. Verifiers confirm: is this person GOC-registered? Are they currently delegated to this practice? Both must be true.
5. Dual Cross-Check — Cryptography + GOC Register
Even if RxVerify's registry went offline, verifiers can still cross-reference the GOC number embedded in every prescription directly against the GOC public register. The cryptography proves the prescription is unmodified; the registry + GOC register prove the signer is who they claim to be. No single point of failure.
Live Demo Registry — Registered Optometrists
No entries yet — complete the Register tab to populate this.
Live Demo Registry — Registered Practices
No practices registered yet.
Live Demo Registry — Active Delegation Certificates
No delegation certificates issued yet.
Verify a GOC Number or Public Key
GET /api/v1/registry/optometrist/{goc_number}
GET /api/v1/registry/pubkey/{hex}
GET /api/v1/registry/practice/{practice_id}
GET /api/v1/registry/delegations/{goc_number}
GET /api/v1/registry/log