Is the training certificate in your hand genuine?
Every training certificate issued from Optifora carries a signed square. Scanning it answers three separate questions: does the signature check out, is the document still valid today, and what does the paper say.
No identification required. You do not need an account, a login or to leave any information to use this page.
Enter the code
1. Does the signature check out?
Signature verified
The signature in the square was checked against a public key we publish, and it holds. The details on this paper were signed by Optifora and not one character has changed since. That does not mean the document is valid today — see the second heading.
Signature could not be verified
The signature in the square could not be checked. We cannot say this paper came from Optifora, and the record section below stays empty: information read out of a payload whose signature does not hold is not information.
2. Is the document valid today?
Valid
The document is in our register, has not been withdrawn and its renewal date has not passed. You can rely on it today.
Withdrawn
This document is NOT a forgery: the signature is perfect and the paper really did come from us. It was withdrawn afterwards and may no longer be relied on. The withdrawal date and reason are written below.
Expired
The document is genuine and has not been withdrawn, but its validity date has passed. The training needs renewing; this is not a finding of forgery.
Not in our register
The signature was made with our key, but we hold no such document. This does not mean "no document": it means we cannot find the counterpart of a signed paper, and that is something we should be told about.
Signature does not hold
The code is in our format, but the signature failed the check. Either the details on the paper were altered after signing, or the signature belongs to a key we do not publish.
This is not our code
The square you scanned is not an Optifora training certificate code. It may belong to another system, or the code may have been copied incompletely.
No code in the address
No document code reached this page. Scan the square again; your reader may not have carried the whole address. You can also paste the code into the field below by hand.
Code could not be read
The string you entered does not match the document code format. Make sure you copied the code in full, exactly as printed on the document.
No answer received
The connection failed or there were too many attempts. Try again in a few seconds.
3. What does the paper say?
The rows below were read out of the signed payload, so they cannot have been altered afterwards. No exam score and no internal record number is shown.
| Field | Value |
|---|---|
| Certificate holder | |
| Workplace | |
| Training | |
| Type of training | |
| Lesson hours | |
| Date of issue | |
| Valid until | |
| Serial number | |
| Document digest | |
| Withdrawal date | |
| Withdrawal reason | |
| Handed over to the holder | |
| Paper copy produced | |
| Reason code | |
| Checked at |
Which key checked the signature?
Our public keys are published to everyone: that is what a public key is for. Once the list has been downloaded, a signature can be checked with no network at all — on site, with no signal. Retired keys stay on the list, because a document signed yesterday with a key that retires today must still verify tomorrow.
| Field | Value |
|---|---|
| Key name | |
| Algorithm | |
| Status | |
| In use since | |
| Retired on |
We could not fetch this key's details; the signature result above still stands.
Three questions, three separate answers
A signature and a validity are not the same thing, and we never compress the two into one sentence. A document's signature can be perfect while the document itself has been withdrawn: the paper is real, its standing is gone.
That is why a withdrawn document is not shown as "forged". A forged document and a withdrawn document are two different states, and letting an inspector confuse them makes verification itself useless.
We also pass no judgement on what we do not know. A document signed with our key whose record we cannot find gets its own answer, and we say so plainly.
The record rows are read from the signed payload. Anyone altering the text on the paper breaks the signature; if the signature holds, the rows below are the document as it was issued.
Your name never reaches our server
The document code sits after the "#" in the address. Browsers do NOT send that part of an address to the server: the name, workplace and training inside the code never land in our access log.
The page reads the code in your own browser and sends it to the verification endpoint itself. That request carries no identity either: who checked which document is not tied to a person and is not stored.
Neither the square nor this page's answer contains an exam score or any internal record number. A countable number lets a stranger count a company's employees without being asked.
This page verifies training certificates only. The square on a wall-mounted evacuation plan uses a different grammar and lands on its own page.
No square on the document you are holding?
A paper with no square cannot be verified from this page. Contact the organisation that issued it; write to us if you need to.
Get in touch