Last updated 2 November 2026
The short version
Opulence is a money tracker you fill in by hand. It never connects to your bank, so the only financial information it holds is what you typed into it.
We do not sell your information, we do not show advertising, and we run no analytics, tracking pixels or telemetry of any kind. When you open Opulence your browser talks to Opulence and to nothing else.
We are a business and we do keep what you enter — it is stored in our database so the app can show it back to you. This page says exactly what that means.
What you give us when you sign up
Your email address and a password. The password is stored as a cryptographic hash by our sign-in provider; neither we nor they hold the password itself.
Optionally, a display name (up to 60 characters) and a profile picture, both of which you can change or remove on the Profile screen at any time.
Our sign-in provider also keeps its own records of your sessions and of sign-in events, which in a standard configuration include the IP address a sign-in came from. Opulence itself neither reads nor stores your IP address.
What you enter
Everything the app shows you is something you typed. That is: your accounts, with their name, type and balance, any note you wrote on one, and whether it counts in your net worth; your debts, with their name and type, the amount owed, the original amount, the interest rate, the minimum payment, the emoji you chose for each, any colour you picked for it in an earlier version, and whether it is in your payoff plan; your recurring bills and income, the emoji of a bill you picked from the list of common bills, and which bills you marked paid or income you marked received; your spending and income categories, with the emoji you chose, a colour the app stores with each, the budget you set for each, the order you put them in, and, if you typed it at the end of a month, what each one actually cost that month; your investment positions, as a ticker symbol, a quantity and, if you typed one, an average cost; the symbols on your watchlist; your net worth target, its name and its date; and the credit cards you track — a name, an annual fee and the fees of earlier years you tracked, the finish you chose for it, the day the card was opened, the statement credits on it and what you recorded using, and the offers you typed for a card: the place, what to spend, what it gives back, the day it ends, its kind and the day you marked it used.
Two choices about how the app looks are kept with your sign-in record rather than in a table: which four screens sit beside Home in the tab bar, and the order of the cards on Home and which of them you hid. They hold no figure.
Opulence does not store credit card numbers, expiry dates, security codes, cardholder names, issuer names or bank credentials. There is no column in the database for any of them, and no screen asks for one.
What the app writes about you on its own
Two things. Each time an account is added or has its balance changed, the database records a net worth snapshot — that account and its balance, the total of your assets and the total of your liabilities at that moment, with the time it was taken. That is what draws the line on the Net worth screen.
These snapshots are written automatically and cannot be edited from inside the app. Removing an account removes the snapshots that name it, and Settings → Data → Reset all data or deleting your account removes all of them.
And when you set a net worth target, or change its amount, the app records your net worth at that moment and when it was taken, as where you started from. Clearing the target removes it.
What we do not do
We do not connect to your bank, card issuer or broker, and we import no transactions. Every figure is one you entered.
We use no artificial intelligence or machine learning on your information. There is no such system in the product.
We run no analytics or advertising service, set no tracking or advertising cookie, and embed no third-party script, font or pixel in any page. Our fonts are served from our own domain.
We do not sell, rent or trade your personal information, and we do not share it for anyone else's marketing.
We send no marketing email. The only email Opulence sends is the kind you asked for: confirming your address and resetting your password.
What the market data providers never learn
Prices, charts and logos come from outside services. When Opulence needs a price it asks from our own servers for a ticker symbol — for example “NVDA” — and nothing more.
No user identifier, email address, session token or IP address of yours is ever sent with those requests. Those providers therefore do not learn who holds which position, or that any particular person asked. They see a symbol arriving from Opulence.
Cookies and browser storage
Sign-in cookies. One is set when you log in and holds the tokens that keep you signed in. When you sign up or ask for a password reset, another holds a one-time code that the link in the email is checked against. Each is marked HttpOnly and Secure so that no script on the page can read it, and lasts until it expires or you sign out.
A “theme” cookie recording whether you chose Light, Dark or System. It lasts a year, holds one word, and is deliberately readable by the page so your choice applies before anything is drawn.
A “tz” cookie holding your device's time zone, such as “America/New_York”, so the day the app counts from is your day and not ours. It lasts a year and is written again each time you open Opulence.
A “demo” cookie holding one word, set when you press Start fresh, reset your data or add a figure of your own, so the app stops showing you its demo figures. It is HttpOnly, lasts a year, and is removed when you log out.
A “demo_gone” cookie listing the demo records you removed, such as “debt:mortgage”, set when you remove one while the app shows its demo figures, so they stay removed. It is HttpOnly, lasts until the browser session ends, and is removed when you log in, sign up or log out, press Start fresh, reset your data or turn the demo back on.
A “setup” cookie holding one word, set when you hide the setup list on Home, so it stays hidden. It is HttpOnly, lasts a year, and is removed when you log out or reset your data.
A “tabs” cookie holding the names of the five screens in the tab bar, set when you choose them while not logged in, so the bar stays as you arranged it. It is HttpOnly and lasts a year. Once you log in, the choice is kept with your sign-in record instead.
A “home” cookie holding the order of the cards on Home and which ones you hid, set when you arrange Home while not logged in. It is HttpOnly and lasts a year. Once you log in, the arrangement is kept with your sign-in record instead.
Seventeen items in your browser's own storage, listed in full on this page under “What is kept in your browser”: fifteen remember where you left a control, one remembers which screens you have opened so the menu can mark the ones you have not, and one notes when the page last reloaded itself onto a new version of Opulence and is gone when the tab is closed. Twelve of them — the extra payment, the one-time payment, Every month or One time and Avalanche or Snowball on Debt; Basic or Advanced on Forecast and whether you have set a plan there; the view on Positions; the folded group cards, their order and whether $0 accounts are hidden on Net worth; and whether Home's Milestone card is open and which view its Budget card shows — are also kept as cookies of the same name, lasting a year, so the server can draw those screens as you left them, and those twelve are sent to us with each request. The other five never leave your device.
We set no advertising, analytics or cross-site cookie, so there is nothing here to consent to beyond what makes the app work.
The iPhone app
The iPhone app shows this same service, so everything on this page applies to it. Face ID or your passcode is checked by iOS on your phone, and Opulence only learns whether it succeeded. The camera and your photos are opened only if you choose a profile picture. An export is written to the app's own storage on your phone, removed once you have shared it, and goes only where you send it from the share sheet.
Who we share it with
Running the app means other companies process some of this on our behalf. They are listed in full on this page under “Who else is involved”, with what each one receives.
Our database is hosted in the United States. If you are outside that country, your information is stored there.
How long we keep it
Until you delete it, or ask us to. There is no automatic expiry, and nothing is pruned on a schedule.
Net worth history accumulates one snapshot per balance change for as long as the account exists.
If you stop using Opulence, your information stays as you left it until you remove it or ask us to.
When something goes wrong on our side, Opulence writes a short error message to Cloudflare's logs, which keep it for seven days. It names what failed, never your email address or your account.
Your rights, and how to use them
You can see and change almost everything from inside the app, and you can take a copy of it at any time: Settings → Export your data gives you one JSON file containing your email address, your display name and every row of the fourteen tables listed on this page. Your budget settings row there also keeps three values from an earlier version of the app, a monthly income, a saving rate and a rollover switch, which no screen sets or shows any more.
Depending on where you live you may also have the right to ask for a copy of your information, to have it corrected, to have it deleted, to object to or restrict what we do with it, and to complain to your data protection regulator.
To make any of those requests, write to the address at the foot of this page. We will answer within 30 days.
Deleting your account
You can delete your account yourself from Settings → Data → Delete account. You confirm by typing your email address, and it erases your sign-in record, every row you entered, your net worth history and your profile picture. It cannot be undone, so export your data first if you want a copy.
Settings → Data → Reset all data removes every figure you entered and your net worth history, and puts the default categories back, but keeps your sign-in, display name and profile picture, so you can start again without signing up again.
If you would rather we did it, email the address at the foot of this page from the address you signed up with. We will delete your sign-in record, every row you entered, your net worth history and your profile picture, and confirm when it is done, within 30 days.
Security
Every table is protected by row-level security in the database: a policy on each one checks the signed-in user against the owner of the row, so one account cannot read another's information even if the application were wrong.
Profile pictures are held in a private store. They are not at a public address, and the app serves yours back only to your own signed-in session.
The site is served over HTTPS. The sign-in cookies are HttpOnly and Secure.
No system is perfectly secure, and we do not claim otherwise. If we discover a breach affecting your information we will tell you and the relevant regulator as the law requires, and we will say what happened.
Children
Opulence is not intended for anyone under 18, and we do not knowingly collect information from children. If you believe a child has created an account, write to us and we will remove it.
Changes to this page
If we change what we collect or who we share it with, we will change this page and move the date at the top. Where a change is significant we will say so in the app.
Who else is involved
7 companies
Supabase
Database, sign-in, file storage and the emails that confirm an address or reset a password.
Everything in your account: your email address, your password as a hash, your display name, your profile picture, and every figure you enter.
Cloudflare
Runs the app and serves it. Every request reaches Opulence through Cloudflare.
The ordinary record of a web request — the address you asked for, your IP address and your browser's user agent. Opulence does not read or keep this itself.
Finnhub
Share prices, company details and the logo on a ticker's row.
A ticker symbol, and nothing else. See “What the market data providers never learn”.
Financial Modeling Prep
The logo on a ticker's row where Finnhub has none.
A ticker symbol, and nothing else. Opulence's own server asks for it, so your device never contacts them.
Twelve Data
The price history behind a chart.
A ticker symbol, and nothing else.
U.S. Department of the Treasury
The published Treasury yield curve on Markets.
Nothing about you. Opulence reads a public file.
Freddie Mac
The published weekly mortgage rate survey on Markets.
Nothing about you. Opulence reads a public file.
What is kept in your browser
17 items
opulence.forecast.<id>.plan — the saving plan you built on Forecast
opulence.forecast.<id>.mode — whether Forecast is on Basic or Advanced, also kept as a cookie
opulence.forecast.<id>.compare — the comparison line you switched on
opulence.forecast.<id>.set — that you have set a plan on Forecast, so Home's setup list can tick it, also kept as a cookie
opulence.debt.<id>.extra — the extra monthly payment on Debt's Pay extra, also kept as a cookie
opulence.debt.<id>.once — the one-time payment on Debt's Pay extra, also kept as a cookie
opulence.debt.<id>.mode — whether Pay extra is Every month or One time, also kept as a cookie
opulence.debt.<id>.strategy — Avalanche or Snowball, also kept as a cookie
opulence.positions.sort — how you sorted Positions
opulence.positions.view — whether Positions shows a list, a ring or a map, also kept as a cookie
opulence.networth.folded — which group cards on Net worth you folded, also kept as a cookie
opulence.networth.order — the order you chose for Net worth's group cards, also kept as a cookie
opulence.networth.hidezero — whether Net worth hides accounts at $0, also kept as a cookie
opulence.home.milestone — whether the Milestone card on Home is open, also kept as a cookie
opulence.home.budget — which view the Budget card on Home shows, also kept as a cookie
opulence.nav.seen — which screens you have opened on this device, so the menu can mark the ones you have not
opulence.reloaded-for-build — when this tab last reloaded itself onto a new version of Opulence, kept only until the tab is closed
What the export contains
14 tables
Your email address, your display name, and every row of: accounts, debts, recurring_bills, bill_payments, categories, category_actuals, budget_settings, holdings, net_worth_snapshots, watchlist, cards, card_credits, credit_usage, card_offers.
Contact
For any request about your information — a copy, a correction, or deletion — write to us and we will answer within 30 days.
privacy@useopulence.com