Jabber/XMPP with Easy Entry and Easy Discovery
Quicksy is a spinoff of the popular Jabber/XMPP client Conversations with automatic contact discovery.
You sign up with your phone number and Quicksy will automatically—based on the phone numbers in your address book—suggest possible contacts to you.¹ Quicksy can be downloaded for free from Google Play Store. The source code is licensed under the GPLv3 and available on Github. Under the hood Quicksy is a full-fledged Jabber client that lets you communicate with any user on any publicly federating server. Likewise users on Quicksy can be contacted from the outside simply by adding
+firstname.lastname@example.org to your contact list.
Aside from the contact sync the user interface is deliberately as close to Conversations as possible. This allows users to eventually migrate from Quicksy to Conversations without having to relearn how the app works.
From a technical standpoint Quicksy is a gradle build flavor that replaces the sign up screens from Conversations. It is maintained in the same source tree and runs through the same release cycles and has the same features as Conversations.
¹ Suggested contacts consists of other Quicksy users and regular Jabber/XMPP users who have entered their Jabber ID into the Quicksy Directory.
Even if you are not a Quicksy user you can enter your Jabber ID into the Quicksy Directory and give Quicksy users the ability to automatically discover you based on your phone number. This lets you enjoy the privacy-friendly, federated nature of Jabber/XMPP while giving your less tech-savvy friends a low barrier entry into that world.
We charge a small fee to enter your Jabber ID and phone number into our directory. This cross financing allows us to make Quicksy completely free for its users. If you are a paying customer of the conversations.im hosting service, you can enter your number for free.
Our general policy regarding your data is to store as much as needed and as little as possible. This section will try to explain what personal data we store and how we handle that.
In regular intervals Quicksy will upload a list of phone numbers from your Android Address Book to the Quicksy Server and get a list of matching Jabber IDs in return. Those Jabber IDs are either other Quicksy users or Jabber users who have entered their phone number into the Quicksy Directory. The matches are kept locally in the app until you sent a message to someone. Sending a message to someone will add that particular contact to your server side contact list (roster); See section »Other data« below. The Quicksy server does not keep a copy of your entire address book.
If you enter your Jabber ID into the Quicksy Directory, Quicksy users will not be able to discover your phone number based on your Jabber ID. Only Quicksy users who already know your phone number can discover your Jabber ID. The Quicksy Directory can only be queried by registered Quicksy users. We employ appropriate measures to prevent Quicksy users from scraping the entire list.
Your user name (which is your phone number), a hash of your password, the date of your account creation and your last login (To automatically delete inactive accounts.)
For users of our Quicksy Directory service we store the combination of your Jabber ID and phone number.
Offline messages. If someone sends you a message while you are offline that message will be stored until you get back online.
Archive. By default we will be keeping an archive of your messages for later retrieval by yourself. This can come in handy if you log in with a new device and want access to your message history and is also required if you want to use the OMEMO encryption with multiple devices. You can opt-out of this by setting your server-side archiving preferences with your XMPP client.
Every file you share with a contact or a conference will be uploaded and stored for later retrieval by the recipients.
A list of your Jabber contacts (Roster, Buddylist). This list is maintained by you. This is not the Android address book that gets synchronized with our server. You decide who goes on that list and who gets deleted.
Your IP address or any information that could be inferred by that address like your location.
Your Android address book.
If you delete your account all related information will be deleted with it. Including your files and messages.
All backups are encrypted.
For SMS verification we will hand your phone number to our SMS provider Twilio.
If your Android phone goes into a standby state and loses the connection to our server we will send a wake up signal to your device over Google’s FCM. This wake up signal does not contain any personal information. Find a very detailed technical explanation here.
We hand your Jabber ID or Quicksy username out to any Quicksy user who knows your full phone number.
Even though we will never look at the contents of your messages or files nor process them in an automated fashion we strongly advise you to use the OMEMO encryption whenever possible.
While the Quicksy app is free and open source the Quicksy Server is not. The Quicksy Directory server is inherently a centralized entity and there is no control mechanism to guarantee that we actually run the same code we publish. On the other hand not making the code open source allows use to license the server to third parties who want to build non-federating instant messaging systems based on XMPP. This additional revenue stream can ensure the long term sustainability of Quicksy.
If you are interested in licensing the Quicksy Server to build your own XMPP-based instant messaging system with a simple and robust phone number discovery contact Daniel Gultsch.