Privacy Policy
Last updated: 2026-09-13
The short version
You can use the free tools without an account. Calculator entries are processed in your browser, and we do not send selected tickers, amounts, or calculated exposures to analytics. If you save a holdings watch, we store the email address and tickers you enter, and nothing else about your portfolio.
Analytics
We use Google Analytics 4, measurement ID G-1JSYXHRSFR, for standard page views and a small set of product events. These include running the calculator, adding a fund row, viewing or previewing a portfolio-aware diversification candidate, applying a candidate to the local calculator, seeing, starting, and submitting a holdings-watch form (the event name carries the page type, such as a fund page or a comparison page, never the tickers or the address).
Analytics receives coarse fields such as event location, source page, and bucketed fund count. It does not receive portfolio tickers, allocation amounts, results, email, IP address, or browser user agent. We send one server-side event when a holdings watch is saved, because browser analytics may be blocked; it carries the same coarse fields only.
Before analytics loads, calculator share fields and payment setup tokens are removed from the
browser address. Page location can retain standard attribution fields such as
utm_source, utm_medium, utm_campaign,
utm_content, utm_term, gclid, and
msclkid. Other query fields and all fragments are excluded. See
how Google uses data from sites that use its services.
The Portfolio Calculator runs in your browser
When you enter funds and amounts, your browser downloads public holdings files and performs the arithmetic locally. Current share links place calculator state after the URL fragment, which browsers do not include in the HTTP request. Treat a share link as data you are choosing to give anyone who receives it.
Portfolio what-if analysis also runs locally. Your browser compares the analyzed equity sleeve of each selected fund with the rest of the mix, downloads holdings for eligible comparable funds, and simulates a same-allocation replacement. Analytics records only coarse fund-count and candidate-count buckets for candidate views, previews, and applies, never tickers, amounts, allocation, results, or the direction of change.
Older share links used a ?funds= query. Opening one necessarily sent its URL to
our hosting edge before the page could clean it. We now move those values into one-time browser
storage and remove them before analytics initializes.
Holdings watch
Submitting a holdings-watch form sends the email address, the ETF tickers, their percentage weights when you calculated a portfolio, the number of shared holdings, the page type, and the page path to our server. We store that with a random reference, the submission time, coarse country, network provider name, browser user agent, and first-visit attribution such as the referring site. Dollar amounts entered in the calculator are never sent.
We use this information only to send the holdings-update emails you asked for and to answer replies. Replying “stop” or emailing info@overlapcheck.com deletes the saved list. Do not submit brokerage credentials, account numbers, login details, or other sensitive financial information.
Before 2026-09-13 the site sold an annual review service through Stripe. Records from those purchases (email, payment references, submitted portfolio instructions) are kept only to deliver and support that service for the people who bought it.
Service providers and operational alerts
Cloudflare hosts the site and processes standard request metadata. Google Analytics provides aggregate usage reporting. AgentMail sends the holdings-watch emails and operator notices. A private Telegram chat receives an operations alert for each saved watch so a human can answer replies quickly; it includes the email address, tickers, page type, and coarse country. Stripe processed checkout for the former paid service and still holds those records.
We do not sell personal data, run advertising networks, use retargeting pixels, or connect to your brokerage.
Security and retention
Checkout attempts are rate-limited with a short-lived counter keyed by a one-way hash of the requesting IP address. Unpaid checkout intents expire after 30 days. Payment and Portfolio Review + Monitoring setup records are retained while the service is active and as needed for billing, support, fraud prevention, and legal obligations.
Email info@overlapcheck.com to request access, correction, or deletion. We honor valid deletion requests within 7 days, except for records we must retain for legal or payment-accounting obligations.
Contact
Questions about this policy: info@overlapcheck.com.