-
-
Notifications
You must be signed in to change notification settings - Fork 1
Security and Encryption Architecture
Secure Dialer employs a defense-in-depth security architecture designed to protect call logs, contact books, speed dials, and blocked numbers from local device malware, physical extraction, and unauthorized background inspection.
The core pillar of Secure Dialer's zero-trust model is Hardware & OS-Level Sandboxing:
-
Manifest Omission: The
AndroidManifest.xmlfile completely omitsandroid.permission.INTERNETandandroid.permission.ACCESS_NETWORK_STATE. -
Kernel Enforcement: The Android Linux kernel strictly drops any attempt to open sockets (
socket(),connect()). Network calls are rejected at the system call layer. - Zero Telemetry SDKs: The application binary contains zero analytics, tracking, or crash reporting SDKs (No Firebase, No Google Play Services, No Sentry).
All local app data (call history logs, contact notes, speed dial shortcuts, local encrypted contact cards, and blacklists) is stored inside a SQLCipher-encrypted SQLite database.
-
KeyStore Provider: Upon first initialization, Secure Dialer calls the Android KeyStore System (
AndroidKeyStore). - Secure Enclave Generation: A 256-bit AES cryptographic master key is generated inside the device's hardware-isolated Trusted Execution Environment (TEE) or StrongBox Keymaster (HSM).
- RAM Protection: The master passphrase is never stored in unencrypted persistent storage and cannot be extracted via USB debugging or root access.
- On-Disk Cipher: SQLCipher encrypts all page sectors on disk using AES-256 in Galois/Counter Mode (GCM).
ββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββ
β Encrypted Local Database β ββββΊ β SQLCipher Database Engine β ββββΊ β Android KeyStore System β
β (call_logs.db on disk) β β (AES-256 GCM) β β (Hardware TEE / StrongBox) β
ββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββ
Users can choose between two contact storage modes:
-
System Contacts Integration: Standard Android
ContactsContractprovider integration for seamless device-wide contact management. - Encrypted Local Contacts Vault: An isolated contacts vault stored strictly within Secure Dialer's encrypted database. Local contacts are completely invisible to other applications on your smartphone.
Unlike cloud-dependent caller ID apps that upload incoming caller numbers to remote lookup servers, Secure Dialer relies on Android's native CallScreeningService:
[ Incoming Call Event ] βββΊ [ CallScreeningService ] βββΊ [ Query SQLCipher Local DB (<5ms) ] βββΊ [ Reject & Silence / Allow ]
β
βΌ
(Zero Network Transmission)
-
Instant Local Lookup: When an incoming call arrives,
CallScreeningServicequeries the encrypted local database in under 5 milliseconds. - Autonomous Decision: If the caller is on your blocklist or matches your call-blocking criteria (e.g. unknown numbers), the call is automatically rejected or silenced before your phone rings.
- Zero Leaks: No phone numbers or timestamp telemetry leave the physical device.
| Threat Vector | Attack Scenario | Secure Dialer Defense Control |
|---|---|---|
| Physical Theft / Forensic Dumping | Attacker extracts flash storage chips or takes device dump. | Database pages are encrypted with AES-256 GCM; master keys are locked in TEE / StrongBox hardware. |
| Malicious App Inter-Proc Extraction | Malware attempts to read local app data. | Linux UID sandboxing and file permissions prevent other apps from accessing /data/data/com.aistudio.... |
| Network Traffic Sniffing / MITM | Attacker monitors Wi-Fi or cellular traffic for voice logs. | Internet permission is omitted; 0 bytes are transmitted over Wi-Fi or cellular networks. |
| Cloud Leaks & Data Subpoenas | Third-party database breaches or cloud subpoenas. | No cloud database exists. Secure Dialer developers do not host or store user data anywhere. |
π Quick Links: Home | Installation and Obtainium Guide | FAQ and Troubleshooting | Permissions and Privacy Explained
π Secure Dialer β A privacy-first, 100% offline Android T9 dialer built with Jetpack Compose and Room SQLite. Zero internet permissions, local-first contact and call log management, Material 3 dynamic styling, and GPLv3 open source auditing.
- π Home
- π Wall of Honor
- π¦ Installation and Obtainium Guide
- β FAQ and Troubleshooting
- π Permissions and Privacy Explained
- π¬ Community Discussions
- π Sponsor Project