πŸš€ Project Website & GitHub Repo

πŸ” Database Encryption - User Guide

What is Database Encryption?

Database encryption protects your WiFi and Bluetooth scan data by scrambling it with a password (passphrase). Even if someone gains access to your device or database file, they cannot read the data without knowing your passphrase.

🎯 Why Use Encryption?

Privacy Protection

Security Benefits

πŸš€ Quick Start

First-Time Setup

  1. Launch the app (first time or after update)

  2. Encryption prompt appears:
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Would you like to enable database  β”‚
    β”‚ encryption to protect your data?   β”‚
    β”‚                                    β”‚
    β”‚ πŸ” Recommended for privacy         β”‚
    β”‚                                    β”‚
    β”‚ [Enable Now]  [Maybe Later]        β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
  3. Choose β€œEnable Now”

  4. Set your passphrase:
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Create Passphrase                  β”‚
    β”‚                                    β”‚
    β”‚ Enter passphrase:                  β”‚
    β”‚ [________________]                 β”‚
    β”‚                                    β”‚
    β”‚ Confirm passphrase:                β”‚
    β”‚ [________________]                 β”‚
    β”‚                                    β”‚
    β”‚ ☐ Show passphrase                  β”‚
    β”‚                                    β”‚
    β”‚ [Set Passphrase]  [Cancel]         β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
  5. Wait for migration:
    Encrypting database...
    ⏳ Please wait...
    
  6. Done!
    βœ“ Database encrypted successfully!
    

πŸ”“ Unlocking Your Database

Every time you launch the app with encryption enabled, you’ll need to unlock it:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Unlock Database                    β”‚
β”‚                                    β”‚
β”‚ Enter your passphrase:             β”‚
β”‚ [________________]                 β”‚
β”‚                                    β”‚
β”‚ [Unlock]  [Cancel]                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Important: The app stays unlocked during your session but locks automatically when you close it or switch apps.

βš™οΈ Managing Encryption

Access Encryption Settings

  1. Open the app
  2. Tap β€œMore” button
  3. Select β€œπŸ” Database Encryption”

Available Options

When Encryption is Enabled:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Database Encryption                β”‚
β”‚                                    β”‚
β”‚ Status: πŸ”’ Encrypted               β”‚
β”‚                                    β”‚
β”‚ Options:                           β”‚
β”‚ β€’ Change Passphrase               β”‚
β”‚ β€’ Disable Encryption              β”‚
β”‚                                    β”‚
β”‚ [Cancel]                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

When Encryption is Disabled:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Database Encryption                β”‚
β”‚                                    β”‚
β”‚ Status: πŸ”“ Not Encrypted           β”‚
β”‚                                    β”‚
β”‚ Options:                           β”‚
β”‚ β€’ Enable Encryption               β”‚
β”‚                                    β”‚
β”‚ [Cancel]                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ Changing Your Passphrase

  1. Go to: More β†’ πŸ” Database Encryption β†’ Change Passphrase

  2. Enter passphrases:
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ Change Passphrase                  β”‚
    β”‚                                    β”‚
    β”‚ Current passphrase:                β”‚
    β”‚ [________________]                 β”‚
    β”‚                                    β”‚
    β”‚ New passphrase:                    β”‚
    β”‚ [________________]                 β”‚
    β”‚                                    β”‚
    β”‚ Confirm new passphrase:            β”‚
    β”‚ [________________]                 β”‚
    β”‚                                    β”‚
    β”‚ [Change]  [Cancel]                 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
  3. Wait for re-encryption:
    Re-encrypting database...
    ⏳ Please wait...
    
  4. Success:
    βœ“ Passphrase changed successfully
    

Important: Make sure to remember your new passphrase! There is no recovery option.

πŸ”“ Disabling Encryption

⚠️ WARNING: This will remove all protection from your database!

  1. Go to: More β†’ πŸ” Database Encryption β†’ Disable Encryption

  2. Read the warning:
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ ⚠️ WARNING                         β”‚
    β”‚                                    β”‚
    β”‚ This will decrypt your database!   β”‚
    β”‚                                    β”‚
    β”‚ β€’ Data will be stored in plaintext β”‚
    β”‚ β€’ Anyone can read it              β”‚
    β”‚ β€’ Privacy protection removed      β”‚
    β”‚                                    β”‚
    β”‚ Are you sure?                      β”‚
    β”‚                                    β”‚
    β”‚ [Yes, Disable]  [Cancel]           β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
  3. Confirm if you’re sure

  4. Database decrypted:
    βœ“ Database decrypted
    Encryption disabled
    

πŸ“€ Exporting Encrypted Databases

When you export your database with encryption enabled:

  1. Go to: More β†’ Save DB as file

  2. Database exported as encrypted file:
    βœ“ Database exported!
       
    File: wifiscannerexport_123456.db
       
    Note: This file is encrypted.
    You'll need your passphrase to import it.
    
  3. Share safely: The exported .db file is protected with your passphrase

πŸ“₯ Importing Encrypted Databases

  1. Go to: More β†’ Import external DB

  2. Select encrypted .db file

  3. Encryption detected:
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚ πŸ”’ Encrypted Database Detected     β”‚
    β”‚                                    β”‚
    β”‚ Enter passphrase to import:        β”‚
    β”‚ [________________]                 β”‚
    β”‚                                    β”‚
    β”‚ [Import]  [Cancel]                 β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
  4. Enter correct passphrase

  5. Database imported:
    βœ“ Encrypted database imported!
    

πŸ’‘ Tips & Best Practices

Passphrase Guidelines

βœ… DO:

❌ DON’T:

Security Tips

❓ Frequently Asked Questions

Q: What if I forget my passphrase?

A: Unfortunately, there is no recovery option. This is by design to ensure maximum security. Your data will be inaccessible. Always keep a secure backup of your passphrase.

Q: Can someone break the encryption?

A: We use AES-256 encryption. With a strong passphrase, it would take billions of years to crack with current technology.

Q: Does encryption slow down the app?

A: Minimal impact. You might notice ~200ms slower startup, but day-to-day scanning and viewing is barely affected (<5% slower).

Q: Can I use this on multiple devices?

A: Yes! Export your encrypted database and import it on another device with the same passphrase.

Q: What happens if I lose my device?

A: Your data is protected. Even if someone extracts the database file, they cannot read it without your passphrase.

Q: Is this really secure?

A: Yes. We use:

Q: Can I switch between encrypted and unencrypted?

A: Yes. You can enable/disable encryption at any time through the settings. However, disabling removes all protection.

Q: Does this protect against malware?

A: Partial protection. Encryption protects data at rest (stored on disk). If malware runs with app permissions, it could potentially access unlocked data in memory.

πŸ†˜ Troubleshooting

Problem: β€œWrong passphrase” error

Solution:

Problem: Migration failed

Solution:

Problem: App crashes after enabling encryption

Solution:

Problem: Can’t unlock database

Solution:

πŸ“ž Support

If you encounter issues:

  1. Check this guide for solutions
  2. Review app logs (More β†’ Debug Log)
  3. Create an issue on GitHub with:
    • Device model and Android version
    • Steps to reproduce
    • Error messages/screenshots

πŸ” Privacy & Compliance

What We DON’T Do:

What You Control:

Remember: Encryption is powerful but only as strong as your passphrase. Choose wisely! πŸ”

Need more help? Check the full documentation at: docs/security/DATABASE_ENCRYPTION_GUIDE.md