Loading…
Loading…
Draft for lawyer review. This privacy page is a working draft for ProfitLane, a tracking-only finance app. It is not legal advice and it is not a finished policy. Have a lawyer review it before anyone relies on it or treats it as binding.
Draft · 20 October 2026
ProfitLane is a private ledger for route-based service businesses and for people who also track a paycheck. It records income, expenses, mileage, receipts, a tax set-aside, a cash forecast, and related notes.
It does not hold, move, or transmit money. It does not pay taxes, file returns, or give tax or investment advice. Bank linking, when you choose it, is a read-only import of transactions.
When you create a ledger we store your name, email address, and a hash of your password. We do not store the password itself.
The ledger can include businesses, routes, customers, jobs, income, expenses, categories, goals, bills, paycheck schedules, tax settings, forecast settings, and the plan flag (Free, Basic, Pro, or a trial). No card number is stored.
On the website, a plan can be bought through Stripe when Stripe is configured. Card entry happens on Stripe's pages. Inside the iPhone and Android apps, a plan is bought from Apple or Google through RevenueCat when those keys are configured. ProfitLane then stores the plan, the status, the billing interval, and the trial end date. Nothing is charged while those keys are empty. Website checkout links are not shown inside the iOS and Android apps.
Connecting your own Stripe account for income import is optional. If you install the ProfitLane Stripe App, or paste a restricted key, ProfitLane stores an encrypted access token and, for the app, an encrypted refresh token. It reads charges, fees, customers, and payouts. It does not move money. Disconnect deletes the token. Charges and fees already imported stay on the ledger until you delete them or delete the account.
A session cookie keeps you signed in. It is an httpOnly cookie named pl_session. The iOS and Android shell also sets a cookie named pl_client so the app can tell it is the native shell. That cookie is not used for advertising.
The Founding 50 form stores an email address, the time it was submitted, and a place in line (or a waitlist flag after the 50 spots are taken). That list is separate from a ledger. The form does not send email and does not take payment.
Connecting a bank is optional and sits behind an in-app consent screen that links to this draft. The connection uses Plaid and requests the Transactions product only.
Plaid handles the bank sign-in on Plaid's own screens. ProfitLane does not receive or store your bank password. After you connect, ProfitLane receives an access token, the institution name, and transaction fields such as date, amount, and name, plus account name and mask when Plaid provides them. The access token is encrypted before it is saved.
ProfitLane does not request a product that can move money, and it does not initiate transfers. You can skip the bank connection and keep using manual entry and CSV import.
If you attach a receipt to an expense, the image or PDF is stored on the server and tied to that expense and your account. Receipt files are not sent to the categorization model.
The mileage page can use your location while that page is open, to record a trip you start yourself or to look for nearby fuel. The iOS and Android apps ask for the camera when you photograph a receipt, and for the photo library when you choose an existing receipt image.
On the iOS and Android apps, Auto-track is optional. This app collects location data to record drives for your mileage log even when the app is closed or not in use. It runs only after you turn Auto-track on and confirm the explanation. A drive is saved as unclassified until you mark it business or personal. If you deny location, or you allow it only while using the app, Auto-track stays off and Start and Stop on Mileage still work. The website and the installed page do not ask for background location. Saved trips store the miles, labels, and times you keep. A home base is stored only if you save one. Live gas lookups run on the Pro plan when a Google key is configured. Other plans stay on sample prices and do not call Google Places. Location is not sold and is not used for advertising.
Expenses are categorized on the server with keyword rules first. If a key is configured and the rules do not recognize the description, that description text may be sent to an OpenAI-compatible model for the sole purpose of picking one category label.
You can choose a category yourself. The model is not asked to give tax advice, and receipt images are not included in the request.
Plaid, if you connect a bank. Google, if a live gas or geocoding request runs. An AI provider, if an uncategorized expense description is sent for a label. Stripe, if you subscribe on the website. Apple, Google, and RevenueCat, if you subscribe inside the iOS or Android app. Apple Push Notification service or Firebase Cloud Messaging, if you allow reminders on a phone and push credentials are configured. Those calls happen only when the matching feature and key are in use.
If you allow notifications on the iPhone or Android app, ProfitLane stores a device token for that account. The token is used only to deliver the same quarterly tax and goal reminders that already appear on the bell. Without push credentials, no token is saved and no push is sent.
ProfitLane does not sell personal information and does not use the ledger for advertising.
Ledger data and receipt files are kept while the account exists. A bank access token is kept until the account is deleted. Cached gas prices are not tied to an account and expire on their own, about 12 hours after a lookup.
Settings includes Delete this ledger, on the website and inside the iOS and Android apps. After you type your email to confirm, ProfitLane deletes the login and the rows stored for that account: businesses, customers, jobs, income, expenses, trips, goals, bills, tax settings, forecast items, the plan flag, bank connections, and push device tokens. Receipt files stored for that account are removed from the server. The Founding 50 signup for that same email is removed, which frees the spot. A signup under a different email is left in place. The session cookie is cleared.
Deleting the account does not close a bank login at the bank. It does not cancel a Stripe subscription, and it does not cancel an Apple or Google subscription. Cancel those in Stripe's billing portal, the App Store, or Google Play. You can also ask for deletion by emailing the contact below once that inbox is monitored.
Placeholder contact: legal@profitlaneapp.com. That address is not a monitored inbox until the operator replaces it with a real one. Do not send bank passwords or receipt images to it.