Privacy policy
Rift is built so that the people who run it can't read what you say. This page explains what Rift does collect, why, and how to get rid of it.
Last updated October 18, 2026.
Who I am
Rift is made by Coding Fries. That's me, a solo developer. You can reach me about anything here at support@joinrift.app.
This policy covers the Rift apps (Android, Windows, Linux and the web app at web.joinrift.app) and the services I run for them: Rift accounts, Rift direct messages, cloud backup, the server and bot directories, the push relay and bug reports.
Servers are run by other people
Rift servers are self-hosted. When you join one, its channels, messages, files, voice calls and member list live on that server, which belongs to whoever runs it, not to me. That is true even for a server you found in the Rift directory. That server's owner decides what it keeps, and their own rules apply. Messages and calls are end-to-end encrypted, so the server stores them but can't read them. It can still see who is a member, when they are online and which channel they are in.
A Rift account is optional
You can use Rift without an account. In privacy mode the app talks only to the servers you join, and nothing on this page except the push relay applies to you.
If you create a Rift account, I store:
- Your email address and a password verifier, to sign you in and to send you confirmation and password emails. The verifier is derived from your password on your device. It is not your password, and it can't unlock your backup.
- Your username and public keys, so other people can find you and send you an encrypted message. Anyone signed in to Rift can look up a username.
- Your encrypted backup, if you turn cloud backup on. It holds your identity and your list of servers, and it is encrypted on your device with a key made from your password before it is uploaded. I can't open it, and I can't recover it for you if you lose both your password and your recovery key.
- Your contacts: your friends, the people you have blocked and which messages you have read.
Direct messages
Rift direct messages between accounts pass through my server. They are end-to-end encrypted and signed on your device, so I store only scrambled text and can't read it. I do see who sent a message to whom, and when. Messages are deleted automatically after 30 days, and their attachments soon after.
Microphone, camera and screen
Rift uses your microphone, camera and screen only when you join a call or start a share, and only to send them into that call. Calls run on the server you are in and are end-to-end encrypted. Rift doesn't record calls.
Notifications
To wake your phone when a message arrives, Rift uses Firebase Cloud Messaging from Google. Your device's notification token is stored on my server so I can ask Google to wake it. The wake-up itself says only "something arrived". It carries no message, no sender and no server. Your phone then fetches what arrived directly.
The directories
Server owners and bot makers can list a server or a bot in Rift's public directory. A listing holds what its owner chose to publish: a name, a description, tags and an icon. Likes and reports you make in the directory are stored with your account. Rift's moderators (for now, just me) read reports to decide whether a listing stays up.
Bug reports
If you send a bug report from the app, I receive what you write, the app version, your device and system, and the app's recent log files. Rift removes passwords and tokens from its logs and never logs your messages. A log can still name your devices (like your microphone) and the title of a window you shared. Only Rift's moderators can read bug reports, and they are deleted after 90 days. Nothing is sent unless you press Send.
Checks that stay on your device
Rift can check pictures for nudity and messages for offensive words before they are shown. Both checks run on your device. Nothing is uploaded for them.
What I don't do
- No ads, and no advertising or analytics trackers.
- I don't sell or rent your data, and I don't share it except as described here.
- I don't build profiles of you. Like any online service, my servers see your IP address when your app connects, and I use it only to run the service and keep it from being abused.
Services I use
I use a few companies to run Rift. Each one handles your data only to provide its service to me:
- Contabo hosts the server that runs Rift accounts, direct messages and the directories.
- Cloudflare serves this website and the web app, and stores copies of Rift's database for disaster recovery.
- Amazon Web Services (Simple Email Service) sends account emails.
- Google (Firebase Cloud Messaging) delivers phone notifications.
Deleting your account
You can delete your Rift account yourself in the app or at web.joinrift.app: open Settings → Account & backup and choose Delete account. It is deleted straight away, with everything stored with it: your profile, backup, messages, contacts, listings, device tokens and bug reports. If you can't sign in, email support@joinrift.app from the address on the account. I reply to that address to confirm it's you, then delete it within 30 days. Copies in Rift's disaster-recovery backups expire on their own within 30 days. The steps are also on this page.
One exception: if Rift's moderators had banned the account from listing in the directory, I keep a one-way hash of its email address and the addresses of the servers it listed, so the ban still applies if the same address or server comes back. The hash can't be turned back into your address.
Deleting your account doesn't delete anything on a server you joined, because that server isn't mine. Leave the server, or ask its owner.
Without an account, everything Rift keeps is on your device. Uninstalling the app removes it.
Children
Rift isn't meant for children under 13, and I don't knowingly collect data from them. If you think a child has given me data, email me and I will delete it.
Changes
If I change this policy, I will update this page and the date at the top.
Contact
Coding Fries, support@joinrift.app.