Skip to content

docs: stop calling the browser version a centralized demo - #125

Merged
sanity merged 2 commits into
mainfrom
fix/try-page-not-centralized
Aug 29, 2026
Merged

docs: stop calling the browser version a centralized demo#125
sanity merged 2 commits into
mainfrom
fix/try-page-not-centralized

Conversation

@sanity

@sanity sanity commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Problem

The site told visitors the browser version of River was a centralized demo:

The browser version is a centralized demo running on our server.

and, on /try/:

This is a hosted demo. It runs on our server…
The hosted demo is centralized, which is the opposite of what Freenet is for.

That is misleading. try.freenet.org is a real Freenet peer we run, fronted by
freenet-gateway-proxy. A visitor there loads the real River web contract
(raAqMhMG7KUpXBU2SxgCQ3Vh4PYjttxdSWd9ftV7RLv) and joins the same Freenet Official
room that people running their own peers are in. Messages go over the real network. Nothing
about the app or the network is a mock-up, so "centralized demo" told visitors their session
was a simulation of Freenet rather than Freenet itself.

Approach

Say the accurate, narrower thing: you are using our peer instead of your own, so your keys
live on our peer rather than your machine — and that is the reason to install.

Existing claims that are still true were left alone: the access-key encryption line on /try/,
the one-click export to your own peer, and the firewall-fallback note in the quickstart.

Files changed (copy only, no logic):

  • content/_index.md — home hero note under the CTA row
  • content/try/_index.md — the warning callout and the closing section ("Ready for the real thing?" → "Ready to run your own peer?")
  • content/quickstart/_index.md — "look before installing" intro, and "hosted demo" → "browser version" in the firewall note
  • themes/freenet/layouts/shortcodes/river-invite-button.html — the hosted="true" variant's note

Testing

hugo --minify builds clean; new copy verified in the rendered public/index.html and
public/try/index.html. No logic touched.

[AI-assisted - Claude]

sanity added 2 commits August 29, 2026 14:40
try.freenet.org is not a centralized demo. It serves the real River
contract (raAqMhMG7KUpXBU2SxgCQ3Vh4PYjttxdSWd9ftV7RLv) from a real
Freenet peer we run, proxied over HTTPS, and drops the visitor into the
same Freenet Official room that people running their own peers are in.
Calling it "a centralized demo running on our server" told visitors
their session was a mock-up of Freenet rather than Freenet itself.

The real caveat is narrower and is now what the copy says: you are
borrowing our peer instead of running your own, so your keys live on our
peer rather than your machine. The existing encryption claim and the
one-click export to your own peer are unchanged.

Touched: home hero note, /try/ warning + closing section, /quickstart/
intro + firewall note, and the hosted variant of the invite-button
shortcode.

Claude-Session: https://claude.ai/code/session_01XEDrq8JfrpombSbrPnekSX
The comment above .cta-note still explained the rule as "never imply the
demo is decentralized", which was the framing the previous commit
removed. Reword it to the actual caveat: the browser option runs on a
peer we host, so the visitor's keys live with us.

Comment only, no rendered output change.

Claude-Session: https://claude.ai/code/session_01XEDrq8JfrpombSbrPnekSX
@sanity

sanity commented Aug 29, 2026

Copy link
Copy Markdown
Contributor Author

Ran an independent accuracy review of the new copy (Light tier; copy-only diff, no logic). Verified against the live deployment rather than the docs:

  • "Real River, real network" is accurate. try.freenet.org is served by freenet-hosted.service on nova — freenet network --hosted-mode --network-port 31345 ..., a genuine peer that joins the P2P network, fronted by the route-filtered freenet-gateway-proxy. It serves the real River contract key raAqMhMG7KUpXBU2SxgCQ3Vh4PYjttxdSWd9ftV7RLv (HTTP 200, real River shell), the same key used everywhere else.
  • The retained "even we can't read them" line is true. This claim predates the PR, so it got checked hard. P1+P2 of RFC: Public Freenet proxy to try apps before installing a peer (with data export) freenet-core#4381 did land (#4620, #4723): secrets_store/user.rs derives a per-user DEK from a client-held bearer token via BLAKE3, independent of the node KEK, gated on --hosted-mode — which the nova process has set. While the token isn't presented, the server holds ciphertext it has no key for. The copy correctly scopes it to "while you're not using it" and does not claim confidentiality during an active session, which would be false (the delegate runs server-side and needs plaintext).
  • No overcorrection. Every touchpoint keeps "your keys live with us" prominent; /try/ leads with it in bold.
  • No broken links or shortcode issues; no other content page still carries the old framing.

Follow-up outside this repo: freenet-gateway-proxy-hosted/README.md still says P1/P2 "do not exist yet" and warns against running against real user data. That was true when it was written (last commit 2026-06-19) and is now stale — both phases are live in production. Worth a doc update there.

[AI-assisted - Claude]

@sanity
sanity merged commit 5077552 into main Aug 29, 2026
3 checks passed
@sanity
sanity deleted the fix/try-page-not-centralized branch August 29, 2026 19:49
sanity added a commit that referenced this pull request Sep 3, 2026
Its screenshot was live at /slides/futo/river-screenshot.png and carried a
DIRECT MESSAGES panel naming a contributor, a stale "Atlas (search engine)"
room topic, and a pinned line calling the browser version "centralized and
thus somewhat misses the point of Freenet" - which #125 had explicitly
corrected, so the site said one thing in prose and the opposite in an image.

Found while reviewing the hero screenshot in #165. Retired rather than
recaptured at Ian's direction; River is still covered by private-rooms and
private-rooms-limits immediately after it in the deck.

Deck serves 200 with 20 top-level slides (was 21), no broken images, no page
errors, and no remaining reference to the slide, the image, "DIRECT MESSAGES"
or "misses the point of Freenet" in the rendered output.

Claude-Session: https://claude.ai/code/session_01Cwq3ZRYFqSW9rMtGJYqfo2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant