Skip to content
Chizy edited this page May 9, 2025 · 5 revisions

Frequently Asked Questions (FAQ)

This page answers common questions about QuietDrop, its features, and how to use it.

General Questions

What is QuietDrop?

QuietDrop is an end-to-end encrypted messaging application built in Rust, focusing on privacy, security, and performance. It uses modern cryptographic libraries to ensure your messages remain confidential.

Is QuietDrop free to use?

Yes, QuietDrop is an open-source project released under the MIT License, which means it's free to use, modify, and distribute.

Which platforms does QuietDrop support?

QuietDrop is a cross-platform application that supports:

  • Desktop: Windows, macOS, Linux
  • Mobile: Android, iOS (in development)

All platforms use the same codebase and security model, providing a consistent experience across devices.

How is QuietDrop built?

QuietDrop is built with:

  • Rust for the core library and business logic
  • Tauri 2.0 for cross-platform application development
  • Yew (a Rust framework) for the frontend UI
  • WebAssembly for compiling Rust to run in WebView
  • Sodiumoxide for cryptographic operations

Is QuietDrop ready for production use?

QuietDrop is currently in early development and not yet recommended for production use or sensitive communications. Check our roadmap for development status.

Security Questions

How secure is QuietDrop?

QuietDrop implements end-to-end encryption using established cryptographic libraries (sodiumoxide/libsodium). Messages are encrypted on the sender's device and can only be decrypted by the intended recipient.

Can the server read my messages?

No. With end-to-end encryption, messages are encrypted before they leave your device and can only be decrypted by the intended recipient. The server only handles encrypted data it cannot read.

Has QuietDrop been audited?

Not yet. QuietDrop is in early development and has not undergone a formal security audit. We plan to conduct an audit as the project matures.

What encryption does QuietDrop use?

QuietDrop uses:

  • X25519 for key exchange
  • XSalsa20 stream cipher for encryption
  • Poly1305 for message authentication
  • Argon2id for password hashing

Is my message history stored?

In the current implementation, messages are not persistently stored. We're working on implementing a SQLite database with sqlx for secure local storage of encrypted messages in upcoming versions.

Is the mobile version as secure as the desktop version?

Yes. Both mobile and desktop versions use the same encryption library and security model. All messages are encrypted and decrypted locally on your device.

Usage Questions

How do I start using QuietDrop?

See our Getting Started guide for installation and usage instructions for both desktop and mobile platforms.

How do I install QuietDrop on my mobile device?

Android users can download the APK from the Releases page. iOS users will need to wait for App Store availability or build from source using Xcode.

Can I use QuietDrop on a public network?

Yes, QuietDrop's encryption is designed to protect your messages even on untrusted networks. However, remember that the current version is still in development.

Can I use the same account on multiple devices?

Multi-device support is planned but not yet implemented. In the current version, each device has its own identity and key pair.

Does QuietDrop support group chats?

Group chat functionality is under development but not yet available in the current version.

Can I send files through QuietDrop?

File transfer functionality is planned but not yet implemented in the current version.

How do I know if my messages were delivered?

The current version does not include delivery receipts. This feature is planned for future releases.

Technical Questions

Why is QuietDrop built in Rust?

Rust was chosen for its combination of performance, memory safety, and security. These properties are especially important for cryptographic applications where security bugs can have serious consequences.

Why does QuietDrop use Tauri?

Tauri provides several advantages:

  • Cross-platform support for desktop and mobile from a single codebase
  • Native performance and small bundle size
  • Security through process isolation
  • Ability to use Rust throughout the entire stack (with Yew/WebAssembly)

Can I run my own QuietDrop server?

Yes, QuietDrop is designed to allow you to run your own server. See the Getting Started guide for instructions on running the server component.

How do I back up my encryption keys?

The current version does not include a key backup mechanism. This feature will be added in future versions. For now, make sure to keep the generated key files safe.

Is QuietDrop compatible with other messaging apps?

No, QuietDrop currently uses its own protocol and is not interoperable with other messaging applications.

What are the system requirements?

QuietDrop has minimal system requirements:

Desktop:

  • Modern operating system (Windows 10+, macOS 10.15+, or Linux with WebKit2GTK)
  • Internet connection
  • Approximately 50MB of disk space
  • Minimal RAM usage (~50MB)

Mobile:

  • Android 8.0+ or iOS 13.0+
  • Approximately 30MB of storage
  • Standard connectivity and hardware

Does QuietDrop work offline?

Currently, QuietDrop requires an internet connection for messaging. Offline support with message queuing is planned for future releases.

Development Questions

What are signed commits and why are they required?

Signed commits are commits that have been cryptographically verified to come from a trusted contributor. QuietDrop requires signed commits for all contributions to the master branch for these reasons:

  1. Authenticity verification: Confirms that commits actually come from the claimed author
  2. Security assurance: Prevents attackers from pushing malicious code if they gain access to a contributor's GitHub account
  3. Chain of custody: Establishes a verifiable chain of code changes
  4. Integrity: Aligns with our security-focused approach to development

How do I set up signed commits?

You can set up commit signing using either GPG or SSH keys:

  1. Using GPG (recommended):

    # Generate a GPG key if you don't have one
    gpg --full-generate-key
    
    # Configure Git to use your key
    git config --global user.signingkey YOUR_KEY_ID
    git config --global commit.gpgsign true
    
    # Add your public key to GitHub
    gpg --armor --export YOUR_KEY_ID
    # Copy output and add to GitHub Settings → SSH and GPG keys
  2. Using SSH:

    # Configure Git to use SSH signing
    git config --global gpg.format ssh
    git config --global user.signingkey ~/.ssh/id_ed25519.pub
    git config --global commit.gpgsign true

See the GitHub guide on signing commits for detailed instructions.

Why are my commits showing as "unverified" even after setting up signing?

This usually happens for one of these reasons:

  1. You haven't added your public key to your GitHub account
  2. The email in your commit doesn't match the email associated with your GPG key
  3. Your GPG key has expired

To fix this, verify that the email in your Git configuration matches the one in your GPG key:

git config --global user.email "[email protected]"

What if I forgot to sign my commits in a pull request?

If your PR contains unsigned commits, you have a few options:

  1. Amend the commits: You can use git commit --amend --no-edit -S and force push
  2. Create a new branch with signed commits: Create a new branch, cherry-pick your changes with signing, and create a new PR
  3. Ask for a squash merge: A repository maintainer can squash and sign your commits during the merge

For detailed instructions, see our Contributing Guide.

How can I contribute to QuietDrop?

We welcome contributions! See our Contributing Guide for details on how to get involved.

How do I build QuietDrop from source?

See our Development Guide for detailed instructions on building from source for desktop and mobile platforms.

How do I build QuietDrop for mobile platforms?

For Android:

cd quietdrop-tauri
cargo tauri android build

For iOS:

cd quietdrop-tauri
cargo tauri ios build

See our Development Guide for detailed prerequisites and instructions.

Is there an API for integrating with QuietDrop?

QuietDrop's API is still evolving. You can find current documentation in the API.md file.

Where can I learn more about the project architecture?

Check out the Architecture wiki page for details on how QuietDrop is designed, or the Tauri Architecture document for information specific to the Tauri implementation.

Do I need to know web development to contribute to the frontend?

No. QuietDrop's frontend is built with Yew, a Rust framework that compiles to WebAssembly. You can contribute to the frontend using Rust without needing JavaScript knowledge.

Still Have Questions?

If your question isn't answered here:

  1. Search GitHub Discussions to see if it's been addressed previously
  2. Start a new discussion in the Q&A category
  3. For potential bugs or features, check GitHub Issues
Clone this wiki locally