Legal

Privacy Policy

Your journal is one of the most private things you own. This page explains, in plain language, exactly what 365Pages collects, how it's used, and what control you have over it.

Effective date: September 3, 2026·Last updated: September 14, 2026

Contents

  1. Information we collect
  2. How we use your information
  3. How information is stored
  4. How information is protected
  5. Authentication & third-party services
  6. Cookies & local storage
  7. Whether we share information
  8. Data retention
  9. Your rights and choices
  10. Requesting deletion of your account or data
  11. Children's privacy
  12. Contact us about privacy
  13. Changes to this policy

1. Information we collect

We collect only what's needed to run the product. Here's the full list, grouped by category.

Account information

  • Sign-up details: your name, email address, and password. Your password is handled entirely by our authentication provider, Supabase Auth. 365Pages never sees or stores your password itself.
  • Google sign-in (optional): if you choose "Continue with Google," Google shares your name, email, and profile photo with us to create your account, instead of you setting a password.
  • Profile details you add: avatar photo, bio, timezone, display theme, and onboarding answers (things like your journaling goals, interests, preferred writing style, reminder schedule, and quiet hours).
  • Billing identifiers: if you subscribe to Premium or make a donation, we store a billing identifier and your plan status — a Stripe customer/subscription ID on the web, or a Google Play purchase/order ID on Android. Your card number itself is never stored (see §5).
  • App-lock PIN (optional): if you turn on the in-app "Diary Lock," the 4-digit PIN you choose is stored as a hash on your device profile. This is a local convenience lock for your device, not a substitute for your account password, and it does not encrypt your entries.

Journal and memory content

  • Everything you write: entry titles, body text, mood, energy level, tags, and which prompt or template you used.
  • Optional per-entry location and weather, added only if you explicitly tap "add location" on a specific entry and your browser grants location permission. This is off unless you turn it on and use it (see §5 for the two outside services this calls).
  • Time capsules (messages you write to open later), custom templates you create, and content in any shared journals you participate in (see §7).
  • If you use the optional AI features, we also store the AI-generated output tied to your entries: summaries, reflections, and your "Life Story" book, which is generated from and quotes your own entries (see §5).

Uploaded photos and media

Photos, drawings, audio, video, and files you attach to entries or capsules, plus an optional profile avatar photo, up to 25MB per file. These are stored in private, per-account storage that only your account can read (your avatar is the one exception: it's stored in a public location so it can be shown in shared journals).

Usage and technical information

  • In-app usage events: we log a small number of specific interactions (like which button you clicked) tied to a fixed, developer-defined label, never the content of what you write, so we can see which features people actually use. This is attached to your account if you're signed in, or recorded anonymously if you're not.
  • Push notification data: if you enable push notifications, your browser generates a subscription (an endpoint URL and encryption keys) that we store so we can deliver reminders and capsule-unlock alerts to that browser.
  • Standard web/server logs: like virtually any web service, our infrastructure providers (Supabase and any CDN we use) generate ordinary connection logs (IP address, browser type, timestamps) as part of normal operation. 365Pages' own application database does not store your IP address or browsing history. This is infrastructure-level logging outside our database, retained according to those providers' own operational policies.

2. How we use your information

We use the information above to:

  • Create and secure your account, and let you sign back in.
  • Store, sync, and display your entries, capsules, templates, and media back to you.
  • Run the optional features you turn on: AI reflections, location/weather tagging, push and email reminders.
  • Process subscription payments and donations through Stripe.
  • Operate shared journals you choose to join or create.
  • Understand, in aggregate, which features are used so we can decide what to build or fix next.
  • Investigate abuse, enforce our Terms of Service, and keep the product secure.

We do not use your journal content for advertising, and we do not sell your personal information.

3. How information is stored

All account data, journal content, and uploaded media are stored in a Postgres database and object storage managed by Supabase, our backend provider. Database access is governed by row-level security rules that, by default, restrict every table so a user can only read and write their own rows. This is the same mechanism your entries rely on to stay private from other users, with narrow, explicit exceptions for content you deliberately share into a shared journal.

4. How information is protected

We describe our security measures factually, rather than in absolute terms, since no software is perfectly secure:

  • Row-level access control: the database enforces per-user ownership on every table by default, so one account cannot read another account's private entries through the normal application.
  • Payment data isolation: we never handle or store your card number. Stripe's own hosted checkout and billing portal do that (see §5).
  • Server-side secrets: API keys for services like the AI provider are held only on the server side and never sent to your browser.
  • Upload restrictions: uploaded files are restricted to an allow-list of common, safe file types.
  • Independent security review: in August 2026, a security review of the app identified and fixed a stored cross-site-scripting issue and a privilege-escalation issue in shared journals, and added rate limiting to cost-sensitive endpoints. This reflects a point-in-time review we acted on, not an ongoing certification or third-party audit program.

No online service can guarantee absolute security. If we become aware of a data breach affecting your account, we will notify you at the email address on file.

5. Authentication and third-party services

365Pages is built on top of a small number of outside services, each of which only receives the data it needs to do its job:

  • Supabase: authentication, database, file storage, and the scheduled/background functions that power reminders. Hosts essentially all of your account and journal data.
  • Google (optional sign-in): if you choose "Continue with Google," your name/email/photo come from your Google account via OAuth.
  • Stripe (website): processes subscription payments and donations made on the 365Pages website. Stripe's hosted checkout and billing portal collect your payment details directly; 365Pages never receives or stores your card number.
  • Google Play Billing (Android app): if you subscribe or make a one-time purchase inside the Android app, Google Play processes the payment. We receive a purchase token and order ID to confirm and activate your plan; 365Pages never receives or stores your card number, which Google Play collects and manages directly.
  • Google Gemini API (optional, off by default toggles you control): if you use AI reflection features, the specific entry text, mood, tags, or goals you're asking it to analyze are sent to Google's Gemini API through our own server (your API access key is never exposed to Google directly). You can turn AI features off entirely, or per feature, in Settings, and delete all AI-generated data at any time without affecting your written entries. AI output is clearly labeled as AI-generated and is never a medical or psychological diagnosis.
  • Resend: sends transactional email, such as daily reminder emails and capsule-unlock notices, to the email address on your account.
  • Web Push (browser-native): if you enable push notifications, delivery goes through your browser's own push service (for example, the service built into Chrome or Firefox), governed by that browser vendor, not a third-party push vendor we've added ourselves.
  • Open-Meteo and BigDataCloud (optional): only called if you explicitly add location/weather to an entry. Your coordinates are sent to Open-Meteo to fetch weather and to BigDataCloud to resolve a place name. Neither call happens unless you take that specific action.
  • Google Fonts: our pages load web fonts from Google's font service, which means a font request is made to Google's servers when you visit any 365Pages page.

6. Cookies and local storage

365Pages does not use cookies for advertising or cross-site tracking, and does not set any tracking cookies at all. We do use your browser's local storage (not cookies) for a few things:

  • Your signed-in session, managed by our authentication library, so you don't have to log in every visit.
  • Display preferences: theme (light/dark), color theme, font, text size, spacing, and background.
  • Whether you've already unlocked the optional Diary Lock PIN for the current browser tab session (cleared when you close the tab).
  • Saved filter/search views on the Archive page.

None of this is shared with advertisers, and none of it is used to track you across other websites.

7. Whether information is shared with third parties

We do not sell your personal information or your journal content, and we do not share it with third parties for their own marketing purposes. Information is shared only in these specific cases:

  • Service providers listed in §5, strictly to operate the features you use (hosting, payments, optional AI, optional email/push, optional weather/location lookups).
  • Other members of a shared journal you join or create. If you share an entry into a shared journal, the members of that journal (whose roles you or the journal owner control: owner, editor, or viewer) can see that entry, your name, and your avatar, and can comment or react on it depending on their role. Removing an entry from a shared journal, or leaving the journal, does not retroactively erase what other members already saw while it was shared.
  • Single-entry share links you generate yourself, if you choose to share one entry via a link or invite.
  • Legal requirements: if required to comply with a valid legal request, or to protect the rights, safety, or property of 365Pages or our users.
  • Business transfers: if 365Pages were ever involved in a merger, acquisition, or sale of assets, your information could transfer as part of that deal, subject to this policy.

8. Data retention

We keep your entries, capsules, templates, and media for as long as your account is active. When you delete an individual entry, it goes to a Trash/soft-delete state that you can restore from, until you choose "Delete forever," which permanently removes it. Data you export (see §9) is a copy for your own use and doesn't affect what's stored in your account.

9. Your rights and choices

You can, today, from inside the app:

  • Access and review everything you've written, at any time, in the app itself.
  • Correct your profile details and entries directly in Settings or the editor.
  • Export your data as a JSON file from Settings.
  • Control AI use: turn AI features on/off (overall or per feature) and delete all AI-generated content, without deleting your own writing.
  • Control notifications: turn push and/or email reminders on or off independently.
  • Delete individual entries permanently via Trash → Delete forever.
  • Delete your account entirely, immediately and permanently, from Settings → Your data → Delete my account (see §10).

Depending on where you live, you may have additional rights under applicable law (for example, the right to request a copy of your data, or to object to certain processing). If you'd like to exercise any right not already covered by the in-app tools above, contact us at the address in §12 and we'll do our best to help.

10. Requesting deletion of your account or data

From Settings → Your data, "Delete my account" immediately and permanently deletes your account, including: your profile, every entry and its attachments, time capsules, templates, shared journals you own (and your membership in others), comments and reactions you've posted, recaps, memory collections, AI-generated content, notifications, and uploaded files (photos, drawings, audio, video, avatar). This cannot be undone and does not require contacting us first. If you have an active subscription, we also attempt to cancel it as part of deletion so it doesn't continue to renew.

A few records are kept in a de-identified form after deletion rather than being erased outright — for example, donation and moderation records are stripped of the link back to your account but not deleted outright, since we may have a legitimate accounting, legal, or safety reason to retain that history.

If you'd rather not use the in-app option, or run into a problem with it, contact us using the form on our Contact Us page (choose "Privacy question") or email us directly, and we'll process the deletion manually.

11. Children's privacy

365Pages is not directed at children, and we do not knowingly collect personal information from children. If you believe a child has created an account or provided us information, please contact us at the address below and we will remove it.

12. Contact us about privacy

Questions about this policy, or requests related to your data, can be sent through our Contact Us page (select "Privacy question") or by emailing mr.helpercollective@gmail.com directly.

13. Changes to this policy

If we change this policy, we'll update the "Last updated" date at the top of this page, and for material changes, we'll post a visible notice on this page or in the app around the time the change takes effect. We encourage you to review this page occasionally.