Не знаю как именно у Jaxx, но есть как минимум 2 способа хранить ключи у Вас. Вы отправляете им на сервер уже подписанную на клиенте вашу транзакцию, либо все транзакции отправляются с клиента. Например MyEtherWallet все действия совершает на стороне клиента, на сервер к ним ничего не уходит. (рекомендую прочесть про принцип работы клиент-серверных приложений).
P.s. А публичный ключ на то и публичный, что не существенно, попадет ли он к третим лицам или нет
MyEtherWallet - отличный пример.
Вопрос в том, как приватный ключ оказался на устройстве, если не «прилетел» с какого-то сервера? Должен же он откуда-то взяться.
И если это смогли сделать MyEtherWallet, то можно также сделать и мультивалютный кошелек с 20-30 монетами?