Privacy policy
Most of what ChartPeak knows about you stays on your phone. This page says exactly what that means, what reaches our servers, and which services we use to run the app.
Last updated 20 October 2026
On this page
The short version
- On your phone: your journal, your saved reads and their images, your setup answers, your Academy progress. None of it syncs and we have no copy.
- On our servers: your account (a name, the email you signed in with, or your Google or Apple identity), a record of whether your subscription is active, a daily scan counter, bug reports (the ones you send, and the ones the app sends when it hits an error), and an anonymous count of how many people reach each setup screen.
- Sent to service providers: the chart image you ask to have read goes to Google, our third-party AI-processing provider, for the analysis. Your purchase goes through RevenueCat, which checks your subscription with Apple or Google. Bug reports reach us through a notification service, crash reports go to Sentry, and account emails are sent through Resend. The full list is under who we share data with.
- Never: tracking across apps or sites, advertising identifiers, selling personal information, session recordings, or analytics containing your charts, reads, trades, notes, name or email.
What stays on your device
- Every trade you log, including entries, exits, sizes, fees and notes.
- Every read you save, and the chart image attached to it.
- The answers you gave during setup and your appearance preference.
- Your Academy progress and quiz results.
- Your sign-in session, held in the iOS keychain (or the Android equivalent) rather than in the app database.
None of this is transmitted to us. We do not operate a sync service, so we cannot read it, restore it, or hand it to anyone else. Deleting the app deletes all of it.
What we hold on our servers
Your account
You create an account after subscribing, with an email address and password, with Google, or with Apple. Our authentication provider (Supabase, hosted in the United States) stores the identity you signed in with. Alongside it we keep a profile row holding the name you entered and the date the account was completed. We do not store your password; the provider stores a one-way hash of it. If you sign in with Google or Apple, we receive the identity token and the name and email those services release to us, and nothing else from those accounts. Like most sign-in services, our authentication provider also records the IP address and time of each sign-in, for security.
Your subscription
So that chart reads can be limited to subscribers, we keep one record per account saying whether a subscription is active: the plan, the store’s transaction identifier, when it expires, and whether it was a test purchase. It holds no payment details. It is written by our servers from what RevenueCat reports.
Scan counters
Every chart read is counted against your account so the fair use limits below can be enforced. The counter holds a number and an expiry time. It holds no chart, no result and no journal data.
Read results
The analysis service returns a structured result to your phone (the verdict, the levels, the reasoning) and does not keep it. Neither the photograph nor the result is written to our storage. The only copy of a read is the one saved on your device.
Setup screen counts
The first time the app shows you each of its setup screens (the questions before the subscription offer, the offer itself, and the account screen after it), it tells our server the screen’s name, the day, whether the phone runs iOS or Android, and the app version. The server adds one to that screen’s count for that day and keeps nothing else. No account, device identifier or install identifier is sent, your answers are not sent, and the count cannot be traced back to you. We use it only to see where people stop during setup, so we can make those screens clearer.
Bug reports
If you send a bug report from the app, we receive the app version and build, your device model and operating system version, the screen you were on, your colour scheme, and the error text, plus anything you type into the description. A report does not include your name, your email, your journal, or any chart. It is stored linked to your account, so that reports can be limited per account and so we can tell which reports came from the same person. We use reports only to fix the problem described. Each report is also forwarded to a notification service so that we see it promptly.
When the app hits an error it did not expect while you are signed in, it sends a report like this on its own, with the error text in place of a description. It sends at most a few in one session, and never includes anything you typed.
Crash reports
When the app crashes or hits an error, it sends a crash report to Sentry, a service that groups them so we can find and fix the cause. A crash report holds the technical details of the failure (which part of the app’s code failed), your device model, operating system version and app version, a random identifier for this installation of the app, and a short list of the screens and network requests just before it. It does not include your account, your name, your email, your IP address, your journal, any chart or anything you typed. Nothing is sent when the app is working normally.
What leaves your device, and when
The chart image you ask to have read. When you confirm a crop, that image is sent to our analysis service, which forwards it to Google, our third-party AI-processing provider. Google performs the analysis and returns the structured result you see. This happens only when you choose to run a read, and the app tells you before the first one.
Nothing else is sent with it: not your journal, not your trades, not your answers, not your name. The request is authenticated with your account so it can be counted, but the image is not labelled with who you are when it reaches the provider.
Everything inside your crop is sent
Google receives the whole picture you confirm, not only the candles. If anything else is visible inside the crop frame, it goes to Google as well. On a screenshot from a broker or trading app, that can include:
- your account balance, profit and loss, or buying power;
- your open positions, orders or trade history;
- an account number, your name or your email address;
- notifications, messages or anything else showing on your screen.
ChartPeak does not need any of this. A read only uses the chart itself: the candles or the line, the price axis and, where it is shown, the timeframe. To keep everything else private:
- Use the crop step. Before you confirm, drag the edges of the crop frame so that only the chart and its price axis are inside it. Anything outside the frame is not sent.
- Or take a cleaner picture. Zoom in, or take the screenshot, so that only the chart is on screen.
- If you cannot remove it, do not send that image.
What happens to the image after that
Google reads the image to produce your analysis, and the result comes back to your phone through our server. We do not save the image or the result on our servers; the only copy of a read is the one saved on your phone. Once Google has received the image, Google’s own terms decide how long it keeps it and what else it may do with it, and those terms may allow it to keep the image for a period and to use it to improve its products. We cannot delete an image from Google’s systems for you, which is why the crop step is the moment to remove anything private.
This website
This website is hosted by Vercel. Like any web host, Vercel keeps short-lived request logs (your IP address, the page requested, the time and your browser type) to deliver the site and protect it from abuse. We use them for nothing else. The site sets no cookies of its own and runs no analytics or advertising scripts; the cookie policy has the detail.
If you use the password reset page, the email address you type is sent from your browser to our authentication provider (Supabase), which checks whether it belongs to an account and, if it does, sends the reset email. The check is limited per network address to stop it being used to test lists of addresses. If you write to us by email, we keep the conversation for as long as we need it to help you.
Decisions the app makes automatically
A read is not a decision about you. ChartPeak analyses a picture of a chart, not a person. The verdict, the levels and the reasoning describe the market in the image. They are not a judgement about your creditworthiness, your suitability for anything, or your character, and they are not built from a profile of you. In fact, nothing about your account, your journal or your history is sent with the image or used to produce the result. Two people who photograph the same chart get the same kind of answer.
The analysis is informational, and the decision to act stays yours. ChartPeak does not place trades, does not connect to a broker, and cannot move money. Nothing it returns is financial advice. It is wrong sometimes, which is why it is allowed to say there is no trade in a chart rather than invent one.
Two things are decided automatically, and both are mechanical. Whether your subscription is active, which decides whether a read runs at all; and the fair use counters below, which stop a read when an account has run too many. Both are simple counts and dates rather than any assessment of you, they affect access to a paid feature rather than your legal rights, and the app tells you which one applied and when it lifts. If you think either has been applied to you in error, write to us and a person will look at it.
We do not use your data to train or fine-tune any model of our own. We have no models of our own. What happens to a chart image once it leaves us is covered above and under who we share data with.
Fair use limits on chart reads
Every chart read costs us a call to a paid AI service, so the number of reads is capped. The limits are set far above what reading charts by hand looks like. They exist to stop automated abuse, not to meter ordinary use, and most people never come near them.
| Limit | Reads | Window |
|---|---|---|
| Per account, across all your devices | 60 | Each day |
| Short burst, per account | 6 | Each minute |
- The daily count resets at midnight UTC, not twenty-four hours after your first scan. Depending on your timezone, that may land in your afternoon.
- A read counts once it reaches our server, even if the result that comes back is not useful to you. The cost is incurred when the request is made.
- A picture that is not a chart counts as 5 reads toward the daily limit, instead of one. This applies when the analysis service finds no price chart in the picture you send.
- The cap cannot be bought past. There is no higher tier, and reaching it does not affect the rest of the app.
- There is also a service-wide ceiling that protects us from a runaway bill. It is set well above what our current number of users could reach, and if it is ever hit the app says so plainly rather than failing silently.
When you reach a limit, the app tells you which one and when it resets. We may adjust these numbers as the service grows; this page is updated when they change.
Permissions the app asks for
- Camera: only to photograph a chart. No video is recorded and no audio is captured.
- Photo library: only to let you pick a chart screenshot. ChartPeak reads the image you select and nothing else in your library.
- Notifications: optional, and local to the device. The few reminders the app sends are scheduled on your phone rather than pushed from a server, and you can turn them off in your device settings at any time.
Tracking, analytics and advertising
ChartPeak does not track you across apps or websites, does not use advertising identifiers, and does not sell or share personal information for advertising. The website sets no tracking cookies; see the cookie policy.
The app uses no analytics provider or analytics SDK, and it does not send taps, session recordings or usage of the app after setup. The only usage information it sends is the anonymous setup screen count described under what we hold on our servers, which goes to our own server, is not linked to you and is not used for tracking.
Payments
Subscriptions are sold through Apple’s App Store (and Google Play, when the Android version is listed). The store handles payment and holds your payment details. We never see your card number.
We use RevenueCat to manage subscriptions. When you buy on the paywall, before you have an account, the app identifies you to RevenueCat with a random identifier. Once you create an account, that purchase is linked to your account identifier. RevenueCat receives your purchase and renewal history from the store and basic technical details from the app (such as the app version, device model, operating system, country and IP address), and tells us whether your subscription is active. It does not receive your journal, your reads or your charts. RevenueCat processes this data on our behalf under its own privacy policy.
Who we share data with
These service providers process data for us, only to run the app:
- Google: our third-party AI-processing provider. It receives the chart image for analysis, and nothing else. Google’s terms may allow it to use submitted content to improve its products.
- Supabase: hosts our authentication, database and the analysis function, in the United States.
- RevenueCat: manages subscriptions, as described under Payments.
- A notification service: receives the content of each bug report, so that it reaches us.
- Sentry: receives crash reports, as described under Crash reports.
- Apple and Google: as sign-in providers if you choose them, and as the stores that process your subscription.
- Vercel: hosts this website, as described under this website.
- Resend: delivers the account emails we send you, such as sign-up confirmation and password reset, and receives the address and the message.
We do not share data with anyone else, and we do not sell it. We would disclose data if the law required us to, and we would tell you if we were allowed to.
If you want to know which company provides any service on this list, ask us using the details under who we are and we will tell you.
How we protect it
Everything the app sends travels over HTTPS. Your sign-in session is held in the iOS keychain, or the Android equivalent, rather than in the app’s database. On the server, every table carries row-level rules enforced by the database itself, so one account cannot read another’s rows even if the application code has a bug. Our hosting provider encrypts stored data at rest. The keys for the AI service are held as server-side secrets and are not present in the app you download; the build is blocked automatically if one ever becomes reachable from it.
The strongest protection here is how little there is to lose. Your journal, your trades, your saved reads and their images never leave your phone, so there is no server for anyone to take them from. What a breach of our servers could expose is a name, a sign-in email, a subscription status and any bug reports you sent.
No system is perfectly secure and we will not claim otherwise. If you think you have found a security problem, write to us and we will treat it seriously and without hostility.
If something goes wrong
If personal data we hold is exposed, lost or accessed by someone who should not have it, we notify the relevant supervisory authority within seventy-two hours of becoming aware where the law requires it, and we tell affected people directly where the risk to them is high. We will tell you what happened, what was affected, and what we did about it, in plain words and without waiting to be asked.
How long we keep it
- Your account and profile: until you delete the account.
- Scan counters: they expire on their own within a day of being set.
- Subscription record: until you delete the account. RevenueCat’s record is deleted when you delete the account; Apple and Google keep their own purchase records under their terms.
- Sign-in records kept by our authentication provider: for a limited period set by that provider, for security.
- Bug reports: deleted automatically twelve months after you send them, or straight away when you delete your account.
- Crash reports: deleted by Sentry automatically, at most ninety days after they are sent. They are not linked to your account, so there is nothing in them to find for one person.
- Setup screen counts: kept as daily totals. They identify nobody, so there is nothing in them to delete for one person.
- The chart image: not stored by us. The analysis provider’s retention is under its terms.
- Backups: our hosting provider keeps encrypted backups of the database on a rolling schedule. Something you delete is gone from the live database at once, and works its way out of the backups as they rotate, within thirty days. We do not restore a backup to recover deleted data.
Where the law makes us keep something longer, such as a tax or accounting record of a payment, we keep that record and nothing more, for as long as the law requires and no longer. Deleting your account does not cancel your subscription; that is done in the App Store or Google Play, because only the store can do it.
Why we are allowed to process this
If you are in the United Kingdom, the European Economic Area or Switzerland, data protection law requires us to have a lawful basis for each thing we do with your data, and to tell you which one. Here is the whole list.
| What we do | Lawful basis |
|---|---|
| Hold your account, run a chart read, keep your subscription record | Contract: we cannot give you what you paid for without it |
| Count scans against the fair use limits, and keep sign-in records | Legitimate interests: preventing abuse and keeping the service affordable enough to exist |
| Act on bug reports and crash reports | Legitimate interests: fixing the app you use |
| Count how many people reach each setup screen | Legitimate interests: finding the setup screens people give up on, so we can improve them |
| Send optional reminders, if you allow notifications | Consent: withdraw it in your device settings at any time |
| Keep records of payments, answer a lawful demand | Legal obligation |
Where we rely on legitimate interests, we have weighed that interest against your rights and kept the processing to the minimum that works: the scan counter holds a number and a date and no chart, and neither a bug report nor a crash report carries a name, an email or a journal. You can object to any of it; see below.
We do not ask for or want special category data: no health, biometric, racial, political, religious or sexual-orientation information, and no government identifiers. Do not put any of it in a bug report.
Your rights and choices
You can see and change your name in the app’s Profile tab. You can delete your account from the same tab, which removes it, your subscription record and your bug reports from our servers, asks RevenueCat to delete its record of you, and clears the local database; the account deletion page walks through it. If you are in the EU, the UK, California or anywhere else with a privacy law that gives you rights of access, correction, portability or erasure, you can exercise them by deleting the account yourself or by writing to us, and we respond within the time the law sets. We do not discriminate against anyone for exercising a privacy right.
Because we hold so little, a data access request usually returns your name, your sign-in email, the dates on the account, your subscription record and any bug reports you sent. Everything else is already on your phone.
Spelled out, the rights are these: to be told what we hold and get a copy of it; to have it corrected; to have it deleted; to restrict or object to what we do with it, including anything we do on the basis of legitimate interests; to receive it in a portable form; and to withdraw any consent you gave, without that affecting what we did before you withdrew it. Exercising any of them costs nothing and we will not treat you differently for it.
If you are unhappy with how we answer, tell us first and we will try again. You do not have to: you can complain directly to your data protection authority. In the UK that is the Information Commissioner’s Office (ico.org.uk). In the EEA it is the supervisory authority where you live, work, or where you think the problem happened; the list is at edpb.europa.eu.
If you are in the United States
California, Colorado, Connecticut, Virginia, Texas, Oregon, Montana and a growing list of other states give their residents rights over personal information. We extend the same handling to everyone rather than sorting people by state, so whatever your state law entitles you to, you have it here: the right to know what we collect and why, to get a copy, to correct it, to delete it, and not to be discriminated against for asking. There is no paid tier that buys more privacy, and no feature is withheld from anyone who exercises a right.
We do not sell personal information, and we never have. We do not share it for cross-context behavioural advertising. There is no advertising, advertising identifier or data broker in this product. If you are looking for a “Do Not Sell or Share My Personal Information” link, its absence is the answer.
Do Not Track and Global Privacy Control. Because neither the app nor this website tracks you across other sites or apps, there is no tracking for a Do Not Track signal to switch off, and we treat every visitor the same whether or not one is sent. A Global Privacy Control signal is honoured as a request not to sell or share your personal information, which we do not do for anyone.
In the language those laws use, the categories we collect are identifiers (your name, your sign-in email, an account identifier, and the IP address recorded when you sign in), commercial information (that you hold a subscription and which one), and internet or device activity limited to what a bug report carries. We collect no precise geolocation, no biometrics, no sensitive personal information, and no information about your finances; your trades and your journal never reach us. We use all of it only for the purposes set out above, and we do not retain it beyond the periods in how long we keep it.
To make a request, write to us using the contact details under who we are. We may need to confirm you control the account before we act, which normally means answering from the email address the account uses. You can use an authorised agent; we will ask for proof that you authorised them.
If you are in Israel
Israel’s Privacy Protection Law, 1981, asks us to tell you a few things when we collect information from you. You are under no legal obligation to give us any of it. It is voluntary, but without an email or a Google or Apple sign-in we cannot create the account a subscription needs, and without the chart image we cannot read the chart. What we collect, why, and who receives it are set out above, under what we hold on our servers and who we share data with.
You have the right to see the information we hold about you, and to ask us to correct or delete it if it is wrong, incomplete, unclear or out of date. Write to us using the details under who we are and we answer within thirty days. If we refuse a request, we tell you why, and you can take the matter to the Privacy Protection Authority (gov.il) or to court.
International transfers
ChartPeak is run from Israel, which the European Commission recognises as giving personal data an adequate level of protection. Our core servers and most services listed above are in the United States. Wherever you use ChartPeak from, your account data, your subscription record and the chart images you choose to send are processed in the United States, and transfers there from Israel are made to providers bound to protect the data as Israeli law requires.
We rely on the European Commission’s Standard Contractual Clauses, and on the UK International Data Transfer Addendum for transfers out of the United Kingdom, in our agreements with those providers. Some of them are additionally certified under the EU-US Data Privacy Framework and its UK extension. The practical safeguards are in the section above: data encrypted in transit and at rest, and a deliberately small amount of it leaving your device in the first place. If you want to see the transfer terms that apply to a particular provider, ask and we will point you at them.
Children
ChartPeak is not directed at children and is not intended for anyone under 18. We do not knowingly collect data from anyone under 18; if you believe we have, write to us and we delete it.
Who we are, and how to reach us
ChartPeak, the app and the website at https://chartpeak.app, is operated by Yaron Lehman, an individual based in Israel, not by a company. Yaron Lehman is the data controller (in Israeli terms, the database controller) for everything described on this page, and when this policy says “we”, it means Yaron Lehman. We give a postal address for formal correspondence on request.
To reach us with a question, a request about your data, or a complaint, email support@chartpeak.app. We answer privacy requests within the time the law sets: thirty days under Israeli law, one month under UK and EU law, forty-five days under most United States state laws. If a request is complex enough to need longer, we tell you inside that first period and explain why.
Changes to this policy
If this policy changes in a way that affects what leaves your device or what we keep, the app says so before the change takes effect rather than relying on you re-reading this page, and where the law needs your consent for a change, we ask for it. Every version is published here, and the date at the top is the date of the current one.
Get ChartPeak
Photograph any trading chart and get a clear AI read in seconds: trend, key levels, entry, exit and risk, or an honest no trade call.