Privacy Policy
Effective October 3, 2026
The short version
ActivityLogs is a solo-developer product. We collect the minimum needed to run your account and, if you opt in, to understand how the product is used. We don't sell your data, and you can export or permanently delete everything whenever you want.
What we collect
- Account info — the username and email you register with, and which version of the Terms of Service you agreed to and when.
- Waiting list email — if you join the waiting list while sign-up is closed, we store the email address you enter, whether and when you confirmed it, and which client sent it. We use it to send one email asking you to confirm the address and one email when sign-up opens. Nothing else. You do not need an account. The sign-up email has a link that removes your address straight away.
- The work logs you create — activities, blockers, snippets, standups, reports, projects, and any other content you log through the web app, CLI, VS Code extension, or Chrome extension.
- API request metadata — timestamps, endpoints called, the response status, the client (CLI, extension, web, mobile) making the request, and a few usage events (account created or deleted, activity or blocker logged with its type, standup generated, waiting list joined or confirmed), used for debugging, abuse prevention, and usage counts. Our server sends this to PostHog together with your internal account id, or the internal id of your waiting list entry — never your email, username, or the content of your logs — and no profile is built from it. We rely on our legitimate interest in running a reliable service for this.
- Product analytics (web app)— via PostHog, only after you accept the analytics consent banner. It records the pages you visit, the page you came from, and technical details of your browser and device (browser and operating system, screen size, language, time zone). When you are signed in, it links them to your account id, email, and username. Share-link tokens, waiting list confirmation tokens and unsubscribe tokens are removed before anything is sent. You can decline, and you can change your choice at any time under "Cookies & local storage" below.
- Product analytics (mobile app)— via PostHog, only after you tap "Allow" when the app asks. It records the screens you open, when the app is opened, closed or updated, and technical details of your device (model, operating system, app version, language, time zone), under a random identifier that is not linked to your account. You can turn it off at any time in Settings → Privacy, which also deletes that identifier from your device.
- Performance monitoring — via Datadog, when configured, in the web and mobile apps. It records page or screen loads, taps and clicks on controls, network requests, and errors, with what you type masked, and runs only after the same consent as product analytics.
- Crash reports — via Sentry, when configured, in the mobile app. When the app crashes, it sends the error, the code that failed, and your device model and operating system, so we can fix it. We rely on our legitimate interest in keeping the app working for this, so it does not ask first.
We don't collect payment details directly — see the Terms for billing.
Where it's processed
ActivityLogs runs on Neon (Postgres, primary datastore), Upstash (Redis, caching/rate limiting), Google Cloud, and Firebase (web hosting). All of these are reputable infrastructure providers we chose specifically because they process data responsibly.
Analytics data is processed by PostHog on its EU cloud, hosted in the European Union.
The content of a log is sent to Google's Gemini API only when you explicitly request an AI-generated summary or report. Gemini never sees your logs otherwise, and isn't used to train on your data.
Email is sent through Resend, which is based in the United States. We send from Resend's European Union region (Ireland). Resend receives the recipient address and the content of the message. This covers waiting list confirmations, team invitations, standup digests, and the confirmation sent when a team subscription starts.
How long we keep it
We keep your data for as long as your account exists. There's no automatic expiry — your logs are your record of work, so we keep them intact until you tell us to remove them.
We keep a waiting list address until 30 days after we send the email saying sign-up is open, or until you remove it sooner. An address with a confirmation link that you did not use is deleted after the link expires, the next time someone joins the list.
Your rights
- Export— email us and we'll send you a full export of your account data.
- Delete — go to Profile → Danger Zone → Delete Account in the dashboard. This immediately and permanently erases your account and everything attached to it. There is no recovery.
- Leave the waiting list — use the link in the sign-up email, or email hello@activitylogs.dev from the address you joined with, and we delete it.
- Stop the team digest email — use the link at the end of any digest email, or the switch on the team page in the dashboard.
Cookies & local storage
- Auth token— stored in your browser's localStorage so you stay signed in. This is essential to the product working and isn't optional.
- Analytics— PostHog/Datadog only ever run in your browser if you accept the analytics consent banner. If you decline, no analytics cookies or scripts load at all. Your choice is stored in your browser's localStorage. In the mobile app, your answer is stored on your device and can be changed in Settings → Privacy.
To change your choice, use the button below. Analytics stops immediately and the banner asks you again.
Children
ActivityLogs is not directed at children, and you must be 16 or older to use it. We do not knowingly collect personal data from anyone under 16. If we learn that we have, we delete the account and its data. If you think a child has signed up, email hello@activitylogs.dev.
Contact
Questions, export requests, or anything else — email hello@activitylogs.dev.
Changes to this policy
If this policy changes in a meaningful way, we'll update the effective date above. Since this is a small, actively developed product, check back occasionally.