Privacy Policy

Last updated: 21 April 2026

SubScan helps you track your subscriptions by parsing billing receipts from your connected Gmail account. This policy explains what we access, where it goes, how long we keep it, and what we never do.

SubScan is operated by an independent developer resident in Belgrade, Serbia. For any privacy-related request, contact evgeny.shestakov.0x@gmail.com.

1. What we access

When you connect Gmail, SubScan requests the https://www.googleapis.com/auth/gmail.readonly scope. This is the narrowest Google scope that lets an application search and read Gmail messages. SubScan uses it only to find subscription-billing receipts (Netflix, Spotify, JetBrains, DigitalOcean, and similar services). SubScan does not, and cannot, send, modify, delete, or archive any Gmail message.

When you sign in with Google or Apple, we receive a verified identity token containing your stable user ID and email address. We use those to create your SubScan account.

2. What we store and where

The full text of your Gmail messages is never stored on our servers. Parsing happens on your device. Attachments (invoice PDFs) are fetched on-device, parsed on-device, and discarded.

2.1 How long we keep it

3. Google API Services Limited Use disclosure

SubScan's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements. Specifically:

4. Security

We use standard industry practices to protect your data:

No system is perfectly secure, and we cannot guarantee absolute security. If we learn of a breach that affects you, we will notify you at your account email within 72 hours of discovery, consistent with GDPR Art. 33.

5. Subprocessors

SubScan relies on the following service providers. Each operates under its own privacy terms and, where applicable, a data processing agreement (DPA):

6. Legal bases for processing (GDPR Art. 6)

7. Your rights

Under the EU General Data Protection Regulation (GDPR) and Serbia's Law on Personal Data Protection (ZZPL), you have the right to:

To exercise any of these rights, email evgeny.shestakov.0x@gmail.com. We will respond within 30 days, as required by GDPR Art. 12.

8. International data transfers

Our server and database are hosted by Hetzner in Germany (EU). Data about users in the European Economic Area is therefore stored within the EEA and does not cross a transfer boundary for storage.

The developer is resident in Serbia. Administrative and debugging access to the server from Serbia constitutes a transfer of personal data outside the EEA. Serbia's Law on Personal Data Protection is closely aligned with the GDPR, but Serbia does not currently hold an EU adequacy decision. Where such access involves personal data of users in the EEA, we rely on the derogations in GDPR Art. 49(1)(b) (necessary for the performance of a contract with you) and Art. 49(1)(a) (your explicit consent when you create your account), and we minimize such access to what is necessary for operating the service.

When you use Google Sign-In, Sign in with Apple, or the currency-rate API, your interaction with those providers is governed by their own privacy terms and may involve transfers outside the EEA.

9. Cookies and local storage

SubScan has no website login and sets no cookies. The iOS app stores: session tokens in the iOS Keychain, the display-currency preference in UserDefaults, the scan cursor in UserDefaults, and a local copy of your subscription list in Core Data. No analytics or tracking SDKs are embedded.

10. Children

SubScan is not directed at children. We do not knowingly collect personal data from anyone under 16. If you believe a child has created an account, email us and we will delete the account and associated data on confirmation.

11. Changes to this policy

We may update this page as the service evolves. The "Last updated" date above reflects the most recent change. For material changes (new data types, new subprocessors, new scopes, ownership change) we will notify signed-in users at least 30 days before the change takes effect and will require in-app re-consent.

12. Revoking Gmail access directly

In addition to disconnecting inside SubScan, you can revoke SubScan's access to your Gmail at any time from your Google account permissions page.

13. Contact

Questions, requests, or complaints: evgeny.shestakov.0x@gmail.com.