Home Privacy
Privacy policy
Written in plain English, because a policy nobody can read is not a policy. Short version: your trading statement is processed locally in your browser and is not uploaded to TapeSheet, there is no account, and the analyzer itself counts nothing at all. Every other page but the embeddable clock at /embed/session-clock/ carries Cloudflare’s cookieless visit counter, described below.
This policy is in two halves, because they are two different things. Your trading statement is handled by the analyzer, on your device, and no third party is involved. The website is ordinary web pages served by a CDN, and its content pages load an advertising service’s script while an application to it is under review, which processes the ordinary technical information any such service does. Neither half changes the other.
Part one — your trading statement
Your statement files
When you open a MetaTrader statement in the analyzer, the browser hands the file to page JavaScript through the standard File API. TapeSheet decodes it, parses it with the browser’s own DOMParser, and computes every metric locally. The statement is not uploaded to TapeSheet, is not copied to a server, and is not shared with any third party, because there is no code path that could do so. TapeSheet retains no copy of it anywhere, unless you choose to email it to us, as described below.
You can verify this without trusting us. Open the analyzer, open your browser’s developer tools, select the Network tab, and load a statement: loading it makes no request at all. Stronger still, disconnect from the internet first — the analyzer keeps working, because the entire application arrived with the page.
The same is true of the numbers derived from it. Nothing computed from your statement — not a total, not a symbol, not a date range, not the file’s name — is sent anywhere. There is no sharing feature: the analyzer produces nothing designed to leave your device except a print or PDF you make yourself.
Your journal and settings
Journal entries, tags, daily notes, prop-firm rule sets, your settings and your most recent parsed dataset are stored in IndexedDB, a storage area inside your own browser profile on your own device. We cannot read it, and neither can anyone else without access to your machine and browser profile.
Outside the analyzer, a few pages remember choices you make on them in this browser’s local storage: your time zone, your broker’s server time zone, and the economic calendar’s currency and impact filters. None of it leaves your device, and the cookies page lists every key and how to clear it.
Practical consequences, stated honestly:
- Clearing browsing data or “site data” for this site deletes your journal permanently.
- Private / incognito windows usually discard everything when the window closes.
- Some browsers evict site storage under disk pressure or after long periods of disuse.
- Your journal does not follow you to another browser, another profile, or another device.
- There is no cloud copy for us to restore, because we never had one.
Use Settings → Export in the analyzer to write a single JSON backup file, and keep it wherever you keep important files. Settings → Import reads it back on any machine. If storage is unavailable in your browser, TapeSheet displays a banner and keeps working for the session only.
Accounts, emails and broker credentials
There is no sign-up, so using the tool creates no account, no password and no profile. TapeSheet never asks for broker credentials, investor passwords, API keys or MetaTrader logins, and has no ability to connect to a trading account. The only input it ever reads is a report file you chose yourself.
If you email us, we have your email. That is obvious and it is worth writing down anyway, because it is the one place this site holds information about a person: your address, whatever you chose to put in the message, and any file you attached. It sits in an ordinary mailbox. We keep it for as long as it takes to deal with it and for up to twelve months afterwards, then delete it. We do not add you to any list, use it for marketing, or connect it to anything else — there is nothing to connect it to. If you would rather we deleted a thread sooner, ask and we will. The one exception is a statement you send after a parse failure because we asked for it: we ask you to remove the account number and the holder name first, and we keep the file as a test fixture, beyond the twelve months, so that your broker’s layout keeps parsing. Ask and we delete it.
Part two — the website
Everything from here on is about the website around the analyzer: the pages, the hosting, any counting we do, and advertising. None of it touches your statement.
Analytics
We count visits with Cloudflare Web Analytics. Cloudflare, which serves this site, adds a small script to each page as it is delivered. It records that a page was viewed, the page address, the page that linked to it, the type of browser and device, the country the request came from, and how quickly the page loaded and responded. It sets no cookie, stores nothing on your device, and gives us no identifier for you. We see totals: how many visits, which pages, from which countries. We cannot see who you are or link one visit to another. Cloudflare’s own privacy policy governs what it does with that data. The only other third party this site contacts is Google’s AdSense script, on content pages only, described below under Advertising.
The analyzer at /app/ itself counts nothing. It runs no script from anyone else, and loading, parsing or holding a statement makes no request at all — not a page view, not whether your file parsed, not how long it took. Cloudflare’s visit counter, which the other pages carry, is blocked here by the analyzer’s own security policy, so not even its opening is counted. The analyzer also carries a counter of our own, built and never switched on, and a test in our suite reads the shipped file and fails if it is ever switched on.
Everything below is about our articles — the guides, calculators, glossary and blog. One counter of ours could count there and is switched off, and no third-party analytics runs there beyond Cloudflare’s visit counter, described above. Both are described in full, because what is not running is worth saying as plainly as what is.
Our own counter — no cookies, articles only
It is switched off, and this describes it anyway. Nothing of ours counts anything anywhere today. It is written down before it ships rather than after, so you can see what it would collect before it collects anything.
A short, fixed list of anonymous events: that a page was viewed, that a journal entry was created, that a backup was downloaded. There is no identifier of any kind in any of them — no account, no cookie, no login, no device id, and nothing that links one event to another or to you.
It is ours, not a third party's: about thirty lines that post to this domain. It needs no outside company's code to work and stores nothing on your device, which is why it needs no cookie banner of its own.
Third parties — Cloudflare, and Google while it reviews us
Cloudflare Web Analytics runs on this page and every other, except the analyzer and the embeddable clock at /embed/session-clock/, which block it. Cloudflare, which serves this site, adds a small script as it delivers each page. It records that a page was viewed, the page’s address, the page that linked to it, the kind of browser and device, the country the request came from, and how quickly the page loaded and responded. It sets no cookie, writes nothing to your device, and gives us no identifier for you — we see totals, never a visitor. It does not read Do Not Track, and the switch further down this page does not reach it. Cloudflare’s own privacy policy governs what it does with that data.
The only other third party is Google, and only on content pages. Its AdSense script loads there while our application to Google is under review, and no advertisement is shown while it is. It would never run on the analyzer at /app/, which is the page holding your trades. The Advertising section below says exactly what that script does.
No counter here ever receives your trades. Not a symbol, not a price, not a profit or loss, not a date, not a balance, not your account number, not your broker, and not the name of your file.
We record nothing about a statement at all — not even a template fingerprint. That is worth spelling out, because it is the one thing a tool like this has a genuinely good reason to collect. A template fingerprint is a short hash of the section and column headings your broker's export uses, with every digit stripped out first: two people at the same broker with completely different trading produce the identical fingerprint, so it identifies a layout and never a person. It would have told us which broker layouts fail to parse without ever showing us what was inside one, and we built it. We then decided not to switch it on. It would have been the only thing the analyzer ever sent, and an analyzer that sends nothing at all is worth more than the diagnostic.
When our own counter is switched on, its counting is done by a cookieless analytics provider, and the request goes to this domain and is passed on from our side — your browser never contacts them. To count a visit without a cookie, they derive a daily-rotating anonymous number from your IP address and browser version and then discard both; the IP is not stored and never reaches us in any log we keep. That is the whole mechanism, and it is why this counter needs no consent banner: there is nothing stored on your device to ask you about. Nothing on this site asks you about cookies today: Google’s script, described under Advertising, is the one thing here that could set one, and its consent signals are set to denied before it loads.
Our own counter honours Do Not Track. If your browser sends it, our counter counts nothing; Cloudflare’s does not read it. You can also switch our counter off just for this browser, whatever your browser sends, and you can do it now — the setting is remembered, so it applies to anything of ours we ever switch on later:
None of this changes the rule that matters: your statement is parsed in your browser and is never uploaded, whatever is being counted.
Advertising
TapeSheet is free and intends to stay free. The plan for paying for the domain and the maintenance is advertising on content pages — guides, calculators and explainers — and never inside your data.
- Today: nothing is advertised anywhere on this site, and nothing is earned from advertising. An application to Google AdSense is under review, and while it is, the AdSense script is loaded on content pages — guides, calculators, the glossary and explainers, but not on this page or the cookies page — so that Google can verify and review the site. No ad unit has been requested, so those pages draw nothing in the place an advertisement would later take.
- What that means for you right now: loading that script is a request to Google, and Google may set or read cookies and see your IP address and browser and device information as a result, as an independent controller under its own policy. Apart from Cloudflare’s visit counter, it is the only third party this site contacts; it is contacted on content pages only, and not to show you anything.
- Consent Mode: we set Google’s consent signals to denied before that script loads, on every page that carries it, so it sets no advertising cookie unless you agree to one.
- Never in the tool: the script is not loaded in the analyzer, dashboard, trade journal, trade drawer or prop-firm tracker, nor on the error page. On the analyzer this is enforced by the content-security policy it is served with, not only by which components render there, and the test suite fails the build if a request ever reaches any of them.
- If the application is approved: ads would appear on those same content pages and nowhere else, and this page is updated in the same change that switches them on. In the EEA, the UK and Switzerland you would be asked first, through a certified consent dialog, and refusing it is honoured.
- What has not changed: your statement files and journal stay on your device. No ad-tech code runs anywhere near your trading data.
How Google uses information from sites that use its services is described at policies.google.com/technologies/partner-sites, and personalised advertising can be controlled at adssettings.google.com, opted out of at aboutads.info/choices and, in Europe, at youronlinechoices.eu. Google’s policy is already the operative one for the script described above, and all of those links apply to it. Advertisements are always labelled as such and are never part of TapeSheet’s own analysis or results.
The /ads.txt file at the site root lists the authorised sellers, and it is generated from the same configuration the site is built with — so it cannot fall out of step with what actually serves.
Hosting and server logs
The site is static files served from a CDN (Cloudflare Pages). Like any web host, the CDN processes the ordinary technical information every HTTP request carries — IP address, user agent, requested path, timestamp — to deliver pages and to mitigate abuse, under Cloudflare’s own privacy policy. We do not build profiles from it, and it never contains anything from your statement or journal, which the analyzer never sends over the network.
If you subscribe to one of the economic calendar feeds, your calendar app, or the calendar service it syncs through, fetches that file from the site now and then, exactly like a page request. The file is the same for everyone, carries nothing about you, and we keep no list of who subscribes.
What TapeSheet itself collects, in one list
- From the analyzer: nothing. No statement, no derived figure, no file name, no event.
- From the website: nothing of our own today, only the visit totals Cloudflare’s counter shows us, which identify no one. If our own cookieless counter is switched on, the anonymous page and feature events described above, with no identifier.
- If you email us: your email address and whatever you send.
Third parties — the CDN, and Google while its script loads on content pages — collect what their own policies describe. From the analyzer, the CDN receives only the requests that deliver the page, and nothing else is sent to anyone.
Children
TapeSheet is a tool for adults analysing their own trading records. It is not directed at children, and we do not knowingly collect personal information from children — nothing here asks for an age or a name. South African law treats anyone under 18 as a child; the US COPPA rule, anyone under 13. If you believe a child has sent us personal information, email hello@tapesheet.com and we will delete it.
Who is responsible for this
This site is operated by Inyonitech Solutions (Pty) Ltd, doing business as TapeSheet, in Cape Town, South Africa. Under the Protection of Personal Information Act (POPIA) we are the responsible party for whatever personal information this site processes, and under the GDPR we are the controller. Our Information Officer is registered with South Africa’s Information Regulator and can be reached at hello@tapesheet.com.
South Africa's Information Regulator supervises POPIA and takes complaints directly, whatever we say here. If you are in the EU or UK you may also complain to your own supervisory authority. We would rather you told us first, but neither route depends on our agreement.
Your rights
Rights such as access, correction, deletion, portability and objection apply to data a company holds about you. All we can hold about you is an email you sent us and any statement you donated: ask at hello@tapesheet.com to see it, correct it, delete it or object to how we use it. Everything else is on your device: deletion is Settings → Clear all data (or clearing site data in your browser), and portability is Settings → Export, which hands you the complete contents in a plain JSON file.
Changes
Material changes will be reflected here with a new “last updated” date. Anything that changes what leaves your device will also be announced on the home page.
Contact
Questions about this policy: hello@tapesheet.com, or see the contact page. See also the terms of use, the risk disclaimer, and how this site makes money.
Writing to us is your own choice, and nothing here asks you for a file. Everything above is about information we do not collect; an email is the one route by which you can hand us some anyway. So: please do not send statements, account numbers, broker credentials, or screenshots containing them. Describe the problem instead — which broker, which platform, what went wrong — and say so in words. Whatever you do send is used only to answer your message, apart from a statement you agree to donate as a test fixture.
Being straight about what that wording is: a request, not a disclaimer. It does not move any obligation off us. If a statement lands in this inbox we hold it, and we are the responsible party for it under POPIA from that moment — which is exactly why we would rather it never arrived.