CivicIPFS now formally distinguishes Publishers from Pinners, requires honest disclosure instead of empty promises, and restricts itself to text-only content to keep liability where it belongs. The protocol is fully specified end to end; a home-lab node is being stood up next for a real-world test.
View article
View summary
Over the past stretch of work, CivicIPFS has gone from a working addon and orchestrator to a fully specified four-part protocol. Here's what changed and why.
Stewards and Witnesses. Every piece of content now has a clear Publisher (the Steward, who stands behind it in plain text) and one or more Pinners (Witnesses, who preserve it without being presumed to endorse it) — the same separation that lets a hosting provider serve a customer's website without being mistaken for its author. This protects both sides and makes redundancy meaningful: if a Steward's node disappears, the content doesn't disappear with it, because Witnesses are required to be independent.
Honesty over enforcement. Rather than trying to police every storage claim or price in software, CivicIPFS asks operators to disclose honestly — what kind of node they're running, how much they're storing, what they will or won't pin — and lets that disclosure be checked by people, not just code. We'd rather have a system that trusts honest operators than one that pretends a rule is enforced when it isn't.
One hard line: text only. CivicIPFS pins text — JSON, XML, plain documents, wiki content, scripts. It does not pin binary files like PDFs, images, or archives, and this is now checked automatically before anything is committed. Two reasons: it keeps legal liability with the people actually publishing and pinning content, not with the infrastructure underneath; and it deliberately leaves room for other, less restricted pinning services to exist alongside CivicIPFS rather than CivicIPFS trying to be everything to everyone.
What's next. The full specification is done and internally consistent. The remaining work is implementation — wiring these decisions into the running code — happening in parallel with standing up a second node, in a home lab, to run a real end-to-end test: publish something, pin it twice in two genuinely separate places, and verify the whole chain holds together.
More to come as the home-lab node comes online. The RFCs were updated, and are available at:
#^https://directory.diagnostics.kane-il.us/cloud/git64bit/CivicIPFS