Privacy Policy

Last updated: April 13, 2026

Mishkat ("we", "us", "our") is a private, end-to-end encrypted messaging application. We built Mishkat with a single principle: collect as little data as technically possible. This Privacy Policy explains what information we process, why, and how we protect it.

1. Information We Collect

1.1 Information stored on your device only

The following data is generated and stored exclusively on your device and is never transmitted to our servers:

1.2 Information processed by our relay server

Our server acts as a lightweight relay to deliver messages and call alerts. It processes:

Data Purpose Retention
Public key Routes messages to the correct device Stored while you are registered; deleted when you clear data in the app
Push notification token (Expo push token) Delivers push notifications via Apple APNs Stored while you are registered; deleted when you clear data in the app
VoIP push token Wakes the app for incoming calls via Apple PushKit Same as above
Encrypted message payloads Forwarded to the recipient in real-time Not stored. If the recipient is online, the message is forwarded immediately. If offline, it may be queued briefly in memory and discarded after delivery.
WebRTC signaling data (SDP, ICE candidates) Establishes peer-to-peer call connections Not stored. Forwarded in real-time and then discarded.

1.3 Information we do NOT collect

We never collect, store, or have access to:

2. How We Protect Your Data

2.1 End-to-end encryption

Every message, photo, and file is encrypted on your device using secp256k1 elliptic curve Diffie-Hellman (ECDH) key exchange before being transmitted. The relay server only ever sees ciphertext — encrypted data that it cannot decrypt.

2.2 No-account architecture

Mishkat does not require you to create an account, provide a phone number, or give an email. Your identity is a cryptographic key pair generated on your device during onboarding. The private key never leaves your device.

2.3 Key storage

Your private key is stored in the iOS Keychain via Apple's Secure Enclave technology (accessed through expo-secure-store). This is the same hardware-backed secure storage used by Apple Pay and Face ID.

2.4 Transport security

All connections between your device and our relay server use TLS 1.2+ encrypted WebSocket connections. The app does not permit cleartext HTTP traffic (NSAllowsArbitraryLoads is set to false).

2.5 Zero-knowledge relay

Our relay server's sole function is to forward encrypted payloads between devices. It has no ability to decrypt, read, or analyze the content of any message or call. The server:

2.6 Disappearing messages

When enabled, messages are automatically deleted from both devices after the timer expires (configurable from 30 seconds to 4 weeks). Once deleted, the messages cannot be recovered.

2.7 App lock

You can protect the app with a PIN code and/or biometric authentication (Face ID / Touch ID). When locked, no message content is accessible even if someone has physical access to your unlocked phone.

3. Third-Party Services

Mishkat uses the following third-party services to function:

Service Purpose Data shared
Apple Push Notification Service (APNs) Delivers push notifications when you receive a message or call Device push token only. Apple does not receive message content (notifications contain a generic "New encrypted message" body).
Expo (expo.dev) Push notification infrastructure & OTA updates Expo push token. No message content is shared with Expo.
Render (render.com) Hosts our relay server Encrypted message payloads traverse Render's infrastructure. Render has no access to message content as it is end-to-end encrypted.

We do not use any advertising SDKs, analytics services, crash reporters, or social media trackers.

4. Voice & Video Calls

Calls use WebRTC for peer-to-peer encrypted audio and video. The relay server only forwards the initial signaling data (SDP offers/answers and ICE candidates) needed to establish the connection; once connected, media flows directly between devices. Call content is never processed or stored by our server.

On iOS, incoming calls use CallKit and PushKit VoIP to display native call UI. This is required by Apple for VoIP applications and does not expose call audio to Apple.

5. Data Deletion

You are in full control of your data:

There is no "account" to deactivate — once your data is cleared, there is no trace of your identity on our server.

6. Children's Privacy

Mishkat is not directed at children under 13. We do not knowingly collect any information from children. Since Mishkat collects no personal information at all, there is no children's data to protect or delete.

7. Data Transfers

Our relay server is hosted on Render in the United States. The only data that reaches the server is your public key, push tokens, and encrypted message payloads. Since message content is end-to-end encrypted and we have no ability to decrypt it, the privacy risk of this transfer is minimal.

8. Law Enforcement Requests

If we receive a valid legal request, we can only provide what we have: your public key and push notification tokens. We cannot provide message content, contact lists, call history, or any decrypted data — we simply do not have it.

9. Changes to This Policy

We may update this Privacy Policy from time to time. If we make material changes, we will update the "Last updated" date at the top of this page. We encourage you to review this page periodically.

10. Contact Us

If you have any questions about this Privacy Policy or our privacy practices, reach out and we'll get back to you.

Contact Us