Privacy Policy

Last updated: 2026-09-14

copfice ("we", "us") is a web service that helps you build focus routines with a timer and a pixel-office character. This policy explains what we collect, why, and what you can do about it. It is written to meet Singapore's Personal Data Protection Act 2012 (PDPA), with a supplement for Malaysia at the end.

1. You can use copfice without giving us anything

No account is required. If you use copfice anonymously, your timer records stay in your browser and are never sent to our servers. We do not use analytics cookies, advertising cookies, or tracking pixels.

2. What we collect

If you create an account — your email address, and a password (stored only as a hash by our authentication provider) or a Google sign-in identifier if you use Google. If you sign in with Google, your Google account's basic profile information (such as your email address and name) is provided to our authentication provider as part of sign-in.

Your settings — your time zone, and, for Premium accounts, whether reflection chat is enabled. Your theme choice is stored in your browser. Your language choice is stored in your browser. If you sign up with email, it is also sent to our authentication provider so that the verification email can be in that language, and that choice is kept with your account record there.

Timer recordsonly if you subscribe to Premium. For Premium accounts we store each session's type (working, meeting, break, eating), start and end time, duration, and the time zone recorded at the time. Free accounts and anonymous users keep their records in the browser; those records never reach us.

Subscription records — plan status, renewal and expiry dates, and payment identifiers issued by our payment provider. We never receive or store your card number.

Technical data — your IP address is used momentarily to apply rate limits and is not stored in our database as part of your profile.

3. What we do not collect

We do not collect precise location, contacts, biometric data, or any special category of personal data. We do not store your AI reflection chats. Messages you send in the reflection chat, any image or PDF you attach, your current timer status, recent conversation turns, and your language setting are relayed to Google's Gemini API to generate a reply. The messages, attachments, and conversation turns are not written to our database. Your timer status and your language setting are stored only as described in section 2.

Google processes what we relay under its own terms. We currently use the free tier of the Gemini API, and on that tier Google may use what we relay and the generated reply to improve its products, and human reviewers may read and annotate them after the data has been disconnected from our account and API key. Please do not enter sensitive, confidential, or personal information in the reflection chat.

4. Why we use it

To provide the service you asked for (running timers, saving Premium records, generating reflection replies), to manage your subscription, to keep the service secure and available (rate limiting, error diagnosis), and to comply with legal obligations such as tax and accounting rules.

Where the PDPA requires consent, you give it when you create an account or sign in, and when you use a feature that needs it. You can withdraw consent at any time — see section 8.

5. Who else handles your data

We use the following service providers. They act on our instructions and are bound by their own agreements with us.

ProviderPurposeWhat they receive
SupabaseDatabase and authenticationAccount and stored records above
VercelHosting and content deliveryRequest data needed to serve pages
PolarPayments (Merchant of Record)Billing details you enter with them, and your copfice account ID
Google (Gemini API)Generating reflection chat repliesYour message, any image or PDF you attach, your current timer status, recent conversation turns, and your language setting
SentryError diagnosis and performance monitoringError reports and performance traces, including your browser's language and time zone. We have disabled the sending of IP addresses, cookies, request bodies, and query strings.
UpstashRate limitingA key containing your IP address, and your account ID when you are signed in

We do not sell your personal data, and we do not share it for advertising. Each provider also handles what it receives under its own terms — in particular, Google may use reflection chat content to improve its products while we are on the free Gemini API tier, as described in section 3.

6. Where your data goes

Our providers operate servers outside Singapore and Malaysia, including in the United States and the European Union. When we transfer your data abroad we rely on the providers' contractual data-protection commitments, so that your data receives protection comparable to the PDPA.

7. How long we keep it

Account and subscription data are kept while your account is active. Payment records are kept as long as tax and accounting law requires. Rate-limiting counters expire within minutes, and we no longer create long-term records of them. If you close your account, we delete your data as described below, except records we are legally required to keep. Payment webhook records received from our payment provider are kept for reconciliation and audit. Retention by our providers is governed by their own terms; for the Gemini API in particular we do not control how long Google keeps what we relay.

8. Your rights

You may ask us to access the personal data we hold about you, correct anything inaccurate, withdraw consent, or delete your account and data.

Email copfice.support@gmail.com. We will respond within 30 days. You can delete your account yourself in Settings → Account actions. If we still see a subscription linked to your account, cancel it first — contact us if you need help. Deleting your account removes your profile, settings, timer records, and subscription records from our database. Payment records are kept in pseudonymized form for accounting, and payment webhook records received from our payment provider are kept for reconciliation and audit. If a paid subscription period is still running when you delete your account, the remaining paid time is forfeited.

9. Security

Access to your data is restricted by row-level security so that you can only reach your own records. Traffic is served over HTTPS.

No system is perfectly secure. If a breach occurs that is likely to harm you, we will notify you and the relevant authority as the law requires.

10. Cookies and local storage

We set two cookies of our own, both strictly functional: one remembers your language and one remembers your light/dark theme. When you sign in — or begin signing in — our authentication provider (Supabase) also sets session cookies whose names begin with sb-. We use your browser's local storage to remember your language, your theme, and the date your day last reset. We do not use analytics or advertising cookies.

11. Age requirement

copfice is intended for adults. You must be 18 or older to create an account or use copfice. We do not knowingly collect personal data from anyone under 18. If we learn that we hold personal data from a person under 18, we will delete it.

12. Changes

If we change this policy we will update the date above and, for significant changes, notify you in the app before the change takes effect.

13. Contact

Data Protection Officer · copfice.support@gmail.com


Supplement for Malaysia

If you are in Malaysia, the Personal Data Protection Act 2010 (as amended in 2024) also applies to you, and this section adds to the sections above.

  • You may ask us to limit how we process your data, and you may object to processing that causes or is likely to cause you damage or distress.
  • You may ask for your data in a portable form so it can be transferred to another service, where technically feasible.
  • If a personal data breach is likely to cause you significant harm, we will notify the Personal Data Protection Commissioner within 72 hours of becoming aware of it, and notify you without undue delay.
  • Our data protection contact for Malaysian users is the same address: copfice.support@gmail.com.

Governing text — This policy is published in English. If we later provide a translation and the two differ, the English text governs.