Publish with WordPress

Publish your declaration with the Joshternet plugin for WordPress.

Install the Joshternet plugin

Install from the project’s published repository (release package or development checkout) until the plugin is listed in the WordPress.org directory. After directory acceptance, prefer search-and-install from wp-admin.

Requires WordPress 6.0+ and PHP 7.4+.

  1. Install and activate Joshternet.
  2. Open Settings → Joshternet.
  3. Enable participation.
  4. Choose Affirmed (josh: true), Declined (josh: false), or Undeclared (omit josh).
  5. Save.

A participant affirming Josh identity publishes:

{
  "version": 1,
  "josh": true
}

josh may instead be false for Declined Josh Identity, or omitted for Undeclared Josh Identity. The implementation guide defines those three declarations. Do not invent other values. Publishing any valid version 1 declaration establishes participation according to RFC-JOSH-0002.

The plugin does not create a physical .well-known file on disk. WordPress answers /.well-known/josh itself.

Check the endpoint

On the settings screen, use the public endpoint URL shown there, or check the live origin with Check a declaration.

Or check the live URL directly:

curl -i https://example.invalid/.well-known/josh

Confirm all of the following:

Publishing declares participation. It does not separately notify JoshBot or require registration with joshternet.org.

Multisite and sites below the origin root

Declarations belong to origins. Subdomain or domain-mapped sites can each declare when they have distinct origins. Path-based subsites that share the main site’s origin share one /.well-known/josh.

A well-known URI belongs at the root of an origin. A WordPress site published under a path prefix may need the host to route /.well-known/josh into WordPress. That is hosting configuration, not a reason to publish the declaration under the path prefix.

WordPress.com and other managed hosts are only recommended when a live check on that host has been proven. This recipe does not claim those environments yet.

Stop publishing

To stop declaring participation, deactivate the plugin or disable participation in Settings → Joshternet, then confirm the live origin no longer serves a valid declaration.

A deliberate 404 Not Found or 410 Gone at /.well-known/josh indicates that no declaration is currently published. Temporary timeouts, TLS problems, DNS failures, and server errors do not mean the participant intentionally left.

Tested