The internet I grew up on didn't end in one go. It went a clause at a time, in Terms of Service updates nobody read (I didn't either).
Over the 2010s the voice assistant kept the recordings (and people at the company listened to some of them),[1] the photo app kept your face,[2] and the history of what you searched became somebody else's product. Owning things turned into a monthly rent, and in 2022 BMW put a subscription on the heated seats already fitted in the car you'd paid for,[3] because that's what the business model asks for.
THIS DYSTOPIA IS BORING
Cleaner than we feared, more insidious than we expected.
We rented our own lives back one free tier at a time, and the landlord kept the keys.
> 1. WHERE THIS STARTED
In 1993 the Cypherpunks worked out that centralised systems end up serving the centre rather than the edges. Their answer was code rather than politics, working software that made privacy the default instead of a setting you had to ask for.
Eric Hughes put the whole plan in three words, "Cypherpunks write code", and it hasn't aged.[4]
> 2. HOW THE ROT WORKS
The code wasn't enough to beat the money. Cory Doctorow named what happened next enshittification.[5]
His version goes in three steps. A platform is good to its users until they're locked in, then squeezes them to please its business customers, then squeezes those too, until it's a husk that pays only the shareholders (and then, in his telling, it dies).
The platforms can't risk the experiments that built them any more, because an experiment might cost them a quarter.
> 3. WHAT CHANGED
While the platforms were building bureaucracies, the pioneers were writing open-source, privacy-first code.
We inherited decades of their work, and the cost of starting moved from money to curiosity. The NAS under my desk (a UGREEN DXP8800 Pro) cost less than a year of cloud storage for the same capacity,[6] runs local AI inference, and answers to nobody.
Self-hosting is still work and ownership still carries overhead, but the nature of the work has changed. AI now handles the grunt work, reading documentation, scaffolding the unfamiliar, explaining errors, and that leaves you to be the architect.
Build in the open, write down what you learn, and leave something the next person can start from.
> 4. HOW WE BUILD
Promises get broken in board meetings, so I'd rather build systems where breaking one changes nothing, where the incentive to enshittify has nowhere to land.
- Local-First. If it can't run without their servers, you're a tenant. Local is the foundation, and meshes are how tenants become neighbours.
- True Ownership. If you don't hold the keys, you don't own the data. Export must be lossless, legible, and yours to replicate.
- No Kill Switch. If a vendor, a government, or a boardroom can brick your device, the design is hostile by intent.
> 5. WHO THIS IS FOR
Convenience wins for most people, and that's fine, nobody owes their evenings to infrastructure they didn't ask to run.
But a system with no credible alternative is coercive however convenient it is, so the work is an exit that runs, that people use, and that companies have to take seriously.
When a genuine option to leave exists, power behaves differently.
> 6. HOW YOU FIND US
The Cypherpunks said write the code and Doctorow named the rot. The part left over is finding the people who did write the code.
The rent-seekers have marketing departments and ad budgets, and they'll find you whether you like it or not. Open-source, local-first projects have none of that, so they build something that works and disappear into the noise, because nobody buys ads for software that doesn't need you to keep paying.
That's the discoverability problem, and it's the one I think a small project can do something about.
The plan is a public registry that does more than list things.
Today the Directory is a list I check by hand. The crawler, the grants, the audits and everything else in the six boxes below are what it's meant to grow into, and none of them run yet.
Verified projects put forward each quarter to aligned grant programmes, DAOs and foundations, with us writing the applications and you writing the code.
Boxes we sell (planned for specter) coming with directory-listed software already installed, with no app store in between.
Developers who want to work on software people own finding you here, without a recruiter in the middle.
Listed projects sharing the cost of security audits, so a small project can afford a real one.
When legislators ask who speaks for local-first, a directory that can say how many projects and how many users stand behind it.
Break the pledge by adding a kill switch, locking exports or phoning home, and the listing comes down in public, with the evidence.
The method. A project hosts a beacon file at /.well-known/freehold.json. Once the crawler exists it'll validate the file and list the project, and until then I read the beacons and check the projects by hand.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ "$schema": "https://www.localghost.ai/schemas/freehold-v1.json", "version": "1.0", "updated": "2025-12-18T00:00:00Z", "project": { "name": "Your Project Name", "description": "A short description of what it does.", "url": "https://your-project.com", "logo": "https://your-project.com/logo.svg", "repository": "https://github.com/your-username/your-project", "license": "MIT", "created": "2025-12-18" }, "maintainer": { "name": "Your Name or Org", "contact": "hello@your-project.com", "pgp": "https://your-project.com/.well-known/pgp-key.asc" }, "freehold": { "local_first": true, "offline_capable": true, "no_remote_kill_switch": true, "no_mandatory_auth_server": true, "data_export": { "format": "json", "complete": true, "documented": "https://your-project.com/docs/export" } } }
> THE PLEDGE
Hosting this beacon means your project commits to the following.
- It runs offline. No server dependency for core functionality.
- Data export is complete, documented, and human-readable.
- No kill switch. No remote server can disable the software.
- No mandatory auth. Users aren't locked out if your servers go dark.
- Open source. The code is auditable under an OSI-approved license.
This is a public commitment. Projects that break the pledge are delisted with a published explanation. The directory remembers.