Open Badges 3.0 and Verifiable Credentials: Hands-on Lab
Issue, inspect, verify and revoke standard credentials in a sandbox.
Course ID: ICB-P07
Framework alignment: ICoBC Credentialing Skills Framework (ICSF), skill STND "Standards and interoperability" (VRITE pillar: Trustworthiness), level L2 "Operate", stage A "Ability".
At this level you issue and verify standard credentials with existing tools, and you check conformance with test tools. This is an Ability course: you practise on realistic tasks in a controlled setting, a sandbox, using knowledge you already have from the prerequisite course.
Who this course is for
- HR and learning technology owners who commission or run credential programmes in a corporate academy or HR department.
- Education IT and credential operations staff at universities, colleges and training providers.
- Members of the standards and wallet community who want hands-on experience with the credential formats.
Prerequisite: ICB-F01 Digital Badges and Credentials Essentials.
Learning outcomes
After this course you can:
- Issue an Open Badges 3.0 credential in a sandbox and inspect its structure.
- Explain how Open Badges 3.0 relates to the W3C Verifiable Credentials data model.
- Verify credentials, including status and expiry, with verification and conformance tools.
- Diagnose common interoperability errors.
Workload and format
The notional workload is 8 hours. This file covers the self-paced part: six modules, each with a short tour of the topic, a worked example, a practice activity and a quiz. Live or workshop elements appear as facilitator notes. You work in a sandbox, so you never touch production keys, real learner data or live registries.
How the course is assessed
You keep a lab record while you work through the modules. The record contains the credential files you issue, export, verify and revoke, plus your diagnostic answers for three faulty samples. A person assesses the lab record with the rubric in the section "Assessment and badge". The final knowledge check in that section is a formative check of your understanding. The file does not grade your lab record.
Badge
When you pass, you receive the badge "Open Badges 3.0 and Verifiable Credentials: Hands-on Lab (Ability, L2)", alignment code ICSF-STND-L2-A. The badge records that you completed the assessed tasks in this course. It does not prove that you are competent in any particular job.
Outcomes, modules and assessment
| Outcome | Module | How it is assessed |
|---|---|---|
| 1. Issue an Open Badges 3.0 credential in a sandbox and inspect its structure | Data model tour; Issuing in the sandbox | Lab record: issued credential file and annotated structure; module quizzes |
| 2. Explain how Open Badges 3.0 relates to the W3C Verifiable Credentials data model | Data model tour; Proofs and keys | Lab record: short written explanation; module quizzes; final knowledge check |
| 3. Verify credentials, including status and expiry, with verification and conformance tools | Status, expiry and revocation; Verification and conformance | Lab record: export, verify and revoke log with tool results |
| 4. Diagnose common interoperability errors | Troubleshooting | Lab record: diagnostic answers for three faulty samples |
The lab record
Create a folder called lab-record on your computer. Inside it, make these items as you go:
issued/: credential files you issue.exports/: files you export from the sandbox.verification-log.md: your notes on each verification and conformance check.diagnostics.md: your answers for the three faulty samples.reflection.md: a short note on what you would check before using a tool in production.
Safety rule for the whole lab. Use only sandbox keys and fictional people. Never paste a private key, a real learner record or a production secret into any tool, including an AI assistant.
Facilitator notes
**Live element (about 60 minutes, optional):** Open with a short walk-through of the lab record folder. Agree one shared sandbox for the group and confirm that every participant can sign in. Check that no one uses real personal data. Pair participants of different backgrounds, for example one HR owner with one IT person, so that each can explain their own view of a credential. **Preparation:** Provide a sandbox issuer, a verifier tool and a conformance test tool that you have tested in advance. Keep the names of tools in your own course instructions, because this file stays vendor-neutral. Prepare three faulty sample credentials for the Troubleshooting module and keep an answer sheet for assessors.Data model tour
What you will do in this module
You will look at a credential as structured data. You will name its main parts, place Open Badges 3.0 on the W3C Verifiable Credentials data model, and read a small sample file line by line.
Time: about 75 minutes.
Credentials are data with a purpose
A credential is a set of statements that an issuer makes about a subject. The statements need a shape so that other systems can read them. A shared data model gives that shape. When two systems share a model, a verifier can read a credential from an issuer it has never met.
Open Badges 3.0 is a specification for credentials that describe achievements, such as completing a course, passing an assessment or holding a skill. Comprehensive Learner Record (CLR) 2.0 is a related specification that bundles several achievements into one record. Both are current specifications. Platform support is still uneven, so you should check the conformance certification of any tool before you rely on it.
How Open Badges 3.0 relates to Verifiable Credentials
The W3C Verifiable Credentials Data Model 2.0 is a W3C Recommendation, published in 2025. It defines a general way to express claims, who issued them, who they are about, and how to secure them. It does not say anything about badges, courses or skills. It is a general layer.
Open Badges 3.0 sits on top of that layer. It uses the Verifiable Credentials structure and adds terms that fit achievements: for example an achievement, its criteria, and the result a learner earned. In practice, an Open Badges 3.0 credential is a Verifiable Credential whose subject has an achievement.
The main parts of a credential
Most Open Badges 3.0 credentials contain these parts:
- Context: a list of links that tell a reader which vocabularies the terms come from.
- Type: the kind of credential. It includes a general Verifiable Credential type and an Open Badges type.
- Issuer: the organisation that makes the statement, with an identifier and a name.
- Valid from and valid until: the dates between which the credential is meant to be accepted. The validity end date is optional.
- Credential subject: the person or entity the statements are about, with the achievement they earned.
- Credential status: a pointer that tells a verifier where to check whether the credential is still valid.
- Proof: the digital signature that lets a verifier detect changes.
A short, simplified sample follows. It uses fictional names and shortened identifiers. Real files are longer.
``json``
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json"
],
"type": ["VerifiableCredential", "OpenBadgeCredential"],
"issuer": {
"id": "https://example.org/issuers/1",
"type": ["Profile"],
"name": "Example Academy"
},
"validFrom": "2026-03-01T09:00:00Z",
"credentialSubject": {
"type": ["AchievementSubject"],
"achievement": {
"id": "https://example.org/achievements/42",
"type": ["Achievement"],
"name": "Safe Handling Basics",
"criteria": { "narrative": "Complete the module and pass the quiz." }
}
}
}
Worked example: Reading a corporate academy credential
Priya is a learning technology owner in a corporate academy. Her academy wants to issue a credential called "Safe Handling Basics" to staff who finish an internal course. She opens the sample above and annotates it:
- The issuer is the academy. She checks that the issuer name matches the legal name used in HR records.
- The subject is the staff member. She notes that a real credential needs a way to identify the person, and that her data protection lead must approve which identifier to use.
- The achievement has a name and a short criteria statement. She rewrites the criteria in plain language so that a hiring manager in another company can understand it.
- There is no
credentialStatusfield. She writes in her notes that production credentials need one, so the academy can revoke a credential if a certificate was issued by mistake.
The example shows that the data model gives her a checklist of decisions, not just a file format.
Worked example: Reading a university credential
Tomás works in credential operations at a university. A department wants to issue a micro-credential for a short course on laboratory safety. He compares the same sample with the department's course description:
- The achievement name in the file must match the name in the course catalogue.
- The criteria must state the real pass condition, for example "attend all sessions and pass the practical check".
- The validity dates need a decision: the department says the safety training expires after three years, so he adds a validity end date.
- He notes that the issuer identifier must be a stable address under the university's control, because verifiers will use it later.
Facilitator notes
Ask participants to explain the layer diagram to a partner in one minute, using the words "general" and "specific". Check that they can say which layer defines the issuer and which defines the achievement. Common slip: participants believe Open Badges 3.0 and Verifiable Credentials are rival formats. Correct this calmly using the layer diagram.Practice activity: Annotate the sample
- Copy the sample JSON into a file called
issued/sample-annotated.jsonin your lab record folder. - Add a separate file
annotation.md. For each of the seven parts listed above, write one sentence: what it contains in the sample, and who is responsible for its content (the issuer, the platform or the earner). - List two fields that a real credential in your own context would need and that the sample leaves out. Give a reason for each.
- Write a short paragraph (three to five sentences) that explains to a colleague how Open Badges 3.0 relates to the W3C Verifiable Credentials data model. Save it as
explanation.md. This paragraph is evidence for outcome 2.
Self-check: your paragraph should mention that Verifiable Credentials is the general layer and Open Badges 3.0 adds achievement terms.
Check your understanding
Open Badges 3.0 is expressed using the Verifiable Credentials structure. It adds terms that describe achievements, such as criteria and results. The Verifiable Credentials data model is general and is not limited to identity documents.
The context is a list of links that identify the vocabularies behind the terms. The proof protects the credential, the status points to revocation information and the dates set the validity period.
The issuer is the organisation that makes the statements. The earner is the subject. A wallet stores the file and a verifier reads it.
The status pointer lets a verifier find out whether the credential has been revoked or suspended. It does not change the content of the credential and it does not replace the context.
Issuing in the sandbox
What you will do in this module
You will issue your first Open Badges 3.0 credential in a sandbox, export it and inspect the result. You will compare what you typed into a form with what appears in the file.
Time: about 90 minutes.
What a sandbox is for
A sandbox is a controlled copy of an issuing environment. It uses test keys, test issuers and fictional recipients. Mistakes in a sandbox do not reach real people. Your facilitator or course instructions tell you which sandbox to use. This course names no products, so the steps below are described in general terms that apply to any conforming tool.
Before you start, check three things:
- The sandbox shows that it is a test environment.
- You have a test issuer profile, not a real organisation account.
- You have a fictional recipient identity, such as a made-up email address on a reserved example domain.
The issuing flow
Issuing follows a sequence. Each step has a person or system responsible.
- The issuer defines the achievement: name, description and criteria.
- The issuer prepares the credential: it links the achievement to a recipient and sets the validity dates.
- The issuing system signs the credential with the issuer's key.
- The issuing system delivers the credential to the recipient, as a file, a link or into a wallet.
- The recipient stores it and can later share it.
Fields to fill in
Whatever tool you use, expect to supply these items:
- Achievement name: short and specific.
- Description: one or two sentences.
- Criteria: what the earner had to do. Write it so a stranger can judge it.
- Recipient identifier: in the sandbox, a fictional one.
- Dates: valid from, and optionally valid until.
- Issuer details: name and a stable identifier.
Write the criteria with care. Weak criteria such as "Good participation" give a verifier nothing to check. Strong criteria such as "Attend four of five sessions and submit the final task" are checkable.
Inspecting what you issued
After issuing, export the credential as a file. Open it in a plain text editor. Do not trust the tool's preview alone, because the preview may hide fields. Check these points:
- The
typelist contains both a Verifiable Credential type and an Open Badges type. - The
issuermatches your test issuer. - The
credentialSubjectcontains the achievement you defined. - The dates match what you entered, in a standard date and time format.
- A
proofsection exists, or the file is a signed token that carries the proof inside.
Worked example: A corporate academy issues a compliance credential
Lena is an HR specialist who runs a corporate academy. Each year, staff in the finance team complete an anti-fraud awareness module. Lena sets up a test achievement called "Fraud Awareness 2026" in the sandbox.
She enters criteria: "Complete the online module and score at least 80 per cent in the final check." The 80 per cent figure is illustrative. She sets a validity period of twelve months, because the content is reviewed every year. She issues a credential to a fictional employee, Test Person One, with an example email address.
Then she exports the file and opens it. She finds the validity end date and sees that the tool stored it in a standard format. She also finds that the criteria text appears under the achievement, exactly as she typed it. She adds both observations to her lab record.
Worked example: A training provider issues a course credential
Kofi works in credential operations at a vocational training provider. The provider offers a five-day course on workshop machinery safety. Kofi creates the achievement "Workshop Machinery Safety Certificate" in the sandbox. He sets no validity end date at first, then asks the course lead. The lead says the training should be repeated every two years, so Kofi edits the credential to add an end date.
When Kofi inspects the exported file, he notices that the recipient identifier he typed appears in the file. He raises a note for his data protection officer: in production, an email address in a shared file may reveal more than the earner intends.
Facilitator notes
Demonstrate one issuing run on a shared screen. Pause after the export and ask: "What is in the file that was not on the form?" Typical answers are the context links, the type list and the proof. Check that participants save files in the lab record folder with clear names. Remind them: sandbox only, fictional recipients only. If a participant's sandbox fails, offer a pre-issued sample file so that they can continue with inspection and come back to issuing later.Practice activity: Issue and export your first credential
- In the sandbox, create a test achievement with a name, a description and checkable criteria for a short course in your own context (corporate or education).
- Issue it to a fictional recipient. Set a valid from date and a valid until date.
- Export the credential and save it as
issued/first-credential.json(or the format your tool provides). - Open the file in a text editor. In
annotation-issuing.md, list five fields in the file that you did not type into the form, and explain in one sentence what each one is for. - Compare the criteria text on screen with the criteria text in the file. Note any differences.
Add the credential file and your notes to the lab record.
Check your understanding
The exported file is the credential that other systems receive. A preview is only a display and may leave out technical fields such as the context, type list or proof.
Criteria should state what the earner did in terms that others can check. Vague words such as "good" or "right attitude" give a reader nothing to verify.
A sandbox is for safe practice. Using fictional data protects real people from errors and keeps personal data out of test tools.
Identifiers can reveal personal data. The decision about what to include in a production credential belongs to the organisation's data protection function. Deleting the proof or swapping in the issuer's name would damage the credential without solving the question.
Proofs and keys
What you will do in this module
You will learn what a proof does, how keys relate to an issuer, and how to inspect a proof without exposing a private key. You will also meet the idea of an AI assistant as an optional reading aid, with a clear warning.
Time: about 75 minutes.
What a proof does
A proof is a digital signature attached to a credential. It answers two questions for a verifier:
- Did the issuer really sign this credential?
- Has anything changed since it was signed?
If someone edits a single character in a signed credential, verification fails. The signature is mathematical, so it does not rely on trust in the file's appearance.
Key pairs
Signing uses a pair of keys:
- The private key stays secret with the issuer. It creates signatures.
- The public key is shared openly. Verifiers use it to check signatures.
Anyone can use the public key to check a signature, but only the holder of the private key can make a valid one. This is why a private key must never leave the issuer's secure environment.
Securing mechanisms
The Verifiable Credentials data model separates the credential content from the way it is secured. Several securing mechanisms exist, and the specifications that define them continue to evolve. Two broad styles are common:
- Embedded proof: the signature is a block inside the credential JSON.
- Enveloping proof: the whole credential is wrapped in a signed token, and the verifier unwraps it.
Open Badges 3.0 allows more than one securing approach. A tool may support only some of them. When a verifier rejects a credential, an unsupported securing mechanism is one possible reason. You will meet this again in the Troubleshooting module.
Where the public key comes from
A verifier needs to find the issuer's public key. The credential usually names the key or points to a location, such as a document published by the issuer. If the issuer changes keys, publishes the wrong key or lets the location go offline, verification can fail even though the credential is genuine.
This links to trust. A valid signature shows that the holder of a particular key signed the credential. It does not by itself show that the key belongs to the real organisation. Verifiers therefore also look at how the issuer identifier and key are published, and may consult a registry or a trust list where one exists.
Optional: using an AI assistant to read JSON
An AI assistant can help you read a long JSON file. You may paste a credential into one to ask, "What does this field mean?" This is optional. If you do it, follow these rules:
- Paste only sandbox files with fictional data.
- Never paste a private key, a secret, a password or a token that gives access to an issuing system.
- Remember that an assistant may be wrong. Check its answer against the specification.
- Do not paste real learner records. Under your organisation's data protection rules, doing so may be a breach.
A public credential contains no private keys, but a configuration file, an export from an issuing system or a key file may. Always read a file yourself before sharing it.
Worked example: A corporate academy handles keys
Amira leads learning technology for a corporate academy. The academy's issuing system holds a signing key. A colleague asks Amira to send the "key file" to a contractor who wants to help debug a verification error. Amira refuses to send it. Instead she:
- Exports a sample credential from the sandbox, which contains only the public parts.
- Sends the contractor the public key location.
- Asks the contractor to describe the error message.
The contractor can debug the problem with the public information. Amira records in the academy's procedure that private keys are never shared by email.
Worked example: A university rotates a key
Daniel is in IT at a university. The university plans to replace its signing key after a staff change. He lists the steps:
- Create the new key pair in a secure environment.
- Publish the new public key at the issuer's key location, keeping the old public key available so earlier credentials still verify.
- Switch the issuing system to the new private key.
- Test by issuing a sandbox credential and verifying it.
- Record the date of change in the key log.
Daniel notes that removing the old public key would make all earlier credentials fail verification.
Facilitator notes
Ask the group: "Who should hold a private key in your organisation?" Collect answers on a shared board. Steer towards named roles with a secure process, not a shared inbox. Run a two-minute demonstration of an assistant reading a harmless sandbox file, then show a deliberately fake key file with a "DO NOT PASTE" banner and discuss why it is dangerous to share. Do not use any real key material in the demonstration, even for a sandbox.Practice activity: Inspect a proof
- Open the credential file you exported in the previous module.
- Find the proof, or the signed token if your tool uses an enveloping style. In
proof-notes.md, write down: the securing style (embedded or enveloping), the type or algorithm named in the file, and the location or identifier of the public key. - Find where the public key is published in the sandbox. Note whether you can open it in a browser or text editor.
- Write three sentences explaining why a private key must never appear in your lab record.
- Optional: ask an AI assistant to explain one field of your sandbox credential. Check the answer against the specification. Record what the assistant said and whether it was correct. Include no keys or real data.
Check your understanding
A valid proof shows that the credential was signed with a particular key and has not been altered. It says nothing about the quality of the achievement, the type of issuer or the expiry date.
The private key creates signatures and must stay secret. The public key is published so that verifiers can check signatures.
Credentials signed with the old key need the old public key for verification. Removing it makes earlier credentials fail even though they were once valid.
Only sandbox files with fictional data should be shared, and you must first check that no private key or secret is in the file. An assistant does not need keys to explain a field, and it must not be given real learner data.
Status, expiry and revocation
What you will do in this module
You will learn how credentials can lose validity: through expiry, revocation or suspension. You will set an expiry date, revoke a sandbox credential and observe how a verifier reports the change.
Time: about 90 minutes.
Why credentials need a life cycle
A signed credential cannot be edited after issue, because any change would break the signature. Yet real situations change. An employee's safety certificate lapses. A university finds that a credential was issued in error. A badge was issued to the wrong person. A credential needs a way to say, after the fact, "do not accept this any more".
Three ideas cover most cases:
- Expiry: the credential carries an end date. After that date, verifiers treat it as no longer valid. The end date is written into the signed credential at issue.
- Revocation: the issuer withdraws the credential. It is no longer valid from that moment, and the withdrawal is permanent.
- Suspension: the issuer pauses the credential. It may become valid again. Not every tool supports suspension.
Expiry in the credential
Valid from and valid until are part of the credential. A verifier compares them with the current date and time. If the current time is before the start or after the end, the verifier reports a problem. Dates therefore need correct formats and sensible time zones. A credential issued with a start date in the future, for example, will fail verification today.
Status lists
Revocation cannot be written into the signed credential, because the credential does not change. Instead, the credential points to a status entry. In a common approach, the issuer publishes a list in which each credential has a position, and each position holds a simple flag. A verifier fetches the list, looks up the credential's position and reads the flag.
The specifications for status lists and securing mechanisms continue to evolve, so tools may differ in what they support. A credential with a status pointer that a verifier cannot read may produce a warning or an error, depending on the tool.
Expiry and revocation together
A verifier may check several things in order:
- Is the signature valid?
- Is the current time inside the validity period?
- What does the status entry say?
A credential can pass step 1 and fail step 2 or 3. A good verification report separates these results, so you can see which one failed. When you read a report, do not stop at "invalid". Find the reason.
Revocation in practice
An issuer revokes a credential when:
- the credential was issued in error;
- the earner no longer meets the conditions, for example after a finding of misconduct under the issuer's policy;
- the issuer's policy says that the credential is withdrawn after a specific event.
A revocation reason may be recorded for the issuer's own purposes. Be careful about what you expose. A public status list should not reveal why a particular person's credential was revoked.
Worked example: An HR department revokes a credential issued in error
Mei works in an HR department. A batch of "Forklift Operator Level 1" credentials was issued to twelve employees on a Monday. On Tuesday she learns that three of them had not passed the practical assessment. The scores are illustrative. She:
- Identifies the three credentials from the issuing log.
- Revokes them in the sandbox issuing system.
- Asks a colleague to verify one of the revoked credentials with a verifier tool.
- Confirms that the report says the credential is revoked, while the signature is still valid.
- Writes a short note for the three employees, drafted with the HR lead, explaining the correction.
Mei sees that the signature stays valid after revocation. The status entry carries the withdrawal.
Worked example: A college sets expiry for a first aid certificate
Sofia in credential operations at a college issues first aid certificates. The college's policy states that the certificate is valid for three years. She sets the end date at issue. A year later, the college wants to extend the certificates to four years after a review. Sofia explains to the programme leader that existing credentials cannot be edited, because the end date is part of the signed content. The college can issue new credentials with the new end date, and revoke or let the old ones expire.
Facilitator notes
In the live session, ask participants to predict what the verifier will show before revoking. Then revoke together and compare. Highlight that "signature valid" and "credential revoked" can both be true. Mention that the sandbox may cache the status list, so a short delay before the change appears is normal. Ask participants to note the delay in their lab record.Practice activity: Expire and revoke
- Issue two new sandbox credentials to fictional recipients. For the first, set a valid until date a few minutes in the past, if the sandbox allows it, or a date that your facilitator provides as an expired sample. For the second, set a normal future end date.
- Export both. Verify both with the sandbox verifier. Record the results in
verification-log.md: which checks passed, which failed and the exact message. - Revoke the second credential in the sandbox.
- Verify it again. Record the new result, and the time between revocation and the change in the report.
- In three to five sentences, explain how the verifier knew the credential was revoked, although the file did not change.
Save the exported files in exports/ and your notes in verification-log.md.
Check your understanding
The signature covers the content at the time of issue and does not change. Revocation is recorded in a status entry that the verifier checks separately.
The end date is part of the signed credential. A verifier compares it with the current time. It cannot be changed without breaking the signature.
Editing a signed credential breaks the signature. The college issues new credentials with the new dates and decides what to do with the old ones.
Several checks sit behind the word "invalid". Finding which one failed tells you what to do next: a status or expiry problem is handled differently from a broken signature.
Verification and conformance
What you will do in this module
You will verify credentials with a verification tool and check files against a conformance test tool. You will learn the difference between the two and how to read their reports.
Time: about 90 minutes.
Two different questions
Verification and conformance answer different questions.
- Verification asks: can I trust this credential now? It checks the signature, the issuer's key, the dates and the status.
- Conformance asks: does this file, or this tool, follow the specification? It checks structure, required fields and behaviour against a test suite.
A credential can pass verification and still be poorly structured. A tool can pass a conformance test and still fail to verify a particular credential, for example because the issuer's key location is offline. You need both views.
What a verifier checks
A typical verification run covers:
- Structure: the file parses and has the expected types and context.
- Issuer and key: the issuer identifier resolves and the key can be found.
- Signature: the proof matches the content and the key.
- Dates: the credential is within its validity period.
- Status: the status entry, if present, does not indicate revocation or suspension.
Good tools report each check separately, with a clear message. Treat a single green "valid" tick with care, because it may hide checks that the tool skipped. Look for the details.
What a conformance test tool does
Conformance test tools take a credential, or exercise an issuing or verifying system, and compare behaviour with the specification. Results typically list tests that passed, failed or were skipped. Platform support is still uneven, so conformance certification matters. When you choose a tool, check whether it has been certified against the relevant specification, and read what the certification actually covers: which version, which features and which roles (issuer, verifier or wallet).
Reading a report
When you read a verification or conformance report:
- Note the tool name and version, and the date. Results change over time.
- Write down each check and its result, not only the overall result.
- Treat skipped or "not applicable" checks as open questions.
- Keep the report with your evidence.
Wallets and newer protocols
Wallet protocols and credential formats such as OpenID4VC, SD-JWT VC and ISO mdoc are specified for the EUDI Wallet. They are an emerging area, and tooling and education profiles are still maturing. In this lab you work with Open Badges 3.0 files in a sandbox. You do not need these protocols to complete the lab, but you should know that credentials may reach a wallet through different formats and exchange methods, and that support varies. When a wallet rejects a file that a verifier accepts, a format or protocol difference may be the cause.
Worked example: A corporate academy compares two tools
Jonas is a learning technology owner. His academy plans to buy a new issuing system. He tests two candidate tools in a sandbox with the same credential. For each tool he records:
- The tool's conformance certification: which specification version and which role it covers.
- The result of verifying the same exported credential in two independent verifiers.
- Any differences in the reports.
One tool's credential passes in one verifier but shows a warning in the other, because the second verifier cannot read the status list format. Jonas records the warning and asks the supplier to explain. He does not treat the pass in the first verifier as proof that the credential is portable.
Worked example: A university checks a partner's credentials
Aisha works in credential operations at a university. A partner college sends sample credentials so that the university can accept them for credit transfer. Aisha runs each sample through a verifier and a conformance checker. She finds that all signatures are valid, but the conformance checker flags a missing criteria field on two samples. She reports this to the partner as a structural issue, not a trust issue, and agrees a fix before the university accepts the credentials for credit decisions.
Facilitator notes
Prepare a short table on a shared board with the columns Check, Tool A, Tool B. Ask participants to fill it in during the activity. Discuss differences. Emphasise that two good tools can disagree, and that the disagreement is useful information. Warn participants not to name or rank commercial products in their lab record; they should describe the checks.Practice activity: Verify and test conformance
- Take the two credentials you exported in the previous module: one valid and one revoked, plus the expired sample.
- Verify each one in the sandbox verifier. If a second verifier is available, verify them there as well.
- Run the valid credential through the conformance test tool provided for the lab. Record which tests passed, failed or were skipped.
- In
verification-log.md, create a table with the columns Credential, Tool, Check, Result and Message. Fill it in for every check you ran. - Write a short paragraph: if the verifier says "valid" and the conformance tool reports one failure, what would you do before accepting the credential in your organisation?
Check your understanding
Conformance tools compare files or behaviour with the specification. They do not judge the earner, the size of the issuer or the use of a wallet.
Verification covers trust in the credential. Conformance covers structure. A structural issue may still limit portability, so it should be resolved with the issuer.
Tools and specifications evolve, so the same file may get a different result later. The version and date make the report reproducible.
Support varies, so the scope of a tool's conformance certification matters. Interface colour and user numbers say nothing about conformance, and no tool needs to support every wallet protocol.
Troubleshooting
What you will do in this module
You will learn the common reasons why credentials fail to verify or to import into other systems. You will practise a structured diagnostic method and apply it to three faulty samples supplied by your facilitator.
Time: about 90 minutes.
A method for diagnosing errors
Random fixes waste time. Follow the same order each time:
- Read the message. Copy the exact error text.
- Locate the layer. Is it the file structure, the proof, the key, the dates, the status or the receiving tool?
- Check the simple things first. Are there typos, wrong date formats or broken links?
- Compare with a known good sample. A working credential is a reference.
- Change one thing at a time and test again.
- Record the cause and the fix.
Common errors
The table lists frequent problems in the form of symptoms and likely causes. Treat it as a starting point, not a complete list.
| Symptom | Likely causes |
|---|---|
| File does not parse | Missing comma, bracket or quote in the JSON; wrong character encoding |
| "Unknown type" or context error | Wrong or outdated context link; type spelled incorrectly; missing Verifiable Credential type |
| Signature invalid | Content edited after signing; wrong key; unsupported securing mechanism |
| Key not found | Key location offline; issuer identifier does not resolve; key rotated and old key removed |
| Credential not yet valid | Valid from date in the future; time zone confusion |
| Credential expired | Valid until date in the past |
| Status check fails | Status list address wrong or offline; verifier cannot read the list format |
| Imported but displayed wrongly | Receiving tool supports only part of the specification; missing image or optional fields |
Interoperability problems
Interoperability means that credentials work across tools from different makers. Problems appear when one tool supports a feature that another does not, or when one reads an optional field differently. Common patterns:
- A tool produces a valid credential that another tool imports without images or descriptions.
- A verifier does not support a securing mechanism that the issuer uses.
- A wallet expects a different format or exchange protocol from the one the issuer offers.
- Two tools use different versions of the specification or of its context files.
When you meet such a problem, avoid blaming one side. Note the versions, test with a third tool if you can, and report to the issuer or tool maker with the exact steps and the files.
Using an AI assistant when diagnosing
An AI assistant can help you spot a missing comma or explain an error message. Apply the same rules as before: use only sandbox files with fictional data, never share a private key or a secret, and check the answer against the specification or a tool report. An assistant can suggest a wrong fix with confidence. A verifier or conformance tool gives you the check that counts.
Worked example: A corporate academy diagnoses an import failure
Carlos is an HR systems owner. An employee tries to import a credential into a wallet, and the wallet says "unsupported file". Carlos follows the method:
- He reads the message and records the wallet's version.
- He verifies the same file in a verifier. It passes, so the file parses and the signature is valid.
- He compares the securing style with the wallet's documentation and finds that the wallet accepts only one of the two styles that the issuing system can produce.
- He reconfigures the sandbox issuer to use the supported style, reissues a test credential and imports it successfully.
- He records the cause as "securing style not supported by receiving wallet" and the fix.
Worked example: A college diagnoses a status error
Nadia works in IT at a college. Verifiers report "status check failed" for new credentials. She checks the status address in a sample and tries to open it in a browser. It returns an error. She finds that the address contains a typo introduced during a recent server move. She corrects the address in the issuing system, reissues test credentials and verifies them. She records that already issued credentials with the wrong address need to be reissued, and flags this to her manager.
Facilitator notes
Distribute the three faulty sample credentials at the start of the practice activity, together with a known good reference sample. Keep a private answer sheet for assessors. Suitable faults for the three samples include one syntax or context problem, one signature or key problem, and one date or status problem. Do not tell participants which category each sample belongs to. Circulate and ask guiding questions such as "Which check fails first?" rather than giving answers. Remind participants to change one thing at a time and to keep their original file untouched.Practice activity: Diagnose three faulty samples
- Open the three faulty sample files supplied by your facilitator (called sample A, sample B and sample C), plus the known good reference.
- For each sample, run the verifier and, if available, the conformance tool. Copy the exact messages into
diagnostics.md. - For each sample, answer in the following form:
- Symptom: what the tool reported.
- Layer: file structure, context and types, proof, key, dates or status, or receiving tool.
- Cause: your best explanation, with evidence from the file or tool report.
- Fix: what the issuer should change, and how you would confirm the fix.
- Compare each sample with the known good reference to support your explanation.
- If you use an AI assistant, record what you asked and whether its answer was right. Share no keys and no real data.
- In
reflection.md, write five sentences on what you would check before relying on a new tool in production.
Add diagnostics.md and reflection.md to your lab record.
Check your understanding
The exact message points to the layer where the problem sits. Editing or reissuing without it risks hiding the cause or breaking the file further.
If the credential verifies elsewhere, the file is sound. A mismatch in securing style, format or protocol support in the receiving tool is a common reason for import failure.
Verification needs the public key. If the location is offline or the key used for earlier credentials has been removed, the verifier cannot check the signature.
Changing one thing at a time links each result to one cause. If you change several things together, you cannot tell which one mattered.
Assessment and badge
Overview
Assessment has two parts:
- Lab record (assessed by a person). You submit the lab record you built through the six modules. An assessor reviews it with the rubric below. This file does not grade it.
- Final knowledge check (formative). Ten questions in this section help you check your understanding before you submit. They do not replace the lab record.
The lab task
Submit your lab record as one folder or archive containing:
issued/: the credential files you issued, including your annotated sample.exports/: the exported files, including the valid, expired and revoked examples.explanation.md: your paragraph on how Open Badges 3.0 relates to the W3C Verifiable Credentials data model.proof-notes.md: your notes on the proof, securing style and key location.verification-log.md: the table of verification and conformance results, including status and expiry results and the revocation observation.diagnostics.md: your answers for the three faulty samples (symptom, layer, cause, fix).reflection.md: your note on what to check before production use.
Your record must contain no private keys, no secrets and no real personal data.
Rubric
Each criterion is rated at one of three levels. The assessor records the level and a short comment.
| Criterion | Not yet | Meets the standard | Exceeds the standard |
|---|---|---|---|
| 1. Issue and inspect (outcome 1) | Credential file missing, incomplete or not inspected | A valid sandbox credential is issued and exported; at least five fields are annotated correctly | Credential is well designed with checkable criteria; annotations explain the purpose of each field and link choices to the context of use |
| 2. Relation to Verifiable Credentials (outcome 2) | Explanation is missing or confuses the two | Explanation states that Verifiable Credentials is the general layer and Open Badges 3.0 adds achievement terms | Explanation also covers proofs, status and the evolving related specifications, in clear language for a non-technical reader |
| 3. Verification, status and expiry (outcome 3) | Verification is missing, or results are recorded without the checks or messages | Valid, expired and revoked credentials are verified; each check and message is logged; revocation is observed | Log compares two tools or a verifier and a conformance tool, notes version and date, and explains differences |
| 4. Conformance checking (outcome 3) | No conformance run | Conformance tool run on at least one credential; passed, failed and skipped tests recorded | Results are interpreted: follow-up actions are proposed for each failure or skipped test |
| 5. Diagnosis (outcome 4) | Fewer than two samples diagnosed, or causes unsupported | All three samples diagnosed with symptom, layer, cause and fix; causes supported by evidence | Diagnoses are precise, compare with the reference sample, and propose how to confirm each fix |
| 6. Safety and professional practice | A key, secret or real personal data appears in the record | No keys, secrets or real data; reflection names at least three checks before production use | Reflection also covers data protection, key management and conformance certification scope |
Pass rule
- You pass the lab when every criterion is rated "Meets the standard" or higher, and no criterion is rated "Not yet".
- Criterion 6 is a requirement: if a private key, secret or real personal data appears in your record, the assessor returns it for correction before any other review.
- If you are rated "Not yet" on one or more criteria, you may revise and resubmit the relevant parts.
Evidence submitted for the badge
The lab record, with credential files and diagnostic answers, is the badge evidence. The assessor confirms the result against the rubric. On a pass, you receive the badge "Open Badges 3.0 and Verifiable Credentials: Hands-on Lab (Ability, L2)", alignment code ICSF-STND-L2-A. The badge records completion of the assessed tasks in this course. It does not prove that you are competent in any particular job.
Facilitator notes
Assessors should use the answer sheet for the three faulty samples and check that diagnoses are supported by evidence rather than guesses. Where a participant reaches a correct fix through a different route, accept it if the reasoning is sound. Keep submitted records secure and delete sandbox exports according to your retention schedule. Return any record that contains keys, secrets or real personal data before reviewing it further, and advise the participant on safe handling.Final knowledge check
Use these questions to check your understanding before you submit your lab record. They cover all four learning outcomes.
Your certificate of completion
You passed the final check with %. Type your name as it should appear on the certificate. Your name stays on this device.
Certificate ID . Keep this ID: you need it to upgrade your certificate.
Need proof that others can check? ICoBC can upgrade your certificate to a signed Open Badges 3.0 credential after an identity check and a competence check, for €110 plus VAT.
Upgrade to a verifiable credentialBringing credentials to your organisation? ICoBC offers vendor-neutral consultancy.
Sources and further reading
Status as of November 2026; check before publishing.
The sources below are official texts and bodies. Check each one for the current version and for any changes since this course was written. This file gives no web addresses; search for the exact title on the website of the named body.
- W3C: "Verifiable Credentials Data Model v2.0", W3C Recommendation. The general data model on which Open Badges 3.0 builds. Related W3C specifications for status lists and securing mechanisms continue to evolve; check the W3C technical reports page for the current list.
- 1EdTech Consortium: "Open Badges Specification, Version 3.0". The specification for achievement credentials expressed with the Verifiable Credentials data model. Also see the 1EdTech material on the Comprehensive Learner Record (CLR) Standard, Version 2.0.
- 1EdTech Consortium: the conformance certification information for Open Badges 3.0 and CLR 2.0. Check which versions, roles and products are listed and what each certification covers.
- OpenID Foundation: the OpenID for Verifiable Credentials specifications (OpenID4VC family). Emerging area; tooling and education profiles are still maturing.
- IETF: the SD-JWT and SD-JWT-based Verifiable Credentials specifications. Emerging area; check for the current status of each document.
- ISO/IEC: the standard for mobile driving licences and related mobile documents (ISO/IEC 18013 series), which defines the mdoc format. Emerging in education contexts.
- European Commission: the official pages on the European Digital Identity Wallet (EUDI Wallet) and its architecture and reference framework. Check the current version of the framework.
- ICoBC: "ICoBC Credentialing Skills Framework (ICSF)", for the definition of skill STND "Standards and interoperability" and the VRITE pillars.
- ICoBC: course ICB-F01 "Digital Badges and Credentials Essentials", the prerequisite for this course.