๐Ÿ—ž๏ธ

Sirius Press

WordPress, with the mailbox taken out of the middle of it. The account is a key; the site is also a static copy in storage you own. Everything else is still WordPress.

Install it Read the source

Two assumptions, removed

WordPress runs something like two in five websites. It also assumes two things that a sovereign site cannot accept. Sirius Press is a distribution that drops both and changes as little else as possible.

Identity Stock WordPress: an email address. A mailbox is rented from somebody who can close it, read it, or be compelled to hand it over โ€” and a password reset sent to it is the real key to the site. Sirius Press: a Bitcoin Cash address. Signing in means signing a challenge. There is no registration email, no confirmation link, no reset โ€” and no list of your readers' addresses waiting to leak.
Location Stock WordPress: one server. When it is down, upgraded, suspended or seized, the site is gone, and the domain that points at it belongs to a registrar. Sirius Press: one server and your name's storage. Every page is also published as static HTML to Sia, signed by the key that owns the name. When the server stops, the name keeps serving the last thing it published.
Email still works as a feature. wp_mail() is not disabled โ€” configure SMTP and your contact forms send, your WooCommerce receipts arrive. The objection was never to email. It was to email as an identity.

It is still WordPress

unchanged

Your plugins

Yoast, WooCommerce, Contact Form 7 and the rest install and run. Roles, capabilities, nonces, the REST API and the block editor are untouched.

unchanged

Your themes

Any theme works. The one caveat is that a static copy has no PHP at read time, so search boxes and comment forms do nothing in the mirror โ€” there is a hook to hide them during export.

one file

The core diff

Seventy-five lines, in wp-admin/install.php, so the setup wizard asks for a wallet instead of an email. Everything else this distribution does, it does from plugins.

upstream

Security releases

WordPress is vendored as a git subtree with a branch of pristine imports, so an upstream release three-way merges in and the fork's own commit rides on top. Absorbing one takes about a minute.

Signing in

The login page issues a short, single-use challenge. You sign it; the server recovers the public key, derives the address, and finds the account. Nothing is typed but the signature.

๐Ÿงญ
A wallet the browser already has Theseus exposes one. The key never touches the page โ€” best of the three, and offered first when it is there.
โŒจ๏ธ
A recovery phrase, typed once Used in the page, then wiped. It is never transmitted โ€” only the signature is.
๐Ÿ“‹
Any Bitcoin Cash wallet at all The challenge is a BIP-137 message โ€” the thing Electron Cash has had a "Sign message" box for since forever. Sign it on a machine that never touches the web and paste the result back. This path works with JavaScript switched off.
There is no password reset, because there is nothing to reset. Lose your phrase and the account is gone. An administrator can point an account at a new address from the user editor, which makes recovery a decision a human makes about a person they recognise โ€” not something an attacker triggers by compromising a mailbox.

Publishing to your name

Publish a post and the pages it affects are queued โ€” the post, the home page, the archives it belongs to. Draining the queue renders each page over a loopback request, rewrites its links to be document-relative, and uploads it signed to your name's storage.

Where the key livesUnattended publishing
Manual
default
Nowhere. You type the phrase on the Publishing screen; it signs in your browser and uploads straight to the gateway. No โ€” the queue waits for you.
Automatic Encrypted in the database, under a key in wp-config.php. Yes โ€” cron drains the queue.
Automatic is genuinely convenient and genuinely risky, and the settings screen says so in those words. The gateway only accepts writes signed by the name's current on-chain owner, so the key that can publish for your name is the key that owns your name and its funds. There is no middle option where the server holds something weaker โ€” that is a property of the protocol, not a gap in this distribution.

Installing it

On a fresh Ubuntu 22.04 or 24.04 server. Installs Docker if needed, brings up MariaDB, PHP-FPM and nginx, and prints the URL to finish setup. About five minutes on a small VPS, most of it building the image.

curl -fsSL https://silentmode.st/sirius-press/install.sh | sudo bash

For shared hosting there is a .zip on the releases page. Requirements: PHP 7.4+ with GMP or BCMath โ€” not optional, the wallet cryptography runs in PHP โ€” 64-bit, OpenSSL, MySQL 5.7+ or MariaDB 10.4+.

Point your name at it

An ip record for the live site, and a tls record pinning your certificate's fingerprint โ€” no certificate authority involved. Or an s3 record to serve the static mirror instead, and let the server be optional.

Self-hosted only

There is no managed version and there will not be one. A hosted Sirius Press would hold the key that owns your name, which is the one arrangement this whole thing exists to avoid.

Honest boundaries

A static copy is static

Search, comments, carts and anything else that needs PHP at read time will render and do nothing in the mirror. The live site still has them; there is a hook to strip them from the export.

Losing the key loses the account

No reset, by design. For a site with several authors this is a real operational cost, not a slogan โ€” plan for it before you turn passwords off.

Your name resolves where BCNR does

A .x address works in Theseus, or in any browser with Ariadne's Thread installed. If you need the whole web to reach you today, keep an ICANN domain pointed at the same server.

This page is served by the thing it describes. press.x is a BCNR name with an ip record and a pinned certificate, and the editor behind it is a Sirius Press install. The dogfooding is the demo.