Архитектура
Каждый компонент и что он видит
Заявление о приватности стоит ровно столько, сколько читатель может проверить. Здесь полный список частей системы, кто управляет каждой и что каждая наблюдает — включая единственную машину, которую запускаем мы.
У PrivaMesh нет базы аккаунтов и хранилища сообщений. Но есть fee worker, оплачивающий транзакции, RPC-эндпоинт под управлением третьей стороны и публичная сеть, которая хранит шифротекст постоянно. Все три — в таблице ниже.
Путь сообщения
01
Ваш iPhone
Шифрует и дополняет сообщение, выводит одноразовый адрес
02
Fee worker
Оплачивает комиссию, тратит один слепой токен
03
RPC-эндпоинт
Отправляет транзакцию в сеть
04
Solana
Несёт дополненный шифротекст на одноразовый адрес
05
Его iPhone
Ищет свои одноразовые адреса и расшифровывает локально
Что наблюдает каждый компонент
| Компонент | Кто управляет | Что видит | Что хранит | Заменяем |
|---|---|---|---|---|
| iOS-клиентЕдинственное место, где вообще существуют открытый текст и ключи. Ключи лежат в iOS Keychain за Face ID и не синхронизируются с iCloud. | Вы | Открытый текст, ключи, контакты | Всё, только на устройстве | Да |
| Fee workerОплачивает сетевую комиссию, чтобы вам не нужно было держать SOL. Это единственная машина, которую мы запускаем, и честная граница дизайна. Слепые токены не дают связать отправку с покупкой. | PrivaMesh | Аккаунт, время запроса, потраченный слепой токен | Только рабочие логи — ни текста, ни получателя | Частично |
| Solana RPCЗаменяем и разворачивается самостоятельно. Именно этот компонент лучше всего видит вашу сетевую активность и меньше всего нам подконтролен. | Сторонний провайдер | Ваш IP, время запросов, отправляемые транзакции | То, что решит логировать провайдер | Да |
| Сеть SolanaТранспорт. Всё записанное — это дополненный шифротекст на одноразовый адрес, но записывается он навсегда. | Никто конкретно | Шифротекст, одноразовые адреса, время транзакций | Постоянно и публично | Нет |
| StoreKitНеизбежен для покупок внутри приложения на iOS. Слепые токены — то, что не даёт связать покупку с вашей перепиской. | Apple | Вашу покупку и Apple ID | По правилам Apple | Нет |
Зачем нужен fee worker
Каждое сообщение — это транзакция Solana, а транзакции стоят комиссию. Заставлять пользователя держать SOL ради отправки сообщения — это и худший продукт, и худшая история про приватность: пополнение кошелька само по себе связываемое действие. Поэтому комиссию оплачивает воркер.
Отсюда очевидный вопрос: узнаёт ли спонсор, кто с кем переписывается? Нет. Приложение один раз доказывает подписку и получает пул слепых RSA-подписей; каждая отправка тратит один токен. Воркер может проверить, что токен действителен и не потрачен, но не может связать его ни с покупкой, ни с другим токеном. Он видит, что некий аккаунт оплатил некую отправку в некое время.
Чего этот дизайн не решает
RPC-эндпоинт видит ваш IP и время запросов. Сеть хранит шифротекст постоянно. Ничто выше этого не скрывает — поэтому оба в таблице и поэтому существует страница ограничений. Если в вашей модели угроз есть наблюдатель на сетевом уровне, используйте VPN или Tor и свой RPC.
Frequently asked questions
PrivaMesh запускает какие-нибудь серверы?
Один. Fee worker оплачивает комиссию сети Solana за каждую транзакцию, чтобы вам не приходилось держать SOL. Он видит аккаунт и время, но никогда не видит открытый текст или получателя. Базы аккаунтов и хранилища сообщений нет.
Что видит RPC-провайдер?
Ваш IP-адрес, время запросов и отправляемые транзакции. Это компонент с самым ясным взглядом на вашу сетевую активность — поэтому он заменяем и его можно развернуть самостоятельно.
Что будет, если fee worker отключится?
Отправка перестанет работать, пока он не вернётся или пока вы не начнёте оплачивать транзакции сами. Личность, контакты и история не пострадают — они на устройстве и не зависят от того, что запускаем мы.
Может ли Apple видеть, кому я пишу?
Apple видит, что вы купили подписку, и с какого Apple ID. Она не видит ни сообщений, ни контактов. Слепые токены — именно то, что не даёт связать покупку с вашей активностью отправки.