Privacy
The short version
The Stepwell Financial app works only on your device. The numbers you enter, import or save stay in this browser, on this device, unless you export them or make a backup. We don't receive them and we can't see them. (See "Where the app's files come from" for the one limit on this.)
The app has no analytics and no visitor counting. It loads nothing from other websites. It has no accounts, no servers that store your data, no bank links and no payments, and it sends nothing to an AI service.
The app doesn't encrypt your saved data unless you turn on the passphrase lock. Anyone who can use this browser on this device can see it. Clearing your browser's data deletes it. Backups are up to you.
Who we are
Stepwell Financial runs this app.
To ask about this page, email hello@stepwellfinancial.com. We're not accepting email yet. This note comes out when we are.
Your data on this device
What the app saves, and where
The app saves what you enter or import: for example amounts, dates, payee names, notes, category names and the name you ask the app to call you. It saves them in your browser's own storage (the browser calls it "IndexedDB"), in the browser profile you are using, on the device you are using.
If you choose to give the app a name to call you ("What should we call you?"), it saves that name in the same browser storage as your other data. It is blank unless you fill it in. The app shows it at the top of the screen, so anyone who can use this browser profile on this device can see it, unless the passphrase lock is on and the app is locked, or "Hide amounts" is on. Like the rest of your data, it is encrypted when the lock is on. The name is included in backups and is removed by "Delete all". You can change or clear it in Settings. The app doesn't send it to us.
If you choose "Look around with sample data", the app writes made-up sample records into the same browser storage. They stay there until you choose "Remove sample data" (in the bar at the top of the app, or in Settings) or "Delete all". They are included if you export or make a backup while they are there.
A browser profile is the set of saved data that one browser keeps for one user on one device. If several people use the same profile, they share what the app saved.
Apart from files you choose to export or back up, the app keeps no copy of your data anywhere else on your device. It doesn't put your data in the web address or in the page title. The app sets no cookies, and it uses no localStorage or sessionStorage. Its settings (for example the theme, how often you are paid, which lessons you picked, whether the lock is on, how soon it locks, and the lock's salt, a random value the lock uses) are saved in the same browser storage as your data. The lock does not encrypt the settings.
If your browser won't let the app save, the app tells you, and what you enter stays only until you close or reload the page.
We can't see it
The app doesn't send your data to us or to anyone else. There is no server that stores it. We can't see it, read it, recover it or delete it for you.
The app's pages carry a browser rule that lets them load only the app's own files, from our host, and stops the page's code from sending or fetching data over the network. The part of the app that reads files you import has no code that sends anything. This was checked before launch. Links you choose to follow open other sites as usual. If you want to see the rule, it is in the page source.
Who can see it
If the passphrase lock is off, anyone who can use this browser profile on this device can open the app and see your data. The app has no sign-in.
- Your browser doesn't encrypt this storage, beyond your device's own disk encryption if that is turned on.
- Lock your device when you step away.
- The passphrase lock (below) is a second layer. It is off unless you turn it on.
- Your data doesn't move to your other devices or other browsers. Each browser profile has its own copy.
Keeping it
We ask your browser to keep the app's data and not clear it when the device is short of space. The browser decides. It can refuse.
Clearing your browser's data for this site deletes everything the app saved. Doing that is permanent, and we can't undo it. If you have your own data and haven't made a backup in the last 30 days, or ever, the app shows a reminder at the top of Settings. You can snooze it for 7 days.
In a private window, your browser deletes what the app saved when you close the window.
Importing a file
You can import a CSV, OFX or QFX file (the kinds of file many banks let you download). The app reads the file on your device. The file is not uploaded.
- The app refuses a file over 5 MB, over 50,000 lines, or with a value over 500 characters, and tells you why. It accepts UTF-8 text, or the encoding the format states.
- If a date or amount can't be read, the app shows that row as an error. It doesn't guess.
- Before anything is saved, you see a preview. You can undo a whole import afterward.
Exporting your data
You can export your transactions as a CSV file. The file goes to your device's downloads. A CSV file is plain text, so anyone who can open the file can read it. For a copy of everything, make a backup (below).
If a cell in your data starts with =, +, -, @, a tab or a carriage return, the app adds an apostrophe in front of it in the file. This is so a spreadsheet shows the cell as text and doesn't run it as a formula.
Backups and restore
A backup is a file that holds all your data. It is the way to keep a copy, or to move your data to another browser or device.
- Encrypted backup. The app offers this first. The file is encrypted with a passphrase you choose, so it is not readable without the passphrase. Backup files tend to end up in your Downloads folder and in cloud drives that copy it, so the encrypted choice is the better one for most people. You type the backup passphrase for each backup file. It is separate from the lock passphrase. If you lose it, nobody can open that file, including us.
- Backup without a passphrase. The app allows it, with a warning. It is a plain file, like a CSV export: anyone who gets it can read your data.
- Restore. The app checks the file, then shows you what will change (counts). It replaces your data only after you confirm. It never merges silently. If a restore fails, your existing data is left as it was.
We don't keep your backups. They are files on your device. If you lose one, or lose its passphrase, we can't give it back.
Delete all
"Delete all" removes everything the app saved in this browser on this device. To use it, you type a word to confirm. Afterward, the app checks whether your browser still lists any of the app's storage and tells you what it found. Your browser may keep traces in its own files until it tidies them up.
"Delete all" doesn't delete files you saved outside the app, such as exported CSV files and backups. Delete those yourself.
What the web host sees
Opening the app means your browser asks a web host for the app's files.
The app is hosted on GitHub Pages. GitHub logs visitors' IP addresses for security purposes. GitHub's documentation says: "When a GitHub Pages site is visited, the visitor's IP address is logged and stored for security purposes, regardless of whether the visitor has signed into GitHub or not." You can read GitHub's own pages here: About GitHub Pages and the GitHub General Privacy Statement.
This is about visiting the app. It is not your saved data. GitHub never receives your saved data, because the app doesn't send it anywhere.
An IP address is the number that identifies the internet connection your device is using.
Where the app's files come from
Each time you open the app, your browser downloads the app's program from our host. If someone took control of our hosting or publishing accounts, they could publish changed code. We keep the app's code to what it needs, with no outside scripts, services or libraries loaded from other places.
The passphrase lock (optional, off by default)
The passphrase lock encrypts your saved data on this device with a passphrase you choose. You can turn it on in the app. It is off until you do.
What it does
- It encrypts every record of your data that the app saves. A few things stay readable so the lock can work: your settings (for example your theme, how often you are paid, which lessons you picked, whether the lock is on, how soon it locks, and the date of your last backup), the lock's random salt and strength setting, each record's random value (IV) and random ID, and how many records there are and roughly how big they are. None of these show your amounts, names or notes.
- Your passphrase is turned into an encryption key each time you unlock the app. The key is kept in your browser's memory only. It is never written to storage, and the browser is asked not to let the app read it back out.
- The passphrase has to be at least 12 characters. The app shows a strength hint. It has no "password hint" field, because a hint stored beside your data would weaken the lock.
- By default, the app locks again after 15 minutes of inactivity. You can choose 5, 15, 30 or 60 minutes. It also locks when you close the tab.
- If you change the passphrase, the app encrypts everything again with the new one, and the old one stops working. If you turn the lock off, the app saves your data without encryption.
What it doesn't do
- A lost passphrase can't be recovered by anyone, including us. We don't have it and have no way to reset it. Your data is then gone, unless you have a backup you can open. Before you turn the lock on, the app says this and offers an encrypted backup first.
- While the app is unlocked, anyone using your open browser can see your data. The lock helps when the app is closed or locked.
- It doesn't hide the fact that the app has saved data on this device.
Short note for the curious: the lock uses the encryption your browser provides (AES-GCM), with a key made from your passphrase by a slow method (PBKDF2 with SHA-256, at least 600,000 rounds), a random salt and a fresh random value each time a record is saved.
Accounts
The Stepwell Financial app has no accounts yet. We will update this page before we add them.
If you email us
Our email address is hello@stepwellfinancial.com. We're not accepting email yet. This note comes out when we are. Until then, this section describes how we will handle email once we do.
What we receive. Your email address, your name if your email shows it, your message, anything you attach, and the details every email carries, such as the date it was sent.
What we use it for. Only to reply to you and to fix the page you wrote about. We don't add you to a mailing list, and we don't sell or share your email for marketing.
Why we're allowed to use it. We use your email because we have a legitimate interest in answering messages and correcting our pages, and you chose to write to us.
Who handles it. Email is handled by Google Workspace. Google stores and processes our email for us, under its agreement with us. Google may store it in the United States or other countries. Google's data processing terms for Google Workspace include terms for transfers of personal data from the EU and UK. We don't give your email to anyone else unless the law requires it.
How long we keep it. We have no rule that deletes emails after a set time. Every three months we go through our mailbox and delete the emails we no longer need to reply to you or to fix a page, unless we need to keep one longer, for example to resolve a dispute or meet a legal requirement. If Google's spam filter catches your email, we may not see it.
Your choices. You can ask us for a copy of the emails we hold from you, to correct them, or to delete them. Email hello@stepwellfinancial.com from the same address, and we answer within one month. Writing to us is up to you, and we make no automated decisions about you.
If you're in the EU or UK. You also have the right to object to how we use your email, to ask us to restrict it, and to complain to your data protection authority. In the UK that's the Information Commissioner's Office (ICO).
Children
The app is for people who are 18 or older and live in the United States. The app has no account, no sign-up and no age question. Nothing you enter is sent to us. We can't tell who uses a browser profile, so we can't tell their age. What the app saves stays in that browser profile.
Changes to this page
We will update this page before we add analytics, ads, forms that send information to us, accounts, a server that stores your data, or any other data collection. When we change it, we change the date below.
Education, not advice
The Stepwell Financial app gives education and tools, not personal advice. It shows how numbers add up. It does not give financial advice, and nothing in the app is a personal suggestion about your money.
Last updated: October 29, 2026