Device-backed identity
Hashi creates dedicated authentication and encryption key material through Android Keystore so private key material is not handled as ordinary plaintext app data.
This page summarizes public-facing security properties. It intentionally omits internal endpoints, infrastructure addresses, operational thresholds and secret-bearing configuration.
Hashi creates dedicated authentication and encryption key material through Android Keystore so private key material is not handled as ordinary plaintext app data.
Hashi's V2 envelope uses RSA-3072 identity keys, RSA-OAEP key wrapping and AES-256-GCM authenticated encryption with metadata binding.
Trusted contact identity baselines are stored locally. A later key change is not silently accepted as the same identity and can require explicit user approval.
Fresh media uses per-file AES keys and authenticated chunk encryption so progressive transfer can preserve confidentiality and integrity chunk by chunk.
Chat history/topics, identity seed, tasks, message-filter configuration, contact cache, call logs and other sensitive stores use Keystore-backed AES-GCM protection in the Android client.
Protected API access is established through signed device challenges and short-lived authenticated sessions rather than a permanently embedded account password.
The production backend applies per-account/device controls, aggregate-source limits and serialized realtime-capacity admission so abusive account creation cannot simply multiply available backend capacity.
WebRTC can use production coturn relay infrastructure with short-lived server-issued credentials when direct connectivity requires a relay.