Privacy Policy
Last updated August 20, 2026
This policy explains what the Chart Algo AI iOS app and the chartalgoai.com website (together, the “Service”) collect, why, who it is shared with and how long it is kept. The Service is operated by [Company legal name] (“Chart Algo AI”, “we”, “us”).
The short version. There are no accounts — we never ask for your name, email or password. Your analyses, photos and watchlists live on your phone. A chart photo you analyse is sent to our server, forwarded to an AI provider, and kept in private cloud storage for up to 30 days for debugging and quality checks, then deleted. We use a random device identifier for rate limiting and to keep track of your subscription. We do not sell your personal data.
1. What we collect
We keep this deliberately small. In total:
- Chart images you choose to analyse, plus the ticker symbol and the optional company name and timeframe you type in.
- An anonymous device identifier — a random UUID generated on first launch.
- Technical request data — IP address, user agent, timestamps, response status and timing, recorded in our server logs and call audit.
- Subscription status — whether the device has an active entitlement, managed by RevenueCat and Apple.
- Advertising and attribution data, only if you allow tracking (see section 6).
- Anything you put in a support email, if you write to us.
We do not collect your name, email address, postal address, phone number, payment card details, contacts, precise location or health data. We never see your card number: Apple handles all payment.
2. Chart photos and the analysis pipeline
When you analyse a chart, this is exactly what happens:
- The cropped image is saved on your device so the app can show it in your history and watchlists.
- A copy is uploaded to our server at chartalgoai.com over HTTPS, together with the ticker and any company name or timeframe you entered, and your device identifier.
- Our server forwards the image to an AI vision model via OpenRouter, which routes it to the model provider that performs the analysis. Providers process the image to generate the result and, under OpenRouter's terms as we use them, do not use it to train their models.
- The structured result comes back to the app and is saved on your device.
- We write an audit record of the call (timestamp, ticker, model, status, HTTP code, duration, device identifier, IP address) and store the image bytes in private Cloudflare R2 object storage.
The R2 copy exists so that when an analysis fails or returns something odd we can look at the picture that caused it. The bucket is private — there is no public URL, and access requires a short-lived signed link generated by an authenticated administrator. Audit records and the stored images are deleted automatically after 30 days.
Only upload charts. Please don't photograph anything containing personal information, and note that if a chart screenshot happens to include your account balance or broker details, that goes up with it.
3. The device identifier
On first launch the app generates a random UUID and stores it on the device. It is not your Apple ID, not your device's advertising identifier (IDFA) and not derived from any hardware serial. We use it to:
- enforce per-device rate limits so one device can't hammer the analysis endpoint;
- identify your subscription entitlement to RevenueCat, without an account;
- correlate the audit records for a single device when investigating abuse or a bug.
Deleting and reinstalling the app produces a new identifier, which is why your on-device history does not survive a reinstall. Your subscription does — tap Restore Purchases.
4. Subscriptions
Subscriptions are sold through Apple's In-App Purchase system and managed with RevenueCat, which acts as our processor for entitlement state. RevenueCat receives the anonymous device identifier as the app user ID, plus the purchase receipt information Apple provides (product, purchase and expiry dates, renewal and cancellation events, store country). Apple processes your payment and we never receive your payment details. See RevenueCat's privacy policy and Apple's privacy policy.
5. Server logs and IP addresses
Our servers record standard request logs: IP address, user agent, path, response status, timing and a request identifier. We use them to keep the Service running, to debug errors, and to detect and block abuse (rate limiting and scanner blocking operate on IP address). We also use an error-monitoring service to capture exception reports, which may include an IP address and request metadata.
6. Advertising and tracking
We plan to advertise the app on platforms such as Apple Search Ads, Meta and Google, and to measure which campaigns bring in users.
- The app shows Apple's App Tracking Transparency prompt. If you choose Ask App Not to Track, the app does not access your device's advertising identifier (IDFA) and no cross-app or cross-site tracking for advertising takes place.
- If you allow tracking, ad-attribution SDKs may access the IDFA and share limited install and conversion events with the relevant ad network so we can measure campaign performance.
- Apple's SKAdNetwork and similar privacy-preserving attribution frameworks may report aggregated, non-identifying install data to ad networks regardless of your ATT choice; that is handled by the operating system.
- You can change your choice at any time in Settings → Privacy & Security → Tracking.
This website uses no analytics scripts, no advertising pixels and no third-party cookies. The only cookie it sets is a session cookie on the administrator sign-in page, which is strictly necessary and never reaches ordinary visitors.
7. Data stored on your device
Your analysis history, watchlists, cropped chart images and app preferences are stored locally on your iPhone and are not backed up to our servers. They are included in your iCloud or iTunes device backup if you have that enabled, under Apple's control, not ours. Deleting the app deletes this data.
8. Who we share data with
We do not sell your personal information and we do not share it for cross-context behavioural advertising. We disclose data only to the service providers that make the Service work, each acting on our instructions:
- OpenRouter and the AI model providers it routes to — receive the chart image and the ticker/company/timeframe text to perform the analysis.
- Cloudflare (R2) — private object storage for the temporary debugging copy of the image.
- Heroku / Salesforce — application hosting and the database holding the call audit.
- RevenueCat and Apple — subscription management and billing.
- Sentry — error monitoring, where enabled.
- Ad networks — only the attribution data described in section 6, and only where you have permitted tracking.
We may also disclose data where required by law, to enforce our Terms of Service, or to protect the rights, safety and property of our users or ourselves. If the business is ever sold or merged, data may transfer as part of that transaction; we will say so here first.
9. How long we keep things
- Chart images in R2 and the matching call audit rows — 30 days, then deleted automatically by a scheduled job.
- Server request logs — retained for a short operational period by our hosting provider (typically days, not months).
- Error reports — retained according to our monitoring provider's default schedule, then deleted.
- Subscription records — kept by RevenueCat and Apple for as long as needed to manage the subscription and meet their own legal obligations.
- Support emails — kept while we handle your request and for a reasonable period afterwards.
- On-device data — until you delete it or delete the app.
10. Legal bases (EEA / UK)
If you are in the EEA or UK, we process personal data on these bases:
- Contract — to deliver the analysis you asked for and to manage your subscription.
- Legitimate interests — to keep the Service secure and reliable, prevent abuse, debug failures and monitor quality.
- Consent — for tracking-based advertising attribution (your ATT choice), withdrawable at any time.
- Legal obligation — where we must retain or disclose data by law.
11. Your rights and how to delete your data
Depending on where you live you may have the right to access, correct, delete, restrict or object to our processing of your personal data, to data portability, and to complain to your data protection authority. California residents have rights of access, deletion, correction and to opt out of sale or sharing — we do not sell or share personal information as those terms are defined by the CCPA/CPRA. We will not discriminate against you for exercising any of these rights.
To delete data:
- On your device — delete individual analyses or watchlists in the app, or delete the app to remove everything.
- On our servers — email support@chartalgoai.com with your device identifier (shown in the app under Settings → Account details) and we will delete the matching audit rows and stored images. If you do nothing they are deleted automatically within 30 days.
Because the Service has no accounts, the device identifier is the only way we can locate your records — we cannot action a deletion request without it, and we may ask for information to verify the request.
12. Security
All traffic between the app and our servers uses HTTPS. AI provider keys are held server-side and never shipped in the app. The R2 bucket is private, with no public access; administrative access to the call audit requires authentication and is limited to the operators of the Service. No system is perfectly secure, and we cannot guarantee absolute security.
13. Children
The Service is not directed to children and is not intended for anyone under 18. We do not knowingly collect personal data from children. If you believe a child has provided us with data, email support@chartalgoai.com and we will delete it.
14. International transfers
Our providers operate globally, so your data may be processed in countries other than yours, including the United States. Where required we rely on appropriate safeguards, such as the European Commission's Standard Contractual Clauses, for those transfers.
15. Changes to this policy
We may update this policy as the Service evolves. The “Last updated” date above shows when it last changed; material changes will be highlighted in the app or on this page.
16. Contact
Questions, requests or complaints: email support@chartalgoai.com. We aim to respond within 30 days.