Description
Issue real, verifiable digital badges from the site you already run.
Sigilet turns WordPress into a badge issuer. Design a badge, award it by email, and your recipient gets a credential they can share on LinkedIn, download, and point any employer at – hosted on your domain, under your organization’s name.
No badge platform. No per-badge fees. No account for your recipients to create.
How it works
- Create a badge type. Title, description, criteria, image – it’s just a WordPress post type.
- Award it. Enter a recipient’s email and issue it live, email the recipient, or hold it as a draft until launch day.
- They share it. Every award gets a clean public verification page, a LinkedIn share button, and a downloadable badge file that carries its own proof.
Why issuers pick Sigilet
- It’s your credential, on your domain. Verification pages live on your site and carry your organization’s name – recipients and employers never leave your domain to check a badge.
- Recipients never sign up for anything. They click a link and see their badge. That’s the whole experience.
- Built on an open standard, not a walled garden. Badges are Open Badges 2.0 credentials, readable by any conformant wallet, backpack, or verifier.
- Recipient privacy is the default. Email addresses are never stored – only a salted, per-award hash. More on that below.
- Right-sized for small teams. A handful of issuers, sensible volume, delivered over your site’s existing
wp_mail.
What you get
- Badge types as a custom post type – title, description, criteria, tags, featured image.
- Award workflow with three modes: draft/embargoed, live, or live + email the recipient.
- Hosted verification – every assertion resolves at a stable public URL, on your domain, with a
"verification": { "type": "hosted" }block. - Revocation – one-click revoke/un-revoke from the award history; revoked assertions report
"revoked": trueand show a watermark on the verification page. - Expiry – optional per-award expiry date, surfaced in JSON and on the verification page.
- Dedicated roles & capabilities – grant
Badge IssuerorBadge Vieweraccess without handing over WordPress post-editing rights. - Recipient sharing hub – a private-to-the-recipient panel on the verification page with a “Share to LinkedIn feed” button, badge download, copy-link and copy-embed buttons, plus Open Graph / Twitter Card tags so shared links unfurl with the badge image. An optional “Add to LinkedIn” (certifications) button can be enabled in settings.
- Badge baking – the download button serves a baked PNG that carries its own assertion URL inside the file, so the badge is a self-describing, wallet-importable credential rather than just a picture.
Recipient privacy, in detail
Recipient email addresses are never stored. Each award saves only a per-assertion salted SHA-256 identity hash (sha256$…), exactly as the Open Badges hashed IdentityObject allows. Identical emails produce different hashes across awards, so two badges held by the same person cannot be correlated from the public JSON. The plaintext address is used only to send the optional award notification, then discarded.
Under the hood
Sigilet publishes standards-compliant Issuer, BadgeClass, and Assertion JSON alongside a friendly, theme-independent verification page – no third-party badge service sits between you and your recipients. Baking follows the Open Badges PNG iTXt convention; PNG uploads are baked directly, and GIF/WebP/AVIF are converted first where the server’s GD extension supports the source format.
Pro
The CSV bulk award feature – import a spreadsheet of recipients and dispatch awards through a paced background email queue – is a separate Sigilet Pro package and is not part of this download. Its code is not included here in any form: there is no locked screen, no disabled control, and no trial. Everything this plugin does – issuance, hosted verification, baking, roles, revocation, expiry, and sharing – is free, complete, and never expires.
External services
The free WordPress.org build makes no licensing, analytics, or update request to a third party. Its updates come only from WordPress.org.
The Pro build connects to the Sigilet licensing service (licence.sigilet.com) for license activation, daily license validation, and authenticated Pro updates.
- Data sent: the Pro license key, a one-way SHA-256 hash of this site’s address, this site’s URL (on activation only), and the installed plugin version (on update checks only).
- When it is sent: when an administrator activates or deactivates a license; once a day when WordPress checks the license is still current; and when WordPress checks for Pro updates.
- No analytics: no site diagnostics, administrator details, installed themes or plugins, and no badge-recipient data are sent, at any time.
- Local storage: the license key and a signed entitlement token are stored in the site’s WordPress options table. The token is verified on this site, offline, so Pro features keep working through a service outage.
Pro checkout is provided by Polar, the merchant of record, through Sigilet’s external pricing page. The plugin does not embed Polar, receive payment details, or call Polar’s API. Polar processes the customer’s account, payment, tax, invoice, refund, and subscription data during checkout and billing management.
Badge recipients’ personal data is never sent to the licensing service, Polar, or any other external service. Review Sigilet’s Privacy Policy and Polar’s Privacy Policy.
Screenshots





Installation
- Upload the plugin to
wp-content/plugins/, or install it from the Plugins screen, and activate Sigilet. - Go to Sigilet Settings and fill in your organization name, URL, and contact email.
- If verification URLs return 404, visit Settings Permalinks and click Save Changes once to flush rewrite rules.
FAQ
-
Where are recipient email addresses stored?
-
They are not. Sigilet stores only a per-assertion salted SHA-256 hash of the recipient’s email, per the Open Badges hashed
IdentityObject. The plaintext address is used only to send the optional award notification and is then discarded. -
Do I need a third-party badge platform?
-
No. Badges are issued and verified entirely on your own WordPress domain. The Pro build contacts Sigilet’s licensing service only to check the license and fetch Pro updates; purchases occur through Polar outside WordPress. Neither service hosts badges or receives recipient data.
-
Is Sigilet free?
-
Yes. Everything in this download is free and never expires: issuance, hosted verification, baking, roles, revocation, expiry, and recipient sharing. Nothing is time-limited, quota-limited, or locked behind an upgrade. CSV bulk award is a separate Pro package that is not included in this plugin at all.
-
What image formats can be baked?
-
The Open Badges spec defines baking for PNG. PNG uploads are baked directly. GIF/WebP/AVIF uploads are converted to PNG first when the server’s GD extension supports the source format; otherwise the original image is served unbaked.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Sigilet” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Sigilet” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.6.5
- Removed the one-time migrations that retired the licensing providers Sigilet no longer uses. Freemius (retired at 1.6.0) and Appsero (removed at 1.6.2) both left records behind on installs that ran them, and a premium-only migration cleaned those up on upgrade. No install that can still be reached needs it: Appsero was never configured in any shipped build, so no site could hold its records, and the remaining Freemius installs are being moved onto Sigilet’s own licensing service directly rather than migrated. Sites installed from WordPress.org never carried either migration and are unaffected.
1.6.4
- Internal clarity only, no functional change: the base64 @font-face rule embedded in preset badge SVGs now lives in the SVG asset file assets/presets/inter-font-face.svg instead of a PHP string. It is SVG-document markup handed to the image rasterizer, never web-page output, so it has no enqueue path; keeping it in an asset file makes that visible at a glance.
Earlier releases are listed in changelog.txt, bundled with the plugin.
