@nickabouzeid That's a great question and I wanted to quickly expand on Richard's answer.
When he said we store the keys on our server, he meant our Coinbase API secret key, not individual user access tokens. We only use our server to convert Coinbase OAuth codes to access tokens for storage in the app, and to refresh expired tokens. While that server component is currently closed source, we plan to open source it so you would eventually be able to run your own backend and not use our server at all.
Also with Coinbase, they use OAuth2 for connectivity, so when you approve Balance's connection, it shows that it is read only. Each exchange works differently, so we're evaluating each as we implement them, but we never store user balances or transactions on our server regardless of the API according to our privacy policy. In the future we may eventually start collecting anonymized user data to improve the Insights functionality in Balance, but it would be opt-in only.
Product Hunt
Balance
Ramp
Balance
Ramp
Sanity.io
Balance