Dashboard
Journal
Entries
Comments
Select an entry or create a new one
Activity
Buddies
Compare
Pick two entries above to compare
This is a private, offline-first journaling app for tracking foreskin restoration progress. All your data is stored locally on your device.
Your data cannot be recovered without your password. You can clear all app data and start fresh, or restore from a backup if you have one.
Set a password to encrypt your data on this device. If you forget it, your data cannot be recovered. There is no reset.
Your existing data will be encrypted with your password. This cannot be undone without your password.
Step 1: Download a plaintext backup. If anything goes wrong, you can restore from it.
Enter your current password, then choose a new one.
On your other device, open Settings → "I have a pairing code" and paste the code below. Expires in 5m.
🔒 Enter your encryption password to generate the pairing code
This code contains your private identity key. Treat it like a password. Keep this screen visible until the other device confirms.
Paste the code from your other device. Valid for 5 minutes after being generated.
Are you sure? This cannot be undone.
Select an entry or create a new one
Pick two entries above to compare
Shared images are watermarked and cached on your buddies' devices, where they remain until the auto-delete period expires without syncing. Removing a buddy's access sends a delete request, but offline devices retain copies until they next come online.
Forestorers.org is a local-first app. Your journal entries, photos, and settings are stored directly in your browser, on your own device. There is no Forestorers.org server storing your data. Nobody at Forestorers.org can read your journal.
Setting a password encrypts everything stored on your device. The password never leaves your device and is never transmitted anywhere. If you forget it, your data cannot be recovered. There is no reset option. This is intentional: genuine privacy requires no back door.
Your encryption key exists in memory only while you are actively using the app. It is cleared when you lock the app, close the tab, or leave it idle.
The buddy system lets you share your journal with trusted people on the same journey. To add a buddy, you exchange identity codes (strings beginning with FR1:) through any channel you choose: Signal, email, a forum.
Before any data leaves your device it is encrypted specifically for that buddy using a shared secret that only the two of you can compute. The relay server that helps match buddies online sees only scrambled data it cannot read. It stores nothing.
You can restrict what each buddy sees, set a vanish period (their copy of your journal deletes automatically after a period of inactivity), or disconnect quietly at any time.
You can send direct messages to any buddy using the 💬 button on their profile. Messages are end-to-end encrypted. If your buddy is offline, messages are held on the relay server for up to 24 hours — after which you're notified and can resend. Chat history lives only on your device and purges automatically after 30 days.
Pair two of your own devices and they will silently sync your journal between themselves when both are online. The same end-to-end encryption applies. The relay is a transit channel only.
Photos are stored as encrypted data in your browser. They are displayed using a protected canvas rather than a standard image element, which prevents right-click saving. Buddy photos are watermarked with their display name. Photos are withheld from buddies who have not set up encryption on their device.
Because your data is local, backing up is your responsibility. Use Export Backup from the sidebar menu regularly. The encrypted .forestorers format is recommended. Store your backup file somewhere safe. To restore, use Import Backup from the same menu.
The app works fully offline. The relay server is only needed for buddy sync and multi-device sync. Download the app files to use it with zero server involvement.
Essentially nothing. No accounts, no names, no journal content, no photos. If you use buddy sync, your public identity code passes through the relay to match you with your buddy. It is not logged. IP addresses are seen at the network level (unavoidable with any server connection) and are not logged.
Forestorers.org is a personal journaling tool for tracking foreskin restoration progress. It is provided free of charge, without warranty, and without any guarantee of continued availability.
You must be 18 years of age or older to use this app. By using it you confirm that you are. The app deals with adult anatomy and is not suitable for minors.
All journal data is stored locally in your browser (IndexedDB and localStorage). Forestorers.org does not operate a database of user content. No journal entries, photos, or personal information are stored on our servers.
The optional buddy sync feature uses a relay server (forestorers-signal.onrender.com) as a transit broker. All data is encrypted end-to-end on your device before transmission using ECDH-derived AES-256-GCM. The relay sees only opaque ciphertext and stores nothing. Forestorers.org does not access, monitor, or store journal content shared between users.
The app includes an optional end-to-end encrypted direct-message feature for communication between existing buddies. Messages are encrypted on your device before transmission using the same ECDH-derived AES-256-GCM keys as buddy sync. The relay server holds undelivered messages in RAM for up to 24 hours; they are never written to disk and are permanently deleted on delivery or expiry. If a message is not delivered within 24 hours you will be notified and may resend. Message history is stored only on your own device and is automatically purged after 30 days. You may delete your side of any conversation at any time. The chat feature is limited to existing buddy pairs — you cannot be contacted by strangers.
You are solely responsible for the content you enter into the app and for who you choose to share your identity code with. Do not share your identity code with people you do not trust. Once a buddy relationship is established, that person can see the journal data you have permitted them to access.
This app is a personal tracking tool only. Nothing in it constitutes medical advice, diagnosis, or treatment. Consult a qualified healthcare professional for medical guidance.
This app is intended for personal restoration tracking only. You must not use the buddy sync feature to transmit content that is illegal in your jurisdiction, or to harass or harm other users. All uploaded images must depict only yourself and only from a point in time at which you were a legal adult (18 years of age or older). By uploading any image you represent and warrant that you were 18 or older at the time the image was created. The operator reserves the right to terminate access for any user found to be in violation of this requirement.
You agree not to use screen capture, screen recording, or any other screen sharing or mirroring technology to capture, record, or redistribute any images or content accessed through this application, including content shared via the buddy sync feature. You further agree not to copy, download, duplicate, store externally, or redistribute in any form any images or content belonging to another user that you access through buddy sync. Content shared between buddies is shared in personal trust and is not licensed for any further use. Violation of this section may constitute copyright infringement, a breach of privacy, or both, and may expose you to civil and criminal liability.
This software is provided "as is" without warranty of any kind, express or implied. The operator makes no guarantees regarding availability, accuracy, or fitness for any particular purpose.
To the fullest extent permitted by law, the operator shall not be liable for any loss of data, loss of privacy, or any other damage arising from use of this app. You use it at your own risk.
These terms may be updated from time to time. Continued use of the app constitutes acceptance of the current terms.
These terms are governed by the laws of the jurisdiction in which the operator is based. Any disputes shall be resolved in that jurisdiction.
Your journal stays on your device. We do not collect it, store it, or have access to it. There is no account, no server-side profile, and no analytics.
Forestorers.org is an open-source personal journaling tool for foreskin restoration. The operator of this website and relay service can be contacted via the Forestorers.org website. No formal data controller registration is required because we do not process personal data on our servers.
We collect nothing on our servers. All journal entries, photos, measurements, and device settings are stored exclusively in your browser's local storage and IndexedDB. They never leave your device unless you explicitly export them or use buddy sync.
The following data exists only on your device:
If you use the buddy sync feature, your browser connects to our relay server at forestorers-signal.onrender.com. The relay sees:
The relay holds no user records, no connection logs, and no permanent message history. All state is in RAM and is permanently lost on restart. The relay cannot link your identity code to your real identity or IP address across sessions. Undelivered buddy chat messages are held in RAM for up to 24 hours, then permanently deleted. They are end-to-end encrypted and cannot be read by the relay.
None. The app uses no cookies, no tracking pixels, no fingerprinting, no analytics scripts, and no behavioural advertising. We have no interest in knowing who you are.
Photos you take or upload are stored in your browser's private IndexedDB. If at-rest encryption is enabled, they are encrypted with AES-256-GCM before storage. They are never uploaded to any server. When shared with a buddy via the sync feature, they travel end-to-end encrypted between your devices and are not stored by the relay.
All sensitive data stored on your device can be protected with AES-256-GCM encryption, derived from a password you choose. Data shared between buddies is encrypted end-to-end with a key derived from ECDH (Elliptic Curve Diffie-Hellman) — the shared secret is never transmitted. The relay cannot decrypt any data in transit.
We retain nothing on our servers because we store nothing on our servers. Your data on your device persists until you delete it — either by clearing browser data for this site, or by using the app's built-in delete functions. There is no account or cloud backup to request deletion of.
Because no personal data is processed on our servers, most statutory data-subject rights (access, rectification, erasure, portability) are exercised directly on your own device. Specifically:
If you have a privacy concern that cannot be addressed by the above, contact us via the Forestorers.org website.
The app uses the following external services in limited, defined roles:
Because we do not store your data, there are no international transfers of personal data from our side. Google Fonts may be operated in various jurisdictions; Google's privacy policy applies to their own processing.
This app is for adults aged 18 or older only. We do not knowingly collect information from anyone under 18. If you believe a minor has used this service, contact us and we will investigate, though we have no server-side data to delete.
Material changes to this privacy policy will be noted in the app release notes. Continued use of the app after a policy change constitutes acceptance of the updated policy. Because we collect no contact information, we cannot proactively notify you of changes.
Privacy questions can be directed to the project maintainer via the Forestorers.org website.
This software is provided "as is" and "as available" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. The operator does not warrant that the app will be uninterrupted, error-free, or free of harmful components.
To the fullest extent permitted by applicable law, in no event shall the operator, contributors, or affiliates be liable for any indirect, incidental, special, exemplary, or consequential damages (including but not limited to loss of data, loss of privacy, loss of profits, or business interruption) arising out of or in connection with the use or inability to use this app, even if advised of the possibility of such damages.
Nothing in this app, its documentation, or any related communications constitutes medical advice, medical diagnosis, or recommended treatment. The app is a personal data tracking tool only. Users should consult a qualified and licensed healthcare professional before making any decisions related to their health.
The operator has no access to, and bears no responsibility for, any content entered into the app or shared between users via the buddy sync feature. Users are solely responsible for ensuring their use of the app and any content shared through it complies with all applicable laws in their jurisdiction.
This app is intended for use by adults 18 years of age or older only. Users under 18 are not permitted to use this app. By using the app, you represent and warrant that you are at least 18 years old.
This app uses the following third-party services in limited, defined roles:
The operator is not responsible for the practices of these third-party services.
The source code for this app and its relay server is publicly available and may be inspected, audited, and self-hosted subject to the terms of its licence.
These terms and any dispute arising from use of this app shall be governed by the laws of the jurisdiction in which the operator is based, without regard to conflict of law provisions.
If any provision of these terms is found to be unenforceable, the remaining provisions will continue in full force and effect.