Certo is an open source platform for open badges 3.0
By Miki Lombardi
30 June, 2025
Certo is an open source platform for issuing, managing, and verifying credentials using the Open Badges 3.0 standard. It’s designed to support communities, nonprofits, workshops, and conferences that want to issue portable, standards-compliant credentials without relying on proprietary solutions.
The platform allows organizations to issue credentials as Open Badge 3.0, compatible with decentralized identity standards and interoperable across ecosystems thanks to a signed JSON-LD from the issuer platform.
GitHub Repository: https://github.com/schroedinger-hat/certo
Why Certo
As part of the Schrödinger Hat community, we frequently organize technical events, workshops, meetups, and conferences. Over time, we saw a recurring need: a simple and trustworthy way to issue certificates that recipients could store, verify, and reuse.
PDFs and badge images are not verifiable or portable. On the other hand, Open Badges 3.0 (OBv3), based on the W3C Verifiable Credentials model, offers a format that is digitally signed, machine-verifiable, and compatible with decentralized identity systems.
Existing platforms that support OBv3 are often closed-source or too complex to deploy for small organizations. Certo was created to solve this gap and it’s open source.
Certo is built with a modern and modular stack:
Certo’s backend runs on Strapi Cloud, thanks to a partnership with Strapi. It handles content management and data relationships such as:
The API is used to issue credentials, store metadata, and expose verification endpoints. Media such as badge images are stored and served through Strapi’s file service.
The frontend is built with Nuxt 3, styled using Tailwind CSS, and enhanced with UnaUI. The interface is minimal and responsive.
Deployment is handled via Netlify.
Certo issues credentials following the Open Badges 3.0 specification. Credentials are also fully compliant with the W3C Verifiable Credentials JSON-LD data model.
Key elements include:
Each badge is cryptographically signed and includes a jws field, along with a public verificationMethod that can be resolved to verify authenticity.
Each credential is signed using Ed25519, and the corresponding public key is hosted at a verifiable endpoint.
The platform supports:
Credential verification is performed via the proof.jws field and public keys that are retrievable by compliant verifiers.
Certo is actively developed. Upcoming features include:
Contributing
Certo is open source and welcomes contributions. If you're interested in credentialing, verifiable data, decentralized identity, or educational tech, feel free to explore the GitHub repository, open issues, or suggest features.
You can try Certo now at:
https://certo.schroedinger-hat.org
It’s free to use, and we’re happy to support anyone looking to issue Open Badge 3.0 credentials, especially community groups, education projects, and nonprofit events.
Special thanks to Strapi Cloud for supporting the backend infrastructure and helping us get this project off the ground.