We needed charts on the marketing site. The fast path is obvious: drop in a TradingView widget, paste a script tag, done in ten minutes, looks professional. I almost did it.
Then I re-read our own homepage, which says — in plain text — “no trackers, no third-party scripts.” And a third-party widget is, definitionally, a third-party script. It phones home, it can set cookies, and on a site whose entire pitch is we don’t share your data, that’s not a small contradiction. It’s the contradiction.
So we did it the slower way. We self-host the charting library — the same open-source one, just downloaded and served from our own domain, not a CDN. And the data behind the chart comes through our backend, not a third party’s. A little more work, a little less flashy. But nothing on the page is loading from someone else’s server, watching whoever visits.
I’ll be honest about the trade-off: TradingView’s widgets are genuinely nicer, and they have futures symbols we can’t easily get for free. We gave that up. For a general blog it’d be an overreaction. For a product built around not leaking your trading activity, it’s the only choice that’s consistent with what we tell people.
The broader point, for anyone building: your privacy promises live or die in the boring implementation details, not the marketing copy. It’s easy to write “we respect your data.” It’s the third-party script you didn’t add that proves it.
If a decision is cheap to make but hard to walk back, and it touches trust — pay the extra hour. Trust is the one thing you can’t ship a patch for.