Documentation & FAQ

How does Qubit work?

Qubit is a post-quantum messenger that uses only symmetric cryptography. It does not use asymmetric cryptography (e.g. RSA, ECC, Diffie-Hellman), which would be vulnerable to quantum computer attacks. Messages are encrypted with AES-256-GCM on your device; the server only stores the ciphertext and never has access to it in plain form.

Why is Qubit post-quantum?

Quantum computers (when fully realised) will be able to break widely used asymmetric schemes. Qubit does not use them at all. Key exchange is done in person (offline), and only a shared symmetric key is used for encryption. Symmetric algorithms (e.g. AES-256) are considered resistant to quantum attacks with an appropriate key length.

How does key exchange work?

Two people must meet in person. Each generates a unique “conversation nickname” in the app and shares it with the other. Then both parties agree on a shared key (min. 16 characters, letters, digits, hyphen) and enter it in the app. This key is used to encrypt and decrypt messages. The key is never sent over the network; in the production version only the app on your device stores it.

Why are my data secure?

The server never receives message content in plain form. You only send an encrypted blob (IV + ciphertext + tag) to the server. Decryption happens only on your device, in the iPhone or Android app, using the key that only you and the recipient know. Even the server administrator cannot read the messages.

Keys in the mobile app

In the Qubit mobile apps (iOS and Android), encryption keys are stored only on your phone, in the operating system’s secure storage (Keychain or Android Keystore). They are never sent to the server or to any cloud service. Even if the server were compromised, your keys remain protected — this is the strongest security model for offline key exchange.

How long are messages kept?

A message is deleted from the server 30 days after the recipient's device has collected it. A message that was never collected is kept — deleting something that never arrived would destroy it before it was ever delivered. Deletion removes the single copy, so it disappears for both of you. If you would both rather keep a conversation permanently, each of you turns on “Keep full history” in that channel's settings; it takes both, because the message belongs to both of you. Turning it off again applies only from then on — anything already kept under your agreement stays.

What does the tick next to my message mean?

One tick means the other person's device has downloaded the message. That is all the server can honestly tell you: it sees a device collect the encrypted data, never whether a person read it. There is no second “seen” tick, because there is nothing truthful to base one on.

Voice messages

You can record and send a voice message of up to two minutes. It is encrypted on your device with the same key as your text messages, so we cannot listen to it. Receiving and playing voice messages is free for everyone and always will be; sending them is part of Qubit Pro, a subscription available in the app.

Message content limitations

For simplicity and consistency:

FAQ

Can I recover my password?

There is no automatic password reset. Your nickname and password are the whole account, so save both somewhere safe – the nickname is generated for you at registration. You can optionally leave a recovery email address in the app (Profile → Account recovery); we never send anything to it, but if you lose access it gives us somewhere to start. Recovery is then a manual process in which we verify ownership before restoring anything.

What happens when I close a channel?

Removing the key (closing the channel) means that no one – including you – will be able to decrypt previous messages. The other party will not be able to send you new messages on this channel.

Is this demo fully secure?

Yes — keys are never stored on the server. They stay only on your device (see “Keys in the mobile app” above) and are exchanged in person. Message encryption and decryption happen entirely on the client side, so the server only ever handles ciphertext and never sees your messages or your keys.