Legal
Guidelines for Law Enforcement.
How Murmur answers requests from police, governments and courts, and what data exists to answer them. For law enforcement and government agencies, and for anyone who wants to know.
Contents14 sections
In short
#- Murmur is end-to-end encrypted. We hold no message content and no keys, so we can never hand them over. Our servers don’t know who sends a message or who is in which group, and we keep no IP addresses.
- We hold a little data about each account, listed below, and a valid legal order can compel it. That data is minimal, and none of it says who a person is or who they talk to, apart from what people choose to send us themselves, like a report or an email.
- We answer valid legal process from any country, when it binds Murmur Labs LLC, the company that makes Murmur. An authority whose order doesn’t bind us goes through the channels the law gives it, such as mutual legal assistance.
- When a life is in immediate danger, write to [email protected] with “Emergency” in the subject.
- We tell the person concerned unless the law forbids it, and we publish a transparency report twice a year.
- There are no backdoors in Murmur, and there never will be.
What Murmur is
#- A private messaging app. People sign up with a username and a password, with no phone number, no email and no real name. They write one on one and in private groups of up to 1,000 members, send voice messages, and share photos and documents. There are no voice or video calls and no public channels.
- Sealed end to end. Messages, voice messages, photos and files are encrypted on people’s devices, and only the devices in the conversation can open them. Our servers pass them along without a key. Each one goes to a mailbox our servers can’t link to an account, and the sender’s name travels only inside the sealed envelope.
- Made by Murmur Labs LLC. Murmur Labs LLC makes the Murmur apps and runs the servers they use. Requests go to Murmur Labs LLC, at [email protected].
Our public position is that we hold no message content and no keys. We hold the metadata listed in our public table, and it can be compelled.
What we can never provide
#We can’t hand over what we don’t have. We don’t have:
- The content of messages, voice messages, photos and files, their names and types, reactions, poll votes or todo lists. We hold them only encrypted, with no key to open them. We keep messages for 30 days at most (a scheduled message waits for its time first, a year at most), files for 30 days unless pinned, and the text backups people choose to keep, which only their own Recovery Key opens.
- Keys we can use, passwords or Recovery Keys. Passwords never leave people’s devices. Private keys reach our servers only sealed, either in an account’s Recovery Key data, which only that person’s Recovery Key opens, or for a few minutes, in the box that carries them to a new device the person links.
- Profiles, contacts, blocks and most settings (the few our servers apply are listed below), or group names, pictures and descriptions. We store them only encrypted, and we can’t open them.
- Who sent a message. The sender’s name travels only inside the sealed envelope.
- Who talks to whom, including who has a one-on-one chat with whom.
- Who is in which group, their roles, or who added or removed whom. The one exception is a group admin who asked us for community passes (see “Links and passes” below).
- IP addresses, or any log that ties an address to an account.
- A phone number, an email address, a real name, a date of birth, a location, device models, an address book or a payment identity. We never ask for them. The only email addresses we hold are those of people who write to us, kept with their message.
We can look up an account only by its exact username (number included), its account ID, or a contact link that points to it. We can’t search by phone number, real name or IP address, or by email address, except for people who wrote to us by email.
What exists
#Here is what our servers hold that can be tied to an account. None of it is a name, a phone number, an email address or an IP address, and none of it says who the account talks to, apart from what people choose to send us themselves, like the messages in a report, or an email with its address.
The list follows our public table, which is checked against our code at every release, and our Privacy Policy.
| Data | What it is | How long we keep it |
|---|---|---|
| Account ID | A random ID that never changes. The account’s devices, and the devices of its contacts, hold it too | Until the account is deleted |
| Username | The name the person chose (the app asks them not to use their own name), then a dot and the two digits Murmur added, like alibaba.46. It can’t be changed. Stored as a keyed hash, never in clear, with a second keyed hash used to refuse look-alike names. We can check whether a given username exists and find its account, but we have no list of usernames in clear | Until the account is deleted, then 90 days, unlinked from the account |
| Account dates | The day the account was created (only the month, after 12 months), and for each device, the day it was added, its last active day and when its first 72 hours end | Creation day: while the account exists. A device’s dates: until that device is removed |
| Devices | The list of the account’s devices and their platform types (such as iPhone, Android, Windows or Mac), with their public keys, certificates, whether each key is kept in secure hardware, and the app version each device last connected with. Also the earlier signed versions of the device list and of the identity key, which show past devices and when the list changed | The current list: until a device is removed. The earlier signed versions: until the account is deleted |
| Devices that left | For each device removed, including by a fresh start or by deleting the account, its device ID, the account’s username, why it left and the day. Never what it held | 180 days at most, even after the account is deleted |
| Sign-in and recovery | The sign-in record, which doesn’t reveal the password, and the sealed Recovery Key material, meaning the public half of a key made from it, and a bundle we can’t open (the account’s identity key and account-state key, sealed for its Recovery Key), with its 2 previous versions | Until the account is deleted |
| Sign-in and linking sessions | A sign-in in progress, a puzzle a device is solving, and the sealed box that hands the account’s keys, and the way to its history, to a new device being linked. We can’t open the box | In memory. A sign-in: 1 minute. A puzzle: 5 minutes. A linking box: 10 minutes |
| Settings our servers apply | Whether the account can be found by username, who can send it a request, Lockdown Mode, whether a password-only fresh start is allowed, whether password sign-in is on, whether a Recovery Key was saved, and its inactivity delay | Until changed, or until the account is deleted |
| Trust and limits | The trust level and any restrictions, failed sign-in counters, daily counters (new chats, lookups, group joins, uploads, invites) and the number of upheld reports against the account | Counters: 30 days at most. Upheld reports: 180 days. Trust level and restrictions: while the account exists |
| Other account data | The version of the terms it accepted, and with it that the person is 16 or older (never a date of birth), pending timers (such as a pending reset), and a single block counter that is never a list of who it blocked | While the account exists. Timers: until they end; a reset, until 30 days after it ends or is cancelled |
| Links and passes | The encrypted card of its contact link (this is how a contact link leads to the account), the use of invite links, and the community passes it created as a group admin, with their limits, expiry and number of uses, never who used them | As long as the link or pass exists |
| Message requests | Whether each request to the account was answered and how many messages it holds (3 at most), never who sent it | Until answered, 30 days at most |
| Presence | Whether a device has an open connection right now, never a history. The “online” and “last seen” that people share with those they chat with travel sealed between their devices, and our servers neither keep nor count them | About 90 seconds, in memory |
| Notification tokens | Kept on a separate notification relay, under a random ID, with whether direct chats and groups notify that device and whether its notifications carry the message (not with No Name or Content, or in Lockdown Mode). A token says nothing about the person. Apple or Google, who issue it, can link it to their own customer’s account, so ask them | Deleted after 30 days without device activity |
| Purchases | A “supporter” flag on the account, without any payment identity, or a “community plan” flag on a group | While the benefit lasts |
| Abuse reports | What the person reporting chose to send (the messages, their signatures and the sender’s certificate), the report’s category and status, a keyed hash of the reporting account, and anything preserved with it | 90 days after the case is closed, at least 1 year after a decision on the account, 1 year when a mandatory report is made, and longer only while a legal hold applies |
| Staff action records | What our staff did on the account, in a log no one can rewrite | 2 years, longer only under a legal hold. After the account is deleted, no longer linked to it |
| Support and diagnostics | Messages people send to Murmur’s official account, emails they send us (with the sender’s address), and crash or debug reports they chose to send | As long as we need them to answer or fix the problem |
We also store data we can’t open. For it, we see only sizes and times, and what each line below says:
- Waiting messages, in mailboxes our servers can’t link to an account, are kept encrypted until each device has fetched them, 30 days at most (in large groups, until their 30 days are up, even after delivery), with a copy in our encrypted backups for up to 14 days. We also see the version of the chat’s keys, whether to wake a device, and whether it’s a direct chat or a group.
- Scheduled messages are sealed envelopes that wait until a set time for the devices that will receive them, with a rounded size, never who scheduled them. Kept until that time, a year at most, then delivered like any message. A record that one went out or was cancelled stays 30 days more.
- Once-a-day “last seen” signs are sealed, carrying only the day. Held a random 1 to 12 hours, then delivered like any message.
- Files, voice messages included, are kept encrypted for 30 days unless pinned. No sender or chat is tied to a file, except that a pinned file is tied to its group, never to its members, to count the group’s quota.
- History sent to a new device or to a group’s new members is kept encrypted, 24 hours at most.
- Group changes, for a group mailbox our servers can’t link to its members. We keep each change, sealed for the members, with its order number (30 days), the group’s count of changes for the day (1 day), and whether the group has more than 256 devices.
- Encrypted records of profiles, account states and groups.
- Text backups people choose to keep, which only their own Recovery Key opens.
Some records point to no account. They are markers that a chat’s mailbox is muted, the sign-up token service’s used tokens (until its monthly key change) and per-device counts (30 days), and totals (the ones we count, and the ones a group’s admins or our panel members choose to share).
Our server logs hold a closed list of fields, never account, device or group IDs, IP addresses or tokens, and they’re kept 7 days. While we handle an outage, traces of a small sample of requests use the same closed list and are kept 72 hours. Nothing in them points to an account.
The legal process we require
#- Valid legal process. Apart from the child-safety reports the law requires, we disclose data only under valid legal process that binds Murmur Labs LLC, such as a warrant or another order from a judge or a court. We don’t answer informal requests, except in an emergency (see below).
- From any country. We treat every authority the same way, whatever country it’s in. When its own order doesn’t bind us, it goes through the channels the law gives it, such as mutual legal assistance between governments, which leads to an order that does.
- Orders sent to us directly. Where a law lets an authority send its order straight to a company like ours, it can send it to our legal representative there, where we have one, or to [email protected]. We check each one the same way, give only data that exists, tell the person unless the order forbids it, and count it in our transparency report.
- Civil cases. The same rule applies, so we need a valid court order that binds us.
- Specific requests only. A request must name the exact username, account ID or contact link, the data needed and the period. We disclose only what the order covers, and only data that exists. We challenge orders that are too broad, and non-disclosure orders we believe aren’t justified.
How to send a request
#Write to [email protected], in English or in French. Please include:
- the name of your authority or agency;
- your name, your badge or ID number, and your official email address and phone number;
- the legal basis, with a copy of the signed order;
- the exact username, account ID or contact link concerned (or several);
- the data you are asking for, and the period it covers;
- any deadline, and why.
Emergencies
#- Only when a life is at stake, meaning a danger of death or serious physical harm that is imminent.
- Write to [email protected] with “Emergency” in the subject. Tell us what the danger is, who is at risk, why it can’t wait for an order, and what data you need.
- Where the law allows it, we may then disclose, without an order, the minimum we hold that’s needed to prevent the harm.
Preservation requests
#- When we receive a valid preservation demand or order, we preserve what exists about the account at that moment, for the period it sets, while you obtain an order.
- We can’t preserve what we never had, and much of what we hold doesn’t last long, with waiting messages kept 30 days at most, server backups 14 days, notification tokens 30 days after a device’s last activity, and server logs 7 days, with no account in them.
- For child sexual abuse, we preserve the report and related data for 1 year on our own, as the law requires.
Telling the person concerned
#- We tell the person before we disclose their data, so they can challenge the request. We tell them in the app, because we have no email address or phone number for them.
- We don’t tell them when a law or a court order forbids it, or in cases of child sexual exploitation. After an emergency, we tell them once the danger has passed, if the law allows it.
- We challenge non-disclosure orders we believe aren’t justified.
Child sexual abuse
#We don’t wait to be asked. We report child sexual abuse to the bodies the law requires, such as the CyberTipline of the National Center for Missing & Exploited Children (NCMEC), with the data we actually hold. Our Child Safety Standards explain how.
Transparency report
#Twice a year, we publish a transparency report at murmur.free/transparency, with the requests we received and the data we handed over, by country and type, the child safety reports we made, and the accounts we acted on.
What we can’t do
#- We can’t decrypt messages, photos or files, hand over keys, or give anyone access to content, ever.
- We can’t see inside a group or tell who is in it.
- We can’t identify the person behind an account from an IP address.
- We can’t remove a message from the devices of the people who received it.
- Apple and Google hold their purchase records and the link between a notification token and their own customer’s account. Ask them directly.
No backdoors, ever
#Murmur is built without backdoors. There is no spare copy of anyone’s keys on our side, no hook to scan content, and no backup, search or “admin recovery” our servers can read. The first two are on our list of things we will never build.
We can’t change the app’s code remotely. Desktop builds from our site and the direct-download Android app are recorded in a public log, so a version made for one person would show. App store builds can’t be checked this way, and we say so in the app too.
We will contest any order that would create a systemic vulnerability, and we would shut down the affected feature rather than ship a backdoor.
Contact
#- Legal and law enforcement requests, emergencies included
- [email protected]
- Child safety
- [email protected]
- People asking about their own data
- [email protected]