PRIVACY POLICY
What Lotline stores, and why.
Last updated: · Operator Uplift
This policy covers lotline.dev and the Lotline Android app, which opens the same site. Operator Uplift runs Lotline. You can plan without an account, and every upload is an action you choose.
Planning without an account
You can plan, get estimates and export a plan without an account. Your draft (budget, assets and percentages) is saved in this browser. Lotline receives it only when you ask for live data or choose to save it to an account.
Accounts and sign-in
Accounts are optional. Supabase runs sign-in for Lotline. There are two ways in:
- Email and password. Supabase Auth stores your email address and a hashed password, never the password itself.
- Sign in with Solana. Your wallet signs one message that names this site, the time and the words “Sign in to Lotline. This proves you hold this wallet; it sends no transaction and moves no funds.” Supabase Auth checks the signature and records your wallet’s public address as the account’s identity (a
web3:solanaidentity). No email is needed. The signature cannot move funds.
Signed in, cookies on this site keep your session. Supabase Auth may log sign-in events, including your IP address, for security under its own policy. Signing out ends the session on this browser. It does not delete anything.
What an account stores
Nothing from your draft is uploaded when you sign in. These records exist only after you choose the action that creates them:
- Saved plans (Save this plan): a name, a USDC budget, the assets and their percentages, and when you saved it. Up to 20. No wallet address, balance or quote.
- Synced reminders (sync on a reminder): its budget, split, weekly or monthly cadence, time zone, next date and whether it is paused. Reminders stay on your device unless you sync them.
- Shared community plans (Share to community): the saved plan’s name and split, an optional display name, a copy count and dates. Anyone can see these on Community. Your budget, email and wallet are never shown. Each shared plan also carries an author key, the same for all your shared plans, so a reader can hide your plans on their own device. It is a salted hash and does not reveal your account.
- Copies. When a signed-in member copies a shared plan, we record that their account copied it, once, to count copies. A copy by an account less than a day old is recorded but not counted. Authors see only the total.
- Reports. When you report a shared plan, we store the plan, your reason and the time. A signed-in report is linked to your account. A guest report is linked to a salted hash of your IP address instead of the address itself. Reports are never shown to the author or to other members. A plan reported by three different people is hidden until it is reviewed; reports from accounts less than a day old are kept but do not count toward that.
Follows of community plans and authors you hide are stored on your device only; Lotline never stores them. When Portfolio refreshes a followed plan, your browser requests that plan from our server the way a gallery visit does, so that request names the plan, but we keep no record of what you follow.
Purchases and the purchase journal
In-app purchases are a restricted launch for reviewed wallets. Everywhere else they are off, and you can take your plan to Jupiter yourself.
When a purchase is reviewed, Lotline records it in a purchase journal: your wallet’s public address, the budget, the assets and amounts, the quote, fee and route details, the transaction Jupiter prepared for your review, a hash of each transaction, each transaction’s signature once your wallet signs it, and the status and receipt of every step. Your signed transaction passes through our server to Jupiter, which sends it to Solana. The journal is linked to your account when you are signed in. Otherwise it is linked to a random key in a cookie that lasts one day.
Your wallet asks you to approve every transaction. Lotline never sees or stores your private key or recovery phrase and never asks for them.
Live data and the services we use
Your browser talks only to lotline.dev, to Supabase for accounts and, on Android, to your wallet app on the same device. Our server makes every other request, so those services see our server, not your device. Each one receives only what the request needs:
- Vercel hosts lotline.dev and runs our server. It may keep request logs, including IP addresses, under its own policy.
- Supabase stores accounts, the records above and our rate-limit counts.
- Our Solana RPC provider receives a public wallet address when you load balances, and transaction signatures when a purchase receipt is checked. It also serves public token and price accounts. The address you paste to load balances travels to our server as a query parameter, is held in our server’s memory for at most 15 seconds to avoid repeat requests, and is not stored by Lotline; like any request, it may appear in our host’s request logs.
- Jupiter receives token addresses and USDC amounts for estimates, with no wallet, and token searches for Markets. For a restricted-launch purchase it receives your wallet’s public address and your signed transaction.
- GeckoTerminal receives a token’s public address to return its price history for charts.
- Pyth receives public price-feed IDs for reference prices.
- xStocks (Backed) and PreStocks provide their public catalogs and token details. Backpack provides public market prices for some assets. When switched on, tokens.xyz provides extra public asset details. None of them receives anything about you.
Opening Jupiter from your plan takes you to its own website, with its own terms and privacy practices. Lotline cannot see what you do there.
Rate limits and your IP address
To keep live data and accounts available, our server counts requests from each connection. It reads your IP address from our host’s network header. Two counts are kept:
- A short count over a one to ten minute window, keyed by the IP address (an IPv6 address is shortened to its /64 network first). It stays in our server’s memory, is never written to disk, and is dropped when the server needs the room or restarts.
- A shared count in Supabase, keyed by a salted hash of the IP address (HMAC-SHA-256 with a dedicated server secret; IPv6 by its /64 network), never the address itself. Counts older than a day are removed during routine cleanup.
On your device
Lotline keeps these in this browser’s storage:
- Your plan drafts for xStocks and PreStocks, a target split, and reminders.
- Community plans you follow and authors you hide.
- While a purchase is in progress, a short record of the transactions this browser sent, so it never sends one twice. For the open tab only, the purchase or followed plan you are reviewing.
- Account session cookies and, for a guest purchase, the one-day journal key.
- The installed app’s offline copy of the synthetic Example. Live data, account pages and saved plans are never cached for offline use.
- On Android, Mobile Wallet Adapter can remember your wallet app’s approval, including its public address, so it does not ask on every visit.
Clearing this site’s data in your browser removes all of it.
Plan links and exports
A plan link holds its mode, budget, assets and percentages after the # in the address. Browsers do not send that part to servers. Anyone you give the link to can read the split. Copied plans, CSV files and calendar files stay with you.
What we never do
- No advertising, analytics or tracking scripts.
- We do not sell or rent your data.
- We never ask for your private key or recovery phrase, and nothing in Lotline can move your funds without your wallet’s approval.
How long we keep data
- Accounts, saved plans, synced reminders and shared plans: until you delete them or delete your account.
- Copy records: until the shared plan or the copying account is deleted.
- Reports: until the shared plan or the reporting account is deleted.
- Purchase journal for an account: until you delete your account.
- Purchase journal for a guest: removed 30 days after a purchase finishes, or two days after a review that was never signed, when cleanup next runs.
- Rate-limit counts: about a day, as above.
Deleting your account
Signed in, open Account (or the account panel in your planner) and choose Delete account. After you confirm, Lotline deletes your account and removes:
- your email or wallet sign-in identity and your sessions;
- your saved plans and synced reminders;
- your shared community plans, with their copy records;
- the copies you counted and the reports you sent;
- your purchase journal.
Some things cannot be removed:
- Transactions on Solana are public and permanent. Deleting your account does not remove them, or anything else on-chain.
- A copy you counted stays in that plan’s total, which names no one.
- Records made while you were signed out are not linked to your account. A guest purchase journal expires on the schedule above. A guest report stays until its plan is deleted.
- Rate-limit counts expire on their own, and our providers’ logs and backups follow their own retention.
- Data in this browser stays until you clear this site’s data.
Security
Lotline is served only over HTTPS with a content security policy that limits scripts, frames and connections to this site, to Supabase and, when CAPTCHA is on, to Cloudflare Turnstile; the framework’s own inline scripts are allowed. Account records are protected by row-level security, so each account reaches only its own data, and shared records are reachable only through checked database functions. Changes must come from this site. Server keys never reach the browser. No system is perfectly secure, so keep your wallet and email account protected too.
Adults only
Lotline is for adults aged 18 or over. It is not directed at children, and we do not knowingly collect data from anyone under 18. If you think a child has made an account, contact us and we will delete it.
International use
Our providers run servers in more than one country, so your data may be processed outside the country where you live. Depending on where you live, you may have rights to access, correct, export or delete your data. Your account’s saved plans are visible to you in the planner, you can export any plan, and you can delete your account at any time. For anything else, contact us.
Changes to this policy
When what Lotline collects changes, we update this page and its date. We describe significant changes here before they apply.
Contact
Operator Uplift runs Lotline.
Open an issue on GitHub Issues (opens in a new tab). Issues are public, so never post your email, wallet address or anything else personal there. Describe what you need without personal details and we will reply there.