Browser extension
Skip the monthly “export, find the file, drag it in” ritual.
Install it once. From then on, when you click Download on a supported bank site, the CSV flows straight into your GlidePath app on your own machine. Your bank login stays between you and your bank, and this extension path sends the captured file to your local desktop app rather than to GlidePath servers.
Free, and it works with the GlidePath desktop app on your machine. Chrome & Edge.
What the extension does
Three pieces, working in the background. You won’t see most of this happening — that’s the point.
Catches your bank's CSV download
When you click Download on a supported bank site, the extension spots the request and grabs a copy of the CSV bytes before the file leaves the browser.
Routes it to the right account
The first time you download from each card, you tell GlidePath which account it belongs to. From then on, every future download from that card auto-routes silently.
Goes to your local app
The CSV flows from your browser to localhost:5000 — your
own GlidePath install. On this extension path, the captured CSV and
bank credentials do not go to GlidePath servers.
Supported banks today
Four banks work the moment you install. Eight more are one checkbox away — your browser asks permission for that single bank's site, and nothing is granted until you say yes. And a bank that isn't listed at all still gets the same import quality through the universal paths in the last rows. Here's the honest coverage ladder:
| Coverage | Banks | What happens |
|---|---|---|
| Works out of the box | Chase · American Express · Citi · Bank of America | Installed means active. Click Download on the bank's site and the export lands in GlidePath — per-bank behavior in the fine-print table below. |
| One checkbox away | Discover · Capital One · Wells Fargo | Turn the bank on in the extension's Settings; your browser prompts for that one site. From then on exports capture and parse on arrival — GlidePath already knows these formats. |
| One checkbox, then map once | U.S. Bank · PNC · Truist · Ally · Marcus | Same opt-in capture. The first file lands on the in-app Import page, where you match the bank's columns once — every export after that is remembered. |
| Any other bank | Everything else | Two universal paths: drop the export onto the extension popup (any bank, one extra click), or flip on "Watch my Downloads folder" on the in-app Import page and new exports get noticed for you. Either way, you review before anything saves. |
| PDF statements | Any enabled bank | Statements route to the app's assisted PDF reader. GlidePath reads what it can locally, then you confirm every save. |
| Brokerages | Schwab, Fidelity, Vanguard & co. | Not yet — honestly. The capture side is built, but the app can't import a positions file today. Track holdings on the in-app Holdings page for now; brokerage import is its own milestone on the roadmap. |
The out-of-the-box four, in detail
| Bank | Auto-capture? | What to expect |
|---|---|---|
| Chase | ✓ Silent | The filename includes the card's last-four. Transactions land directly on the matching card with no setup needed. |
| American Express | ✓ One-time setup | First download per card: pick the target account once via the app's inbox panel. Future downloads auto-route silently. |
| Citi | ✓ One-time setup | Same pattern as Amex. Costco Visa, Diamond Preferred, etc. each get mapped once, then reuse that mapping on future downloads. |
| Bank of America | ⚠ Popup-flow | BoA's anti-automation defenses prevent silent auto-capture. Download as usual, then drop the file into the extension popup with the card's last-four. One extra click per download. |
Want your bank to move up the ladder? Tell us at hi@glidepathmoney.com — and if you've turned on the extension's optional "Help improve bank support" diagnostic (off by default; it sends redacted column names and a value-stripped URL, never your data), a failed capture is exactly the evidence that gets a bank promoted into the rows above.
First-time setup, one card at a time
Most banks don't expose which specific card a download came from in the URL or filename — there's no "this is the Costco Visa" field anywhere. So the first time you download from each card, you tell GlidePath where it goes. After that, it remembers.
- Download the CSV normally from your bank's site — same as if you were saving it to disk. The extension catches it.
- You'll see a Chrome notification like
"✓ N transactions imported · Citi → Browser Extension Inbox
(Citi #c13cfd58…)". The
#c13cfd58…is the bank's internal ID for that card — proof we caught the right download. - Open your GlidePath app and go to
/Accounts. You'll see an orange-bordered panel titled "Re-route extension-import inbox" with that batch of transactions waiting. - Pick the matching account from the dropdown — the dropdown is filtered to just that bank's accounts to make it easy. Click "Move all".
- The mapping is saved. The success message will confirm: "Future downloads from this card will auto-route here." From now on, downloads from that exact card go straight to your account with no inbox stop.
How long does the one-time setup take?
About 30 seconds per card. For someone with eight cards across four banks, that's a four-minute one-time pass. After that, you blast through downloads on each bank's site and the app updates itself.
When auto-capture doesn't work
Sometimes you'll see a notification like "auto-capture didn't work — the file is in your Downloads folder, drop it into the extension popup to send it." Here's what that means and what to do.
Why it happens
- Bank security defenses. Banks like Bank of America use POST-only download endpoints with single-use CSRF tokens that can't be replayed from a background context. This is intentional on their part.
- Bank UI changes. Banks redesign their sites periodically. If a download URL changes, our extension may not recognize it until we ship an update.
- Session expired. If your bank session times out mid-download, the re-fetch may return an auth error.
What to do
- The file is already in your
Downloadsfolder. - Click the GlidePath extension icon in your browser toolbar.
- The popup opens. Click "Choose File" and pick the CSV.
- Optionally enter the card's last 4 digits in the Account last 4 field. That lets the app match it to the right account directly, no inbox stop.
- Click "Send to GlidePath".
Same import quality, same dedup. The popup is the universal escape hatch for any CSV from any bank — even ones we don't have a built-in capture path for yet.
Installing the extension
It’s live on the Chrome Web Store — one click to add it, and Chrome keeps it updated automatically. (You’ll need the GlidePath desktop app running on the same computer for it to have somewhere to send your files.)
Works in Chrome and Chromium browsers (Edge, Brave, Arc, Opera). In Edge, install from the Chrome Web Store and accept “Allow extensions from other stores.” There’s no Firefox version today.
Prefer to sideload a build manually? (advanced)
You don’t need this — the Chrome Web Store is the easy, auto-updating path — but if you’d rather load an unpacked build yourself:
- Email hi@glidepathmoney.com and we’ll send the latest extension zip.
- Extract it to a folder you’ll keep around (don’t delete it after install).
- In Chrome, open
chrome://extensions/. - Toggle Developer mode ON in the top-right.
- Click “Load unpacked” and select the extracted folder.
- Click the pin icon to keep the GlidePath icon in your toolbar.
- The first time you visit a supported bank, accept Chrome’s prompt to allow that bank’s domain.
Troubleshooting
The extension icon shows the wrong version after an update
Chrome doesn't auto-refresh extension code in already-open tabs. Go
to chrome://extensions/, click the reload icon (⟳) on
the GlidePath card, then hard-refresh any bank tabs (Ctrl+Shift+R)
so the new content scripts inject.
I got a "new permission needed" prompt after updating
That happens when we add a new bank to the supported list — Chrome asks you to grant access to that bank's domain. Click "Accept" or "Enable" to allow. We never request domains beyond the banks we actually capture exports from.
The inbox panel on /Accounts doesn't show new transactions
Your browser is showing a cached version of /Accounts.
Hard-refresh with Ctrl+Shift+R. The server-side rendering
is correct; the cache is the culprit.
Two cards from the same bank both show "Browser Extension Inbox (X)"
Each unique card gets its own inbox row with a truncated bank ID
(e.g., Citi #c13cfd58… vs Citi #16353aad…).
If you can't tell which is which from the row label alone, click into
/Transactions and filter to that inbox account to see the
payees — most of the time you'll recognize the card from the merchants
alone (e.g., COSTCO purchases → Costco Visa).
My antivirus is blocking the GlidePath installer
The installer is signed with Microsoft Trusted Signing (Authenticode certificate chain rooted at “Microsoft Identity Verification Root Certificate Authority 2020”), so SmartScreen and the major AV tools should recognize the QuickTech LLC publisher on first download. If you’re still seeing a warning, you may have grabbed an older unsigned 0.9.x build — re-download from /download to get the current signed 1.x release. If the warning persists on the fresh download, email hi@glidepathmoney.com with a screenshot and the exact AV name; that’s a real-world false positive we want to track.
How do I uninstall?
Open chrome://extensions/, find GlidePath Money — Bank
CSV Helper, click Remove. The extension stores no
data outside Chrome's per-extension storage (which Chrome wipes on
uninstall), and the app on your computer keeps working without it — you can
still drag CSVs into the /Import page manually.
Privacy boundaries
- Your bank login stays with the bank. The extension does not ask for, store, or transmit your bank password. You log in on the bank's own site.
- Captured files go to your local app. On this extension
path, the file moves from your browser to
http://localhost:5000— your own GlidePath install, on your own machine. It is not uploaded to GlidePath's servers. - No telemetry by default. The extension makes two kinds of outbound requests in normal use: re-fetching the bank's download URL (to capture the CSV) and posting to localhost. No analytics, no error reporting. The one exception is fully opt-in and off by default — a “Help improve bank support” setting that, if you turn it on, sends a small redacted diagnostic (column names and a fully-stripped URL shape, never your data) when the extension hits a file it can’t recognize. See the privacy policy for exactly what it does and doesn’t include.
- Host permissions are bank-only. The extension declares access only to bank domains it can capture exports from (chase.com, americanexpress.com, citi.com, bankofamerica.com today). Adding a new bank is a permission update you have to approve.
- Source available by request. If you want to read the extension's source before installing, ask us.