what Subtle is.
Subtle is an iOS subscription tracker. You can photograph or share a subscription receipt, billing page, transaction notification, or similar image, and Subtle extracts fields such as service name, amount, billing cycle, and next billing date.
Subtle does not link to your bank account. Subtle does not show ads. Subtle does not sell personal data.
subscription records and cloud storage.
The iOS app stores subscription records, price history, extraction logs, preferences, and notification settings on your device. When you sign in, subscription records sync to Subtle cloud so the iOS app and web app can share the same library.
Signing in with Google or Apple-backed native auth lets you save recognized subscription records to Subtle cloud. Those records are stored in Subtle's Cloudflare D1 database and associated with your account so you can access your library.
Cloud records are stored in a de-identified and minimized form wherever the service does not need a direct identifier. We keep only the fields needed to provide cloud save, diagnostics, abuse prevention, and deletion, and we separate account identifiers from operational data where practical.
We use HTTPS, strict access controls, limited operational access, Cloudflare-managed platform protections, and deletion workflows to protect cloud data.
photos, screenshots, and AI extraction.
Photos and screenshots are used to extract subscription fields. If you only scan from the homepage without saving, Subtle does not save the original image as a cloud record. If you sign in and save a scanned subscription, Subtle stores the original image in Cloudflare R2 with the saved subscription.
- When on-device OCR is sufficient, the app sends OCR text to the Subtle API for extraction.
- When image understanding is needed, the app sends a processed image to the Subtle API. The image is uploaded to the model provider's temporary file service and then passed to the AI model for extraction.
- Saved originals are served from hard-to-guess public URLs on cdn.subtle.page. Anyone with the image URL can view it.
- Deleting a saved subscription removes the corresponding original image from R2.
- Subtle may store model-call logs that include OCR text, temporary image URLs, model responses, extracted fields, request ID, platform, country, IP address, user agent, app version, and related diagnostic metadata.
- The API may use short-lived cache entries to avoid repeating the same extraction request. These cache entries expire automatically.
Our current AI provider integration uses Kie.ai for temporary file upload and Claude model calls. Provider upload URLs are expected to expire automatically after a short period, currently up to 3 days.
website, waitlist, and feedback.
If you join the waitlist, we collect your email address and a source label such as "landing" so we can send launch updates and important product changes. We do not use the waitlist for third-party ads.
If you send feedback from the website or app, we collect the feedback text, a source label, platform, basic app version when available, and an optional email address if you provide one. We use feedback to improve the product and, if you provide an email address, to follow up about your suggestion.
The website uses Cloudflare Pages and Cloudflare Workers. Cloudflare may process standard request information, such as IP address, user agent, and security signals, to deliver the site, prevent abuse, and provide operational logs. The site currently loads fonts from Google Fonts, which may cause your browser to contact Google to retrieve font files.
Subtle API data.
The Subtle API is used for AI extraction, account login, cloud subscription storage and sync, exchange rates, rate limiting, waitlist signup, feedback submission, short-lived response caching, and related operations.
For AI extraction, Subtle stores database logs of each actual model call so we can analyze quality, debug failures, prevent abuse, and improve the product. These logs may include the model input, model output, parsed extraction result, platform, app version, country, IP address, user agent, request ID, model, response status, and error category. Cache hits do not create a new model-call log because no model call is made.
Operational console logs remain intended for service metadata and should not include feedback message text.
purchases.
Paid app access is handled by Apple through StoreKit and App Store purchase systems. Auto-renewable subscriptions, if purchased, are managed through Apple. Subtle reads purchase entitlement status from Apple to unlock paid features. We do not store credit card numbers.
how we use data.
- To provide receipt and screenshot extraction.
- To save and sync your subscription records on your device and in Subtle cloud when you sign in.
- To operate rate limits, prevent abuse, debug service reliability, and analyze AI extraction quality.
- To send waitlist and launch emails if you ask to join the waitlist.
- To review feedback, prioritize product improvements, and follow up if you provide an email address.
- To comply with legal obligations and App Store requirements.
We do not use your subscription data for advertising. We do not sell your data.
retention and deletion.
Device data remains under your control. You can delete subscriptions in the app or web app, delete the app, or delete your cloud account. Deleting a cloud subscription removes its saved original image from R2.
Waitlist email records, feedback submissions, and AI model-call logs remain until they are no longer needed or you ask us to delete them. Operational logs and short-lived API cache entries are retained only as long as needed for reliability, rate limiting, debugging, security, and abuse prevention.
To request deletion of waitlist data, feedback data, AI model-call logs tied to your requests, or other data we control, email support@subtle.page.
your choices.
- You can choose not to join the waitlist.
- You can send feedback anonymously by leaving the email field blank.
- You can delete local app data by deleting records or uninstalling the app.
- You can ask us to delete waitlist or feedback data by contacting support.
- You can manage App Store purchases and subscriptions through Apple.
children.
Subtle is not intended for children under 13. We do not knowingly collect personal information from children under 13.
changes.
We may update this policy as Subtle changes. If we make material changes, we will update the date above and, when appropriate, provide notice through the website, app, or email.
contact.
Questions or deletion requests: support@subtle.page.