Title: Signed Posts
Author: Marc Armengou
Published: <strong>4 Ottobre 2025</strong>
Last modified: 7 Marzo 2026

---

Ricerca i plugin

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

# Signed Posts

 Di [Marc Armengou](https://profiles.wordpress.org/marc4/)

[Scarica](https://downloads.wordpress.org/plugin/signed-posts.0.5.zip)

 * [Dettagli](https://it.wordpress.org/plugins/signed-posts/#description)
 * [Recensioni](https://it.wordpress.org/plugins/signed-posts/#reviews)
 *  [Installazione](https://it.wordpress.org/plugins/signed-posts/#installation)
 * [Sviluppo](https://it.wordpress.org/plugins/signed-posts/#developers)

 [Supporto](https://wordpress.org/support/plugin/signed-posts/)

## Descrizione

Signed Posts allows authors to sign posts, assuring content integrity. Signature
verification proves post-signing alteration hasn’t occurred.

**Features:**

 * **In-browser verification:** The signature verification is done on the client
   side (in the visitor’s browser).
 * **Methods:** OpenPGP (ASCII-armored detached signature) and DID (did:key, did:
   web) using Ed25519 detached JWS (b64=false).
 * **Source of trust:** For OpenPGP, the author specifies the URL of their public
   key in their profile. For DID, the author sets their DID (did:key or did:web).
   For did:web, the plugin fetches `https://<host>/.well-known/did.json`.
 * **Status block:** An informative block is automatically added to the end of each
   signed article, showing the verification status (valid, invalid, or error).
 * **Author badge:** The author name in posts is enhanced with an icon and KeyID/
   fingerprint text.

### Source Code and Libraries

**OpenPGP.js**
 * **Version:** 6.2.2 * **License:** LGPL-3.0-or-later * **Public
Source Code:** https://github.com/openpgpjs/openpgpjs

**Web Crypto API**
 * Used to verify Ed25519 signatures for DID.

## Installazione

 1. Go to **Plugins > Add New Plugin**.
 2. Search for **Signed Posts**.
 3. Install and activate the **Signed Posts** plugin.

## FAQ

### How do I get the content of my post to sign it?

Once you’ve finished your post, click the three dots in the top-right corner of 
the Gutenberg editor. When the options menu opens, select “Copy all blocks.” That
is the content you should sign.

### Where can I host my OpenPGP public key?

You can host it on any service that offers direct links and allows CORS (Cross-Origin
Resource Sharing) access.

### What happens if the signature isn’t valid?

The plugin will display a warning message indicating that the signature doesn’t 
match the content or the public key, which can be a sign of content tampering.

### Does the plugin affect my site’s performance?

The impact on the server is minimal, as the verification is performed entirely in
the visitor’s browser. The only additional resource is the download of the public
key, which is usually very small.

### What format should I use to sign with DID?

Use Compact JWS (detached) with `{"alg":"EdDSA","b64":false,"crit":["b64"],"kid":"
<your did#key>"}` and sign the canonicalized post content (same text you would sign
with OpenPGP).

### Where do I set my DID?

In your User Profile, in the “Decentralized Identifiers (DID)” field. For `did:web`,
ensure your `did.json` is hosted at `https://<host>/.well-known/did.json`.

## Recensioni

Non ci sono recensioni per questo plugin.

## Contributi e sviluppo

“Signed Posts” è un software open source. Le persone che hanno contribuito allo 
sviluppo di questo plugin sono indicate di seguito.

Collaboratori

 *   [ Marc Armengou ](https://profiles.wordpress.org/marc4/)

“Signed Posts” è stato tradotto in 3 lingue. Grazie a [chi traduce](https://translate.wordpress.org/projects/wp-plugins/signed-posts/contributors)
per il contributo.

[Traduci “Signed Posts” nella tua lingua.](https://translate.wordpress.org/projects/wp-plugins/signed-posts)

### Ti interessa lo sviluppo?

[Esplora il codice](https://plugins.trac.wordpress.org/browser/signed-posts/) segui
il [repository SVN](https://plugins.svn.wordpress.org/signed-posts/), segui il [log delle modifiche](https://plugins.trac.wordpress.org/log/signed-posts/)
tramite [RSS](https://plugins.trac.wordpress.org/log/signed-posts/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### [0.5] – 2026-03-07

 * Updated minimum WordPress requirement to 6.9.
 * Updated minimum PHP requirement to 8.2.
 * Activation hook refactored to named function.
 * Replaced deprecated wp_http_validate_url() with wp_is_valid_url().
 * Dashicons enqueued conditionally to avoid redundant loading.
 * Added type hints and return types to all functions (PHP 8.2+).
 * Added PHPDoc blocks to all functions (WordPress-Docs standard).
 * Extracted post signature data to a cached helper function to avoid redundant 
   meta queries.
 * Restored function_exists() guard for delete_post_meta_by_key() in uninstall handler.

#### [0.4] – 2025-10-08

 * DID support added: did:key and did:web with Ed25519 JWS (detached).
 * Method selector per post.
 * DID field in user profile.
 * Uninstall options extended to remove DID and method meta.
 * Maintains full backward compatibility with OpenPGP flow.

#### [0.3] – 2025-10-03

 * Author badge with icon and fingerprint text linked to the verification result.
 * OpenPGP updated to 6.2.2.
 * Some corrections.

#### [0.1] – 2025-09-23

 * First version.

## Meta

 *  Versione **0.5**
 *  Ultimo aggiornamento **3 mesi fa**
 *  Installazioni attive **Meno di 10**
 *  Versione WordPress ** 6.9 o superiore **
 *  Testato fino alla versione **6.9.4**
 *  Versione PHP ** 8.2 o superiore **
 *  Lingue
 * [Catalan](https://ca.wordpress.org/plugins/signed-posts/), [English (US)](https://wordpress.org/plugins/signed-posts/),
   [Spanish (Chile)](https://cl.wordpress.org/plugins/signed-posts/), e [Spanish (Spain)](https://es.wordpress.org/plugins/signed-posts/).
 *  [Traduci nella tua lingua](https://translate.wordpress.org/projects/wp-plugins/signed-posts)
 * Tag
 * [did](https://it.wordpress.org/plugins/tags/did/)[openpgp](https://it.wordpress.org/plugins/tags/openpgp/)
   [security](https://it.wordpress.org/plugins/tags/security/)[signature](https://it.wordpress.org/plugins/tags/signature/)
   [verification](https://it.wordpress.org/plugins/tags/verification/)
 *  [Visualizzazione avanzata](https://it.wordpress.org/plugins/signed-posts/advanced/)

## Valutazioni

Non sono state ancora inviate recensioni.

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

[Vedi tutte le recensioni](https://wordpress.org/support/plugin/signed-posts/reviews/)

## Collaboratori

 *   [ Marc Armengou ](https://profiles.wordpress.org/marc4/)

## Supporto

Hai qualcosa da dire? Ti serve aiuto?

 [Chiedi nel forum di supporto](https://wordpress.org/support/plugin/signed-posts/)