Вы можете безопасно собрать столько данных, сколько захотите. внутри приложения, пока оно остается там.
Проблема в том, что вы хотите надежно идентифицировать учетную запись пользователя (но без каких-либо конкретных c данных пользователя), не выпуская какие-либо из этих данных. Использование хэшей (обычно SHA256) адресов электронной почты в качестве идентификаторов стало довольно распространенным явлением, однако, если все используют один и тот же подход, это похоже на распределенную радужную таблицу. Однако вы можете развернуть обычную защиту от таких атак, добавив свои хэши, чтобы они были уникальными для вашей службы.
Если вы зашифруете данные пользователя на устройстве с помощью ключа, который знают только они, и только когда-либо передавали и хранить зашифрованные данные (т. е. к которым у вас нет доступа), тогда они смогут использовать те же локальные идентификаторы и их ключ для чтения данных с другого устройства. Поскольку данные шифруются и дешифруются только одним и тем же ключом, вы можете использовать шифрование symri c - посмотрите на использование libsodium для этого.
Возможно, вы захотите рассмотреть возможность использования 2FA для go с этим поскольку в противном случае перехват этого идентификатора может привести к несанкционированному доступу.
В зависимости от чувствительности трафика c, вы можете попытаться скрыть метаинформацию, такую как даты, время и объемы подключения, чтобы вы могли получить приложение для генерации случайных данных, чтобы скрыть реальные данные внутри.
Заявление об ограничении ответственности - я не криптограф! Я рекомендую вам запросить более квалифицированные ответы по телефону https://security.stackexchange.com.