Privacy Policy: Parley

Parley is published by Kitely Studio. Last updated: 2026-10-19. Contact: parleyapp.support@gmail.com

Parley is a chat and voice app for talking across languages, with on-device translation. It works in two ways: Online (over the internet through a relay server) and Mesh (directly between nearby phones with Bluetooth / Wi-Fi, no internet). This page says what the app does with your data. We do not sell data, we show no ads, and the app contains no advertising or analytics SDKs.

1. What the app processes

DataWhyWhere it goes
Your voice (microphone, only while you hold the talk button)To transmit what you say to the other people in the roomOnline: your talk is cut into short pieces (0.4 seconds of voice each) that go through Google Firebase to the people in the room, who hear it while you still hold the button, about a second or two late. The pieces are kept for 5 minutes so that the talk can be played again from the chat as a voice message, and are then deleted (at once if you delete the voice message, or when the room is deleted). In private rooms the pieces are encrypted on your phone with a key derived from the room passphrase (AES-256-GCM) before they are sent; in public rooms they are not encrypted end-to-end, so we and Google can technically hear them. A voice message in the chat holds no sound itself, only the number of the talk and its length. Mesh: sent directly to nearby phones in the same room; never leaves those phones.
Chat messagesRoom text chat, replies, emoji reactions under messages and, in private rooms, messages that vanish after a time the sender chooses (his phone then removes the message from the database too)Online: a message goes to Google Firebase (Realtime Database), which we use to deliver it to the people in the room. Firebase keeps it temporarily: up to 24 hours in a public room and about 1 minute in a private room; it is deleted at once when its author deletes it, and when the room is deleted. It is stored together with the author's identifier, display name and the time. In private rooms the text is encrypted on your phone with a key derived from the room passphrase (AES-256-GCM) before it is sent, so Firebase handles encrypted data only. In public rooms the text is not end-to-end encrypted (as in any open room): we and Google can technically read it, and a person who enters the room within those 24 hours can scroll back and read it. Mesh: sent directly to nearby phones; never leaves them. Your phone keeps what it received only in the app's memory (never saved to its storage): it stays while you step out to the main screen and come back, and disappears when the app is closed.
Who is in a room (presence)To show the list of people in the room, and to count the people in rooms (a public room holds 100 people, a private room 10, and the service as a whole a limited number)Your display name and the time you entered, in Google Firebase, only while you are connected to the room. It is removed when you leave, lose the connection or close the app. The total number of people in online rooms is shown in the app.
Online counter ("In the app")To show how many people have the app open nowWhile the app is open and online, your phone tells our server (Upstash) once a minute that it is here. The server keeps the random identifier of your session and the time for about 2 minutes and shows only the number. No name, no room and no location is kept for this.
Chat sign-in (Firebase Authentication)To let you into the chat of one room and to stop others from writing in your nameOur server gives your phone a short-lived sign-in token for that one room; Google Firebase Authentication records your identifier (your wallet address or guest ID, with the prefix "user_") and the time of sign-in. The identifier stays in Firebase Authentication until it is deleted (see section 5).
Wallet public address (if you sign in with a Solana wallet)To give you a persistent identity and a callsign, and to prove you own the rooms you createSent to our server to verify a signed login message. We never see your private key or seed phrase; the wallet app signs on your phone. You can also use the app as a guest without a wallet.
Callsign / display name, guest IDTo show who is in the room and who is speakingVisible to people in the same room; the chosen name and its owner are stored on our server so that names are unique. The name of the app (and spellings that imitate it) is reserved: our server refuses it as a display name or a room name to everybody except the owner of the app, who is recognized by the public Solana address shown in the app for donations; in chats his name and the mark "owner" are shown in another colour. The owner has no extra right to enter a private room: it needs its name and passphrase for him too. If you do not choose a name, your callsign is "Seeker-" plus the last 4 characters of your wallet address (or of your guest ID).
Room names and room settings (public/private, creator ID, a passphrase verifier)To list and protect roomsStored on our server (Upstash) while the room exists; Google Firebase also holds a small record of the room (public or private, how long its messages live) and of people the owner removed from it (their identifier and the end of the removal, 24 hours) until the room is deleted. The passphrase itself is never sent or stored; only a derived verifier is.
Wallet address of the creator of a public roomSo that the creator can manage and delete the roomStored as the room's owner on our server and included in the public room list that the app downloads, so other users' apps can see it while the room exists.
Callsign and room identifier in Mesh modeSo that nearby phones can find the room and show who is in itBroadcast over Bluetooth / Wi-Fi to phones within range that run this app (the room name is sent as a hash; a private room is also protected by its passphrase). Nothing is sent to our servers in Mesh mode.
Server request logsOperating and securing the serviceOur hosting provider (Vercel) records basic request details (time, address, IP) in its logs for a limited period; we use them only to find faults and abuse.
Network address (IP) and request countersAbuse protection: limits on how many rooms can be joined or created per hour and on wrong passphrase attempts (five wrong attempts lock that address out of that room, for 10 minutes the first time and for 24 hours after that)Kept temporarily in our server's rate-limit store and then deleted: counters for hours up to one day, the number of lockouts up to 30 days.
Friends: two key pairs made on your phone (one to lock messages, one to sign your friend link), a random inbox address, the push token of your phoneTo add friends and to deliver their invitations and friend requests to you as pop-up notificationsYour keys and your list of friends stay on your phone (encrypted storage). Our server stores only a random inbox address, a hash of its secret and the push token of your phone, issued by Google Firebase Cloud Messaging; it stores no name, no friend list and no messages. A friend's card (name, public key, inbox address) travels only in the QR code or link that you share yourself. An invitation or a friend request is locked on the sender's phone so that only the friend it is for can read it; our server and Google pass the locked message on without keeping it (the push service holds an undelivered message for up to 6 hours, and the app ignores invitations older than that).
Session tokenTo keep you signed inStored on your phone in encrypted storage and on our server (linked to your wallet address or guest ID) until it expires or you sign out.

2. Permissions and why they are needed

2a. What is stored on your phone

Your settings (interface language, translation choice, Mesh link mode, display name), the list of blocked callsigns, the timers of a chat block (if you sent too many messages in a room, the app stops you from writing in that room for a while; this stays on your phone only), favourite rooms, a guest ID and session token, and the keys of this phone for friend invitations, your list of friends and friend requests, in the phone's encrypted storage. Nothing else is saved: chat history stays in memory only. Uninstalling the app or clearing its data removes all of it.

2b. How rooms are protected

2c. Voice dictation, blocking and sharing

3. Chat translation

If you turn on chat translation, texts are translated on your phone with Google ML Kit. Message text is not sent anywhere for translation. Google downloads the language models to your phone once.

4. Third parties

5. Retention and your choices

6. Children

The app is not directed to children under 13 and does not knowingly collect their data.

7. Security

Connections to our server use HTTPS, and connections to Firebase are encrypted in transit. Private-room voice and text between phones in Mesh mode is encrypted with a key derived from the room passphrase. No system is perfectly secure, and public rooms are open to anyone who joins.

8. Changes

If this policy changes, the date at the top changes and the new text is published at this address.