🔒 Verified Core Privacy Guarantees
pennyBook Ledger is engineered as a 100% offline, local-first financial management application. We believe your personal accounting records belong solely to you.
android.permission.INTERNET. The app cannot transmit data across the web.
1. Overview & Developer Information
This Privacy Policy applies to the mobile application pennyBook Ledger (Package: com.pennybook.expensetracker), created and maintained by Javed Khan Labs ("we", "us", or "our").
We are dedicated to total transparency and user data autonomy. Because pennyBook Ledger operates completely offline on your physical hardware, we do not operate remote databases, financial synchronisation servers, or tracking infrastructure. Your personal financial ledger remains strictly in your own custody.
2. Data Stored Locally On Your Device
The application stores the following information locally on your device within its secure, private application sandbox:
- Financial Transactions: Income, expense, and investment entries including transaction amount, title, date, category, payment method (e.g. UPI, Cash, Card, Bank), and optional personal notes.
- Udhaar / Friendly Debt Ledger: Person-to-person credit/debt records, loan directions (Given or Taken), repayment dates, and optional bank EMI schedules.
- Monthly Budgets: User-defined spending limits across categories and monthly periods.
- User Customizations & Preferences: User-entered display name, chosen currency code (e.g., INR, USD, EUR, GBP, AED, SAR), numbering system (Lakhs/Crores vs. Millions/Billions), biometric lock status, and light/dark theme preference.
No Mandatory Account Registration: You are never asked to create an account, register an email address, link a bank account, or provide government-issued identity documents to use pennyBook Ledger.
3. Local Cryptography & Database Security
To ensure high standards of on-device privacy, pennyBook Ledger implements multi-tier cryptography:
- SQLCipher 256-Bit Database Encryption: Financial records are stored in an encrypted database managed via Zetetic SQLCipher (version 4.17.0) with native JNI bridge protection.
- Android Keystore Integration: Encryption keys are protected by the hardware-backed Android Keystore system (or secure software keystore where hardware cryptography is absent), ensuring keys cannot be extracted by third-party applications.
- Biometric Security: Biometric authentication (Fingerprint, Face Unlock, or Device PIN) utilizes the standard AndroidX Biometric API. Authentication events are evaluated locally by the Android operating system; pennyBook Ledger never accesses, stores, or handles your raw biometric data.
4. Backup, Restore & Data Portability
You maintain 100% physical ownership and control over your financial records and backups:
- Encrypted
.pennybookBackups (Format A): Password-protected portable backups encrypted with AES-256-GCM. Passwords are derived using the robust Argon2id Key Derivation Function (KDF) via Bouncy Castle 1.80. These backups are portable across Android devices and can only be decrypted with the user's correct password. - Unencrypted SQLite
.dbSnapshots (Format B & Legacy v1.0.0): Plaintext SQLite snapshots generated strictly upon user request. Because these files are unencrypted, we recommend storing them in secure locations and never sharing them with untrusted parties. - Automated Local Backups & Retention Rotation: When enabled, scheduled daily backups run locally via system
WorkManagerwith user-configured rotation limits (between 1 and 10 backups). Old backups exceeding the limit are safely cleaned up; failed backups never overwrite or delete previous valid snapshots. - Storage Access Framework (SAF): Backups and exports are written strictly to user-designated storage directories (such as
Documents/PennyBook) via Android's secure Storage Access Framework. - Reports & Data Exports (CSV & PDF): You can export financial statements to CSV or formatted PDF documents at any time. When shared via third-party apps (such as WhatsApp, Gmail, or Google Drive), files are securely brokered through a scoped Android
FileProviderrestricted exclusively to the app's internalexports/cache folder.
5. Android Device Permissions
pennyBook Ledger requests only the minimum standard permissions necessary to operate on-device features:
| Permission | API Level | Technical Purpose |
|---|---|---|
POST_NOTIFICATIONS |
Android 13+ (API 33+) | Delivers local notification reminders for Udhaar payment due dates, EMI dates, and daily auto-backup completion notices. |
RECEIVE_BOOT_COMPLETED |
All supported | Restores user-scheduled local due date and EMI reminders following a device reboot. |
VIBRATE |
All supported | Provides haptic feedback during UI actions and notification alerts. |
USE_BIOMETRIC / USE_FINGERPRINT |
All supported | Enables optional fingerprint or biometric app lock on supported devices. |
READ/WRITE_EXTERNAL_STORAGE |
Legacy (API ≤ 32) | Allows saving and restoring backup files in user-selected device storage on older Android versions. |
Zero Network Permissions: The application does not declare android.permission.INTERNET. The operating system prevents the application from making HTTP/HTTPS connections, opening socket connections, or transmitting background telemetry.
No Exact Alarm Restrictions: The application does not declare or require SCHEDULE_EXACT_ALARM or USE_EXACT_ALARM. Reminders use battery-friendly inexact alarms (AlarmManager.setAndAllowWhileIdle).
6. Third-Party Libraries & Service Disclosure
In strict accordance with Google Play Developer Policies, we disclose all open-source libraries bundled in the release:
- Android Jetpack & Jetpack Compose: Google's official UI, Architecture, Navigation, Room, and WorkManager libraries.
- Zetetic SQLCipher (4.17.0): Native SQLite encryption extension for local database security.
- Bouncy Castle (1.80): Cryptographic provider utilized exclusively for offline Argon2id password-based key derivation.
- Zero Advertising SDKs: No Google AdMob, Unity Ads, AppLovin, or advertising identifier trackers.
- Zero Billing SDKs: No Google Play In-App Billing libraries. The app is 100% self-contained with no purchase telemetry.
- Zero Analytics & Telemetry: No Google Analytics for Firebase, Flurry, Mixpanel, or remote crash reporting tools.
7. Operating System Cloud Backup Exclusions
To prevent sensitive financial data and encryption keys from being silently uploaded to operating system cloud backups (such as Google Drive automatic app backups), pennyBook Ledger declares strict backup_rules.xml and data_extraction_rules.xml configurations. These rules explicitly exclude all database files (pennybook.db*), keystore metadata files (db_security.meta*), migration state files, and shared preferences from both cloud backups and device-to-device transfers.
8. Data Retention, Permanent Deletion & Uninstallation
- One-Tap Complete Reset: You can permanently erase all transactions, Udhaar records, custom categories, monthly budgets, and preferences at any time via Settings → Privacy & Security → Reset & Clear All Data.
- App Uninstallation: Uninstalling pennyBook Ledger immediately removes the private SQLite database and internal files from your device. Any external backups previously saved by you to
Documents/PennyBookor your chosen storage folder remain in your physical possession until you delete them manually.
9. Children's Privacy (COPPA & GDPR-K Compliance)
pennyBook Ledger is a general audience personal finance application and is not intended for or directed towards children under the age of 13. We do not knowingly collect, solicit, or maintain personal information from children.
10. User Support & Privacy Inquiries
If you have any questions, feedback, or concerns regarding this Privacy Policy or your data privacy in pennyBook Ledger, please contact us directly:
Developer: Javed Khan Labs
Official Website: https://javedakhan2010.github.io/pennyBook/
Support Email: javed.apps.support@gmail.com
Official Policy URL: https://javedakhan2010.github.io/pennyBook-privacy-policy/