Positions Tracker Privacy Policy
Last updated: {date of publication}
The short version
Positions Tracker is a read-only portfolio and risk tracker for crypto futures and spot coins.
- There is no account and nothing to sign up for. We never ask for your name or e-mail.
- Without alerts, the app sends us nothing. Alerts (Pro) stay off until you turn them on; then the app sends our alerts server the price levels of your open positions and what it needs to deliver the alerts, never your keys, amounts or quantities.
- Your keys, balances, amounts and quantities, closed trades, notes and photos never reach us.
- Your exchange keys stay in the iOS Keychain on your iPhone and go only to the exchange they belong to.
- Price charts, spot values and how far your orders are from the price come from the public prices of the exchange that holds the position, the order or the coin. Those requests name only the market, for example ETH/USDT, and carry no key, address or account id. For a coin in a wallet you follow, the value comes from the public service that reads the wallet and the 7-day chart from Binance's or Bybit's public prices, naming only the coin. Coin and exchange logos are built into the app, so showing them sends no request.
- Your journal, your notes and your chart photos stay on this iPhone. They are not in iCloud or in backups.
- A Pro subscription is bought from Apple. We receive no payment details.
- The app contains no analytics, advertising or tracking code, and no third-party code that sends data anywhere.
- Widgets, a position pinned to the Lock Screen and alerts never show amounts. Alerts reach you through Apple's push service, which sees their text (coin, prices, percentages).
Who we are
Positions Tracker is published by {Publisher}, {Publisher address}. For anything in this policy, write to privacy@REPLACE_ME.
What the app keeps on your iPhone
| What | Where | Leaves the iPhone? |
|---|---|---|
| Exchange API keys: key, secret and, for exchanges that use one, the passphrase | iOS Keychain, "this device only": readable only while your iPhone is unlocked, never synced to iCloud Keychain, never moved to another device by a backup | Only to that exchange's own API, to sign your requests |
| A Coinbase key file, if you choose to import it instead of pasting the key | Read once from the file you pick, to fill in the key fields; the app keeps only the key, in the Keychain as above, and does not keep or change the file | No |
| Wallet address for exchanges read by public address, such as Hyperliquid and Lighter, and for the wallets you follow on Solana, Ethereum or Bitcoin (public by nature) | iOS Keychain, stored the same way as keys | Only to that exchange's public API or, for a wallet, to the public service that reads it: Jupiter (Solana), Blockscout (Ethereum) or mempool.space (Bitcoin) |
| The list of accounts you connected (exchange, platform, the label you see, the date you connected it, for a wallet a short form of its address such as 0x7a3f…c41e and, for an exchange where you confirmed the key is read-only, what the exchange checked, what you confirmed and when) | App storage, excluded from iCloud and device backups | No |
| Your settings: Face ID lock, auto-lock delay, start in privacy mode, show R on position rows, appearance, risk limit, display currency, refresh interval | App storage, included in your own iPhone backups like any app's settings | Only into your own iPhone backups (iCloud or a computer); never to us |
| The average buy prices you type for your spot coins, and the coins you chose not to be asked about, by account and coin | App storage, included in your own iPhone backups like your settings | Only into your own iPhone backups (iCloud or a computer); never to us |
| Your exit plans and the arrangement of your Overview. For each coin, an exit plan holds the quantity of the coin the plan is on, each target's price or multiple of your average buy and its share, whether you marked a target taken or skipped and when (with the quantity and the price at that moment), when the price first reached a target, the protection level, and how much of the coin each account held the last time the app looked. The arrangement of your Overview is which widgets it shows, in which order and at which size. Your recent searches stay in app storage on this iPhone, like your plans; Clear removes them. | App storage, included in your own iPhone backups like your settings | Only into your own iPhone backups (iCloud or a computer); never to us |
| Alerts (Pro), if you turn them on: whether they are on and your alert switches (near liquidation and its threshold, stop loss hit, take-profit hit, key expiring) | App storage, included in your own iPhone backups like your settings | The switches go to our alerts server while alerts are on (see "Alerts"), and into your own iPhone backups |
| The alerts identity, made on the iPhone when you turn alerts on: a random install id, a random secret, a random value used to make the position references, and the push token our server has | iOS Keychain, "this device only", never synced, never moved to another device by a backup | The install id and the secret go with every request to our alerts server, which keeps the secret only as a hash. The random value for the references never leaves the iPhone |
| The journal: the closed trades read from your exchanges (coin, market, long or short, leverage, size, entry and exit prices, opening and closing times, profit or loss, fees, funding and how the trade closed) and, for each open position the app sees, its entry price and stop loss, which the journal needs to work out R. A stop record stays as long as its trade is in the journal; one whose trade never arrives is dropped 30 days after the position closed | A file in the app's own storage. iOS keeps it unreadable while your iPhone is locked. Excluded from iCloud and device backups | No |
| Your notes on trades, up to 2,000 characters each | In the journal file, as above | No |
| Chart photos you add to a trade. The app saves its own JPEG copy, at most 2,048 pixels on the long side, without the location or any other metadata of the original; the photo in your library is not changed | Next to the journal, with the same protection, excluded from backups | No |
| A small summary for the widgets: the risk if every stop hits as a percentage of your futures capital and of your equity, how much of your risk limit it uses, your risk limit, the gain if every take profit hits as a percentage of your futures capital, how many positions have no stop, liquidate before their stop or have no take profit, coin and exchange names, long or short, leverage, R multiples, the percent move and price levels of up to 7 positions, the "Needs attention" notes (for example "2 without a stop" or "Bybit key: 6 days", with the label you gave an account when two accounts on one exchange need it), the prices of the orders nearest to filling and how far they are, the next targets of your exit plans with their prices and how far they are, and, with Pro or in demo mode, this month's number of trades, win rate, average R and result as a percentage of your futures capital. No amounts and no quantities | Storage shared only between the app and its own widgets, excluded from backups | No |
| A position you pin to the Lock Screen: coin, exchange, long or short, leverage, R, the current, entry, stop, liquidation and take-profit prices, the distance to the stop and to the first take-profit in percent, and the time of the data. No amounts and no quantities | Handed to iOS, which shows it as a Live Activity on the Lock Screen and in the Dynamic Island until you unpin it, the position closes or iOS ends it | No |
| The reminder before a free trial ends: the trial's end date and the yearly price, nothing about your portfolio | A local notification, scheduled by iOS on your iPhone | No |
| Whether you have Pro: active or not, the plan, whether it is in its free trial and when the period ends | Asked from Apple's StoreKit on the iPhone; the app keeps the answer only in its memory while it runs | No |
| A "Notify me" note, if you ask to hear when Bybit EU becomes available | App storage | No |
Positions, balances, spot coins, orders, loans and other accounts read from your exchanges are held in the app's memory while you use it and are read again as the app refreshes. Public prices are kept in the app's memory while it runs and are never saved.
Nothing in this table is sent to us or to anyone else, except where its last column says so. Your settings, your alert switches, your buy prices, your exit plans and the arrangement of your Overview are included in your own iPhone backups (iCloud or a computer), like the settings of any app; the account list, the journal, your notes and photos and the widget summary are kept out of backups.
Where your data goes
To your exchanges, directly from your iPhone. The app connects only to the official API addresses of the exchanges you add, from a fixed list built into the app. Your key is used only to sign requests to the exchange it belongs to. As with any app that uses an exchange API, that exchange sees the requests, your key and your IP address, and its own privacy policy applies to them.
To the same exchanges, for the journal. For the exchanges whose trade history this version can read (Bybit, OKX, Bitget, Gate, BingX and Kraken Futures with your read-only key, Hyperliquid by public address), the app also asks the exchange's own history for the trades closed since you connected the account, at most every 5 minutes per account. It uses the same read-only key, or the same public address, and sends nothing else. This happens for every connected account, with or without Pro. The other exchanges are not read for the journal yet.
To the same exchanges, for your spot coins. On Binance, Bybit, OKX, Bitget, Gate, BingX, KuCoin and Coinbase, the app also reads, with the same read-only key, the coins in your spot wallet and your open spot orders (on KuCoin, the coins only); on Hyperliquid it reads them by the same public address. On Crypto.com, XT.COM, WhiteBIT, BTSE, Bitvavo, Bitso and Luno it reads, with the same read-only key, the coins in your spot wallet and, where that key may see them, your open spot orders; on Bitvavo, Bitso and Luno, which have no futures, that is all it reads with your key. They go from the exchange of that account straight to your iPhone and nowhere else.
To the same exchanges, for your loans. On Bybit, Binance, OKX, Gate and Bitget the app also reads, with the same read-only key, the loans you hold there: what you owe, the collateral and the loan-to-value ratio. They are kept in the app's memory like your balances and never reach us.
To the same exchanges, for the money you hold elsewhere on them. On Bybit the app also reads, with the same read-only key, how much you hold in its other accounts (Funding, Earn, bots, copy trading and Launchpool). The coins in your Funding account are valued with Bybit's public prices, like your spot coins. It is kept in the app's memory like your balances and never reaches us.
To the same exchanges, for public prices. To draw the 7-day price lines and the charts, to put a value on your spot coins and to show how far your open orders are from the price, the app asks the exchange that holds the position, the order or the coin for its public prices: the candles of a market, or the price of a coin against USDT, or against another currency that exchange quotes it in, such as USD on Coinbase. These requests name only the market, for example ETH/USDT, and carry no key, no signature, no address and no account id; they go only to the exchange of that account, which already knows your positions and orders from your key. Charts are read on Binance, Bybit, OKX, Bitget, Gate, BingX and Hyperliquid, at most once every 15 minutes for each market and chart range (a read that failed may be tried again after 90 seconds). For a futures market where you have open orders but no position, the app reads its newest candles on the same exchanges as part of a refresh, at most once a minute for each market and for up to 20 markets per account; Kraken Futures gives that price with your positions, so nothing more is asked there. A coin's price, for the coins you hold and the coins you have open spot orders on, is read only together with your spot wallet or your other accounts. A coin in a wallet you follow is the exception: see the next paragraphs. Demo mode sends none of these requests.
To Hyperliquid or Lighter, for a wallet address. The app asks that exchange's public API about the address you entered. There is no key, no signature and no wallet connection. That exchange sees the request and your IP address.
To Jupiter, Blockscout or mempool.space, for a wallet you follow. For a Solana, Ethereum or Bitcoin wallet you add, the app sends the public address you entered, in a request with no key and no signature, to the public service that reads that network: Jupiter (api.jup.ag) for Solana, Blockscout (eth.blockscout.com) for Ethereum, mempool.space for Bitcoin. They answer with the coins at that address and their prices. Nothing is signed and the app never connects to your wallet; it never asks for a recovery phrase or a private key, and refuses one if you paste or type it. The service sees the request, the address and your IP address, and its own privacy policy applies. The app reads a wallet when you check it and then about once a minute while the app is open. Our alerts server never gets a wallet address.
To Binance or Bybit, for the chart of a coin in a wallet. A wallet has no exchange of its own, so the 7-day chart of a coin in it comes from Binance's public prices, or Bybit's when Binance does not list the coin, even if you never connected those exchanges. These requests name only the coin's market, for example SOL/USDT, and carry no address, key or account id; that exchange sees the request and your IP address.
To our alerts server, only if you turn alerts on. Alerts (Pro) are off until you turn them on in Settings › Alerts. Then the app sends our alerts server the price levels of your open positions, the end dates of your exchange keys, your alert switches and your time zone, and the push token Apple gives it. The next section, "Alerts", lists exactly what is sent, what is never sent and how long it is kept.
To Apple, for alerts. Apple's push service gives the app a push token for this iPhone and delivers each alert our server sends. Apple sees the text of each alert (see "Alerts").
To Apple, for a subscription. Pro is bought, renewed, cancelled and restored in Apple's App Store with your Apple Account, under Apple's terms and privacy policy. You give your payment details to Apple, never to the app, and we receive none of them. On your iPhone, Apple's StoreKit tells the app whether a subscription is active, whether it is in its free trial and when the period ends; the app sends nothing about it to us. Apple gives us sales and subscription figures in App Store Connect, without your name, e-mail address or payment details.
Nowhere else. Without alerts, the app talks to no server of ours. Coin and exchange logos are built into the app and need no request.
Alerts (Pro, only if you turn them on)
Off until you turn them on. Alerts are a Pro feature and are off by default. Until you turn them on in Settings › Alerts, the app sends nothing to our server and does not ask for permission to send you notifications. Turning them on asks iOS for that permission; if you say no, alerts stay off. Demo mode never sends anything.
What the app sends to our alerts server. Only while alerts are on, with Pro, after a refresh of your live data while the app is open: when your levels change or you change a switch, at least every 10 minutes, and right after you remove an exchange.
- For each open position: a 16-character reference, worked out on your iPhone from the account, the market and the side with a random value that never leaves your iPhone, so our server cannot link it to your exchange account; the exchange; the market (for example ETH/USDT:USDT); long or short; the entry price; the stop loss; up to 10 take-profit prices; the liquidation price; and when the app read these levels.
- For each connected exchange key that has an end date: the exchange and that date, for the reminders 7 days and 1 day before it.
- Your alert switches (near liquidation and its threshold of 3, 5 or 10%, stop loss hit, take-profit hit, key expiring) and your iPhone's time zone (for example Europe/Bucharest), so the times in alerts are your local time.
- The push token Apple gives the app for this iPhone, and whether it belongs to Apple's test or production push service: once, and again if it changes.
- With every request: the random install id and the random secret made on your iPhone when you turned alerts on. Our server keeps the secret only as a hash, to recognise later requests from the same install.
What it never sends: amounts, quantities, position sizes, margin, equity, balances, profit or loss, fees, funding, leverage, your exchange keys, secrets or passphrases, wallet addresses, exchange account ids or account labels, closed trades, notes, photos, your name, your e-mail or your Apple Account. Our server refuses any request with a field it does not expect or a field that looks like an amount or a key. It never receives an exchange key, so even if it were broken into, it could not read your accounts, trade or move funds.
What our server does with it. It follows public prices from the exchanges over one shared connection per exchange, with no key and no account, so the exchanges see only our server asking for prices, never anything about you. When a price comes near your liquidation price or reaches your stop or a take-profit, or a key's end date comes close, it sends you an alert through Apple's push service and keeps a short record of it, so each alert is sent once. The server knows only the levels from the last time the app refreshed: a position you open or close, or a stop you move, while the app is closed is unknown to it until you open the app again. Every price alert says the time of its levels.
What Apple sees. Alerts travel through Apple's push service, which sees their text: the coin, long or short, prices, percentages and the time of the levels (for a key reminder, the exchange and the date), plus the position's 16-character reference. Never amounts or quantities.
Where. Our alerts server answers at alerts.167-233-140-33.sslip.io, on a server hosted by Hetzner Online GmbH in Germany. During the beta it shares that machine with other services, in its own locked-down account, and its database is not backed up. It writes no access log. Like any server, it sees your IP address when the app connects; it counts requests per address in memory to stop abuse and never writes the address to its database or its logs.
How long it is kept.
- The levels of your positions: replaced each time the app sends them. They and the record of the alerts sent for them are deleted at the latest 7 days after the app last sent levels. If you do not open the app for 7 days, alerts for your positions stop until you open it again.
- Key end dates: deleted one day after the date passes. The record of a key reminder already sent: deleted 120 days after it was made.
- Everything about your install (the push token, the hash of the secret, your switches, your time zone and everything above): deleted after 90 days without a request from the app, or when Apple's push service tells our server the app is no longer on the iPhone.
- Deleted data is overwritten in the database file, not only unlinked.
Seeing and deleting it yourself. In Settings › Alerts, "See what we send" shows the levels the app sends, and "Show what our server holds" asks our server what it keeps about your install. Turning alerts off ("Remove my alerts") stops sending at once and asks our server to delete everything about your install; the app then deletes the alerts identity from this iPhone. If the server cannot be reached, the app tries again until it answers.
Read-only, always
The app never places, changes or cancels orders, and never moves or withdraws funds. Before saving a key, the app asks the exchange what the key is allowed to do. Keys an exchange reports as able to trade, transfer or withdraw are refused. When an exchange cannot show a key's permissions, you confirm the key is read-only before it is added. The app only reads, whatever the key allows.
To confirm, you tick one box for each right the exchange did not show; a new key is confirmed again. The account then shows "Read-only confirmed by you", and the app keeps on this iPhone what the exchange checked, what you confirmed and when. If the exchange later shows the key can trade, transfer or withdraw, the app stops using it. Phemex, MEXC, WEEX, Crypto.com, XT.COM, Toobit, WhiteBIT, BTSE, Bitvavo, Bitso, Deepcoin and Luno never show (all of) what a key may do, so on these you always confirm it.
Whatever a key allows, the app itself sends exchanges read requests only: write requests to exchanges are blocked in the app's own code before they reach the network. The journal's history reads, the spot reads and the public price reads follow the same rules: read requests only, to a fixed list of addresses.
Permissions the app asks for
- Face ID (or Touch ID), to lock the app when you are away. iOS does the check; the app never receives face or fingerprint data. You can turn the lock off in Settings.
- Camera, only when you tap "Scan QR", to read the QR code of an API key or a wallet address. The image is processed on the iPhone. Nothing is recorded or sent.
- Notifications, only when you turn on alerts or start the yearly plan's free trial. Alerts come from our alerts server through Apple's push service (see "Alerts"). The trial reminder, 2 days before the trial ends, is a local notification that iOS schedules and shows on your iPhone; nothing about it is sent to us or to anyone else. If you say no, alerts stay off and the app shows the trial's end date instead. The app never asks at launch.
The app does not ask for access to your photo library: when you add a chart photo, the iOS photo picker gives the app only the photo you choose. It does not ask for location, contacts, the microphone or permission to track you.
Widgets and the Lock Screen
Anyone can see your Lock Screen and your Home Screen, so the widgets never show amounts: only percentages, R multiples, prices, counts, coin names and small price ladders. The Home Screen widget you set to show Needs attention, If every stop hits, If every TP hits, Positions, Nearest orders, Exit plan or Journal this month follows the same rule. Alerts show there like any notification: coin, prices and percentages, never amounts.
The same goes for a position you pin to the Lock Screen (Pro): it shows R, prices and percentages, never amounts or quantities, in or out of privacy mode. Only the app updates it, from your iPhone, while the app is open; it uses no push and nothing about it goes through a server. When the app stops updating it, the Lock Screen shows the time of its data. You can unpin it on the position, or turn Live Activities off for the app in your iPhone's settings.
In the app, privacy mode hides every amount with one tap, which is useful before a screenshot: balances, profit or loss, margin, the value of your spot coins and what you paid for them. In the journal it hides the profit or loss of every trade and shows the totals as a share of your futures capital.
Sharing happens only when you choose it
- Share button on a closed trade. Opens the iOS share sheet with a short text that has no amounts, for example "XRP long 5× on Bybit, closed 2 Oct: +2.0 R, +4.0% from entry." Your notes and photos are never part of it. You choose where it goes.
- Exchange report (beta). In Settings, "Send an exchange report" makes a text report that helps us fix an exchange. It holds the time it was made, the app and iOS versions, whether the app is a TestFlight build, the device type, whether the app shows demo or live data, the refresh interval, when the last refresh ran and whether it failed, how many accounts are connected and, for each connected account, its exchange and platform, its status, when it last answered, how many positions and orders were read, which position or order details the exchange left out (as counts), whether it reported the key's end date, which read steps worked and, for a step that failed, the kind of error, and whether its loans were read. It also says, for each account, whether the money held in the exchange's other accounts was read and whether the exchange's own total agrees with the app's (a yes or a no). For an account whose key you confirmed read-only, it also says which rights the exchange showed, which you confirmed and when. It holds no amounts, quantities, prices, keys, addresses or account ids. You see the whole report before sending it, and you send it yourself through the iOS share sheet, for example by e-mail to us. The app does not send it on its own.
E-mails you send us
If you write to us (support, an exchange report, a privacy request), we receive your e-mail address and what you wrote or attached. We use it only to answer you and to fix the app. We keep it only as long as the conversation needs and delete it at the latest 12 months after your last message, unless the law requires us to keep it longer. We never sell it, share it for marketing or add you to a mailing list.
TestFlight and the App Store
- During the beta, TestFlight is run by Apple under Apple's privacy policy. Apple passes us the crash reports from the beta, the feedback you choose to send through TestFlight (your comments and screenshots) and the tester details Apple provides, such as the name and e-mail address we invited. We use them only to fix the app. Tip: turn on privacy mode before you take a feedback screenshot, so it shows no amounts. During the beta, a TestFlight build can turn every Pro feature on for free; its paywall then says "Pro is free while the app is in beta" and nothing can be bought.
- On the App Store, if you turn on "Share With App Developers" in your iPhone's settings, Apple shares crash reports and usage statistics with us in a form that does not identify you. Apple also gives us download numbers in aggregate.
Deleting your data
- Remove an exchange: Exchanges, tap the account, "Remove account". Its key is deleted from the Keychain at once, its trades, stop records, notes and chart photos are deleted from the journal, and the buy prices you typed for its coins are deleted. Your exit plans forget that account: how much of each coin it held and its weight in your average buy. When you remove your last exchange, every exit plan is deleted and your Overview goes back to its first arrangement. With alerts on, the app also sends our server your levels again right away, without that account's positions.
- An exit plan: open the coin in the Spot tab, tap Edit on its plan, then "Delete plan".
- Alerts: Settings › Alerts, turn alerts off and confirm "Remove my alerts". Our server deletes everything about your install at once (your levels, key end dates, switches, time zone, push token and the hash of the secret), and the app deletes its alerts identity from this iPhone.
- A note or a photo: edit the note and delete its text, or touch and hold the photo and choose "Remove photo".
- A pinned position: tap "Unpin" on the position, or swipe it away on the Lock Screen.
- Delete the app: iOS removes the app's files, including the journal, your notes and photos, and the widget data. iOS can keep Keychain items after an app is deleted; Positions Tracker erases any exchange keys left from an earlier install the first time it starts after a new install. Because the journal is not in backups, it does not come back on a restored or new iPhone; your settings, buy prices, exit plans and the arrangement of your Overview are in your backups, so they come back on an iPhone restored from one. If alerts are on, turn them off before you delete the app; otherwise our server deletes your alerts data on the schedule in "Alerts".
- At the exchange: you can revoke the API key on the exchange's website at any time. We recommend doing so when you stop using Positions Tracker.
- Subscription: cancel in the app (Settings › Pro › Manage subscription) or in your iPhone's settings under your Apple Account. Apple keeps its own records of your purchases; for those, Apple's privacy policy applies.
- E-mails: write to privacy@REPLACE_ME and we delete what you sent us.
Your rights
If you turn on alerts, our server holds the data listed in "Alerts" for your install. It is not tied to your name, e-mail or Apple Account, so we cannot tell which install is yours: to see it or delete it, use "Show what our server holds" and "Remove my alerts" in the app. Apart from that, the only personal data we may hold about you is what you e-mail us and, if you test the beta, the tester details and feedback Apple passes us through TestFlight. Under the GDPR you can ask us for a copy of it, to correct it or to delete it, by writing to privacy@REPLACE_ME. You can also complain to your data protection authority; in Romania that is ANSPDCP (www.dataprotection.ro).
Age
Positions Tracker is meant for adults. Crypto futures exchanges only open accounts for people aged 18 or over.
Changes to this policy
When this policy changes, we update this page and the date at the top. If a future version ever needs to send other data off your iPhone, it will explain what and why and ask you first, and this policy will say so before that version is released.
Contact
{Publisher}, {Publisher address}. E-mail: privacy@REPLACE_ME