Clarity ("the app", "we", "our") is a personal planner and journaling
app. This page explains what data Clarity collects, how it's used,
and how you can control or delete it — including data related to the
optional Google Calendar integration.
1. Data you create in Clarity
When you use Clarity, the app stores the content you create, such as:
- Planner events, tasks, and reminders
- Habits and what you log for them (check-offs, amounts, notes)
- Clock-In sessions (what you timed, how long, and any note you add to a session)
- Journal entries and notes
- Photos, videos, audio and voice recordings you attach (see section 5, Cloudinary)
- App preferences (themes, categories, settings)
If you're signed in, this data is stored in your account (Firebase
Authentication + Firestore, operated on our behalf by Google Cloud).
If you're not signed in, this data stays only in your browser's
local storage on your device and is never sent to our servers.
2. Google Calendar integration (optional)
If you choose to connect Google Calendar from
Settings → Google Calendar, Clarity requests access to:
calendar.events — to create, update, and delete events on the Google Calendar you select
calendar.readonly — to read your existing events and calendar list, so we can sync them into the planner
We use this access only to keep your Clarity planner and Google Calendar in sync, two ways:
- Events you create in Clarity are added to your chosen Google Calendar.
- Events on that Google Calendar are mirrored into your Clarity planner.
- Edits and deletions are reflected in both places.
How the connection works, technically:
-
Your Google refresh token is encrypted (AES-256-GCM) and stored in
an
httpOnly, Secure, first-party cookie
on our server. It is never exposed to page JavaScript, never
logged, and never shared with any third party.
-
The browser only ever holds a short-lived access token (expires in
about an hour) used to talk to Google's Calendar API directly.
-
Calendar event data (titles, times, locations, descriptions) is
exchanged directly between your browser and Google's servers, and
is also stored in your Clarity account so it can appear in your
planner.
3. Google Tasks integration
Google Tasks sync is not currently offered in the app. Clarity does
not request the tasks scope or access your Google Tasks
account in any way. If this integration is reintroduced in a future
update, this policy will be updated first to describe it before it's
enabled.
4. How to disconnect / delete this data
-
In-app: go to Settings → Google Calendar → Disconnect.
This revokes Calendar access at Google and deletes the stored
refresh token immediately.
-
From your Google Account: visit
Google Account → Security → Third-party access
and remove Clarity at any time.
-
To delete your Clarity account and all associated planner/journal
data, go to Settings → Account → Delete account
inside the app, or visit
clarity's account deletion page
for step-by-step instructions.
5. Other services we use
- Firebase (Google Cloud) — authentication and data storage for signed-in accounts, and push notifications for reminders.
- Cloudinary — optional media hosting for the photos, videos, audio and voice recordings you attach to planner items or journal entries.
- Clarity Premium payment processing — handled by PayMongo for customers in the Philippines (QR Ph is currently the only payment method available there; GCash, Maya and card are coming soon), and by Lemon Squeezy (USD, card) for customers everywhere else on the web; Lemon Squeezy acts as the merchant of record for those sales. Premium purchases made in the Android app are processed by Google Play Billing, subject to Google's own privacy policy and payment terms. Neither PayMongo nor Lemon Squeezy receives your Calendar data; they only receive what's needed to process a payment (email address, plan selected, and payment details you enter directly on their hosted checkout page — we never see or store your card number). Google Play Billing purchases are handled entirely within the Play Store's own purchase flow tied to your Google account — we never see or store your payment details there either. To show the right prices and your country's public holidays, the app looks up your approximate country from your IP address; it is remembered only on your device, not stored with your account.
We do not sell your data, and we do not share it with third parties for advertising purposes.
6. Android app: permissions and on-device data
The Android app asks for some permissions only when you turn on the feature that needs them. Here is what each one is used for:
-
Clock-In App Blocker (Usage Access and "Display over other apps") —
an optional Premium feature that covers the apps you choose while a Clock-In
session you started is running. With Usage Access, the app checks which app is
open on your screen, only while such a session is blocking apps; with "Display
over other apps" it shows its cover screen on top of a blocked app. To let you
pick which apps to block, it reads the list of apps installed on your phone. The
list of apps you block, the installed-apps list and which app is open
stay on your phone: they are never sent to our servers or
anyone else. Blocking stops when the session ends or the timer runs out, and you
can turn either permission off at any time in your phone's Settings.
-
Microphone — used only when you tap Record to make a voice
recording to attach to a planner item or journal entry. Nothing is recorded at any
other time. A recording you keep is uploaded to Cloudinary like any other
attachment (section 5).
-
Notifications, alarms and reminders — to deliver reminders and
alarms on time, even when the app is closed or your phone is asleep, the app
stores a push-notification token for your device, your time zone, and the time of
your next reminder in your account, and our server sends a push message through
Firebase Cloud Messaging when a reminder is due. Alarms you snooze, and a running
Clock-In timer's end time, are sent to our server for the same reason (their
time and title only). The
reminder is checked against what's on your phone before it rings.
-
Home-screen widgets — the data a widget shows (for example
today's habits or planner items) is copied to storage on your phone so the widget
can display it. It isn't sent anywhere.
7. How we protect your data
Sensitive data — especially your Google Calendar content and credentials — is protected with the following measures:
-
Encryption in transit: all traffic between your
browser, our servers, and Google's APIs is sent over HTTPS/TLS.
We never transmit calendar, journal, or credential data
over an unencrypted connection.
-
Encryption at rest: your Google refresh token is
encrypted with AES-256-GCM before it's stored, in an
httpOnly, Secure, first-party server
cookie — never in browser local storage, never exposed to page
JavaScript. Firestore data (planner, journal, tasks, account
data) is encrypted at rest by Google Cloud's default storage
encryption.
-
Least-privilege access: only the OAuth scopes
needed for the feature you enable are requested (see section 2),
and the refresh token is used solely to sync Calendar data on
your behalf — never for any other purpose.
-
Access controls: production data stores and the
server-side token store are accessible only to the app's
operator (Clarity is a solo-developer project), gated by Google
Cloud IAM and Firebase security rules scoped per-account so one
user's data is never readable by another.
-
No third-party sharing of sensitive data:
Calendar, journal, and planner content is never sold,
shared with advertisers, or given to any third party outside the
infrastructure providers named in section 5 (Firebase, Cloudinary),
and those providers never receive your Google refresh token.
-
Revocation: disconnecting (section 4) deletes the
stored refresh token immediately and revokes Clarity's access at
Google — it isn't just marked inactive.
8. Data retention
Your content is kept until you delete it or delete your account. The
encrypted Google refresh token is kept for up to 180 days of
inactivity, or until you disconnect, whichever comes first.
9. Children's privacy
Clarity is not directed at children under 13, and we do not knowingly collect data from them.
10. Changes to this policy
If this policy changes, we'll update the "Last updated" date above.
11. Contact
Questions about this policy or your data? Email labsmilestone@gmail.com.