Open the app

Verify us yourself

Forestorers claims your journal never leaves your device unless you choose to share it. Don't take our word for it. Each check below takes a few minutes with the tools already built into your browser, no coding needed.

1. Watch the network

Open the app, press F12 (or right-click and choose Inspect), and select the Network tab. Now use the app: write an entry, add a photo, browse around. Watch what appears.

2. Pull the plug

After your first visit, turn on airplane mode, or use the Network tab's "Offline" setting. Reload the app. Everything still works: your journal, photos, charts, timers. An app that works with no connection can't be sending your data anywhere. When you install it to your home screen it behaves the same way.

3. Look at your own storage

In the same developer tools, open the Application tab (Storage in Firefox). Under IndexedDB and Local Storage you'll find everything the app knows, sitting in your browser. That's the entire database. There's no account and no copy on our servers.

If you have set a password, open the stored values and look: entries and photos are ciphertext, unreadable without your key. That's the at-rest encryption doing its job on your own machine.

4. Read the code

The app ships unminified. What your browser downloads is the readable source, and you can view it right in the Sources tab or with View Source. The client is plain JavaScript with no build step: what you read is exactly what runs. The software is free and open source under the AGPL-3.0 licence, and inspecting it is encouraged.

5. About the relay

When you connect with a buddy, data is encrypted on your device with keys derived from your pair of identities, then handed to a small relay server for delivery. The relay sees only ciphertext and can't read any of it. You can verify this two ways: watch the WebSocket frames in the Network tab (encrypted payloads, not readable content), or read the relay code, which ships with the app source. Self-hosting your own relay is supported.

6. Run it from a folder

Download the offline copy, unzip it, and you have the whole app on your own disk. Open index.html to browse it, or run a tiny local web server in the folder for the full app (the included README explains how). When it runs from a local folder, offline, with readable source, you can see everything it does, and you keep it even if this site goes down.

In the download, networking is turned off in the code itself. Open js/offline-flags.js in the unzipped folder: it's one line, and it says networking is off. Every buddy and device-sync feature in the app funnels through a single WebSocket connection in js/p2p.js (search the source for new WebSocket, there's exactly one), and that one call site checks the flag and refuses to run before anything network-capable can happen. Buddy and device sync aren't available in this build as a result; everything else (journal, photos, timers, comparisons, guides) works fully. For buddy sync, use the hosted app.

If you find a request, a behavior, or a line of code that contradicts what this page says, tell us. That's a serious bug and we want to know about it.