Title: Sigilet
Author: sigilet
Published: <strong>September 3, 2026</strong>
Last modified: September 3, 2026

---

Search plugins

![](https://ps.w.org/sigilet/assets/banner-772x250.png?rev=3678826)

![](https://ps.w.org/sigilet/assets/icon-256x256.png?rev=3678826)

# Sigilet

 By [sigilet](https://profiles.wordpress.org/sigilet/)

[Download](https://downloads.wordpress.org/plugin/sigilet.1.6.5.zip)

 * [Details](https://wordpress.org/plugins/sigilet/#description)
 * [Reviews](https://wordpress.org/plugins/sigilet/#reviews)
 *  [Installation](https://wordpress.org/plugins/sigilet/#installation)
 * [Development](https://wordpress.org/plugins/sigilet/#developers)

 [Support](https://wordpress.org/support/plugin/sigilet/)

## 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

 1. **Create a badge type.** Title, description, criteria, image – it’s just a WordPress
    post type.
 2. **Award it.** Enter a recipient’s email and issue it live, email the recipient,
    or hold it as a draft until launch day.
 3. **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](https://www.imsglobal.org/spec/ob/v2p0/)
   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": true` and 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 Issuer` or `Badge Viewer` access
   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](https://sigilet.com/privacy/)
and [Polar’s Privacy Policy](https://polar.sh/legal/privacy).

## Screenshots

[⌊Award History with revoke controls.⌉⌊Award History with revoke controls.⌉[

Award History with revoke controls.

[⌊The Award a Badge workflow.⌉⌊The Award a Badge workflow.⌉[

The Award a Badge workflow.

[⌊A hosted verification page.⌉⌊A hosted verification page.⌉[

A hosted verification page.

[⌊The recipient sharing hub (LinkedIn, download, copy link/embed).⌉⌊The recipient
sharing hub (LinkedIn, download, copy link/embed).⌉[

The recipient sharing hub (LinkedIn, download, copy link/embed).

[⌊Issuer settings.⌉⌊Issuer settings.⌉[

Issuer settings.

## Installation

 1. Upload the plugin to `wp-content/plugins/`, or install it from the Plugins screen,
    and activate **Sigilet**.
 2. Go to _Sigilet  Settings_ and fill in your organization name, URL, and contact 
    email.
 3. 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.

Contributors

 *   [ sigilet ](https://profiles.wordpress.org/sigilet/)

[Translate “Sigilet” into your language.](https://translate.wordpress.org/projects/wp-plugins/sigilet)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sigilet/), check out
the [SVN repository](https://plugins.svn.wordpress.org/sigilet/), or subscribe to
the [development log](https://plugins.trac.wordpress.org/log/sigilet/) by [RSS](https://plugins.trac.wordpress.org/log/sigilet/?limit=100&mode=stop_on_copy&format=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.

## Meta

 *  Version **1.6.5**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [badges](https://wordpress.org/plugins/tags/badges/)[certificates](https://wordpress.org/plugins/tags/certificates/)
   [elearning](https://wordpress.org/plugins/tags/elearning/)[open badges](https://wordpress.org/plugins/tags/open-badges/)
   [verification](https://wordpress.org/plugins/tags/verification/)
 *  [Advanced View](https://wordpress.org/plugins/sigilet/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/sigilet/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sigilet/reviews/)

## Contributors

 *   [ sigilet ](https://profiles.wordpress.org/sigilet/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sigilet/)