Privacy Policy
Last updated: 28 September 2026
This page describes what MoatMap collects, why, who else handles it, and how long we keep it. You can read most of the site without an account; an account adds the Portfolio Tracker, email alerts, saved screens, the full insider feeds and paid features.
Your account
You can sign in with Google or with an email address and password.
- With Google we receive your name, email address, profile picture and Google account ID. We do not access your contacts, calendar, mail or any other Google data.
- With email and password we store your email address and a salted, one-way hash of your password (never the password itself). Password-reset and email-verification links are stored only as hashes and expire after 1 hour and 24 hours.
- Optional profile answers: a display name, your role, what you came to do and your home market, if you choose to give them.
Your stocks and portfolio
- Tracked stocks: the tickers you star, any share counts or cost basis you enter, and your alert settings for each.
- Broker statements you upload for a portfolio import or a Portfolio X-Ray are read to find your holdings. The file itself is deleted as soon as it has been read. Its text is sent to Google Gemini, an AI service, to pick out the holdings. An import adds the matched stocks and share counts to your tracker.
- Portfolio X-Ray and Investment Committee results (your holdings, their values and weights, and the report) are stored so we can show you the report, and deleted after 30 days.
- The Investment Committee sends your top holdings (ticker, name, weight and scores), your portfolio's total value and its sector mix to Google Gemini to write the discussion.
- Saved screens and their settings, and the Deep Dives you request.
We never ask for, and never store, brokerage logins or account numbers.
Payments
Feather packs are paid through Stripe's checkout. Your card details go to Stripe and never reach our servers. We keep your Stripe customer ID, a record of each purchase, and a ledger of the Feathers you receive, spend and are refunded.
Emails we send
- Account emails: email verification and password reset, when needed.
- Watchlist alerts: when you star a stock, we email you when its score moves 5 or more points or insiders file a trade, and (under the same score alert) how its next-year EPS estimate moved before and after an earnings report. An insider line also says when a director's purchase is their first at the company in our records. Buyback alerts are off until you turn them on. You can change these per stock, or stop them, in Settings → Notifications, and every alert email has a one-click link that stops them all, including for stocks you star later, until you switch an alert back on.
- Daily Movers and Best Stocks editions: only if you ask for them. Each has a one-click unsubscribe link.
- Weekly screener digest: only for saved screens you switch it on for, with a one-click link in each email that stops it.
Emails are sent through Resend. Links in them carry tags that tell us which email a visit came from, and Resend may record whether an email was delivered or opened.
Analytics and error reports
- PostHog records how the site is used: pages viewed, clicks, and session recordings of what happens on screen. When you are signed in, this activity is linked to your account, including your email address and name. When you are not, it is not linked to anything that identifies you.
- Sentry receives error reports and performance samples so we can find and fix bugs. It does not record your screen.
We do not use advertising cookies or advertising trackers, and we never sell your data.
Cookies and browser storage
A session cookie keeps you signed in. PostHog stores an identifier in your browser. The site also keeps a few things in your own browser's storage so it works without a round trip: your recent stock checks, your last X-Ray and Committee results for 24 hours, screens saved while signed out, and small interface choices such as dismissed hints.
Security and server logs
To stop abuse we count requests per IP address (or per account when signed in). These counts are deleted within minutes. Our web server logs record IP address, browser and the page requested. If you request coverage for a stock while signed out, we store a one-way hash of your IP address, not the address itself, plus the email address you give us, if any.
Who else handles your data
We use these services to run MoatMap. Each receives only what it needs for its job:
- Google Cloud: hosting, database backups, and Gemini for reading statements and the Investment Committee
- Cloudflare: delivers the site and protects it from attacks
- Stripe: payments
- Resend: email delivery
- PostHog: product analytics and session recordings
- Sentry: error reports
- Google: sign-in, if you choose it
We do not sell or rent your data to anyone.
How long we keep it
We keep your account data while your account is open. Some records go sooner:
- Portfolio X-Ray and Investment Committee results: 30 days
- Logs of the emails we sent you: 90 days (212 days for a price-turn alert, so the same stock is never sent twice within six months)
- The detail of payment notifications from Stripe: 90 days (a record that the payment happened is kept)
- The email address on a coverage request: 180 days (the request itself is kept, without it)
- Password-reset and verification links: deleted a day after they expire
- Request counts used to stop abuse: minutes
Deleting your account
You can delete your account from Settings. We then delete your name, profile picture, profile answers, your tracked stocks and alerts, your saved screens, your stored X-Ray and Committee results (an unnamed copy of an X-Ray report expires within 30 days), the logs of emails we sent you, any coverage requests you made, and the record of which Deep Dives you requested (the reports stay in the public library).
We keep two things: your email address, sign-in ID and (for an email account) the password hash, so a closed account cannot be reopened by mistake and signing in to it says it is closed, and your purchase and Feather records, which accounting and refunds need. Deletion does not reach the analytics PostHog holds about your visits; email us and we will delete that too.
Your choices
You can ask us for a copy of the data we hold about you, ask us to correct it, or ask us to delete it. Email [email protected] and we will reply within 30 days.