spnd.

Privacy Policy

Developer: Godi Narayana Swamy Effective: July 10, 2026 Version: 1.0
🔒

100% Offline

No servers. No cloud. All data lives on your phone.

🚫

No Tracking

Zero analytics, zero telemetry. None.

💬

Only Bank Alerts

We only process transaction alerts from your bank. Never OTPs, never personal messages.

🛡

Encrypted Storage

AES-256 encrypted database with keys in Android's secure storage.

Your data never leaves your device. spnd. has no servers, no backend, no cloud database, and no analytics. All your financial data is stored locally in an AES-256 encrypted database on your phone. We have no ability to access your data remotely because no copy exists outside your device. You can verify this by using the app in Airplane Mode — it works exactly the same.

1. About spnd.

spnd. is a privacy-first personal expense tracker for Android, designed for users in India. The app automatically detects bank transaction SMS messages and converts them into categorized expense records — giving you a clear picture of your spending without any manual effort.

spnd. is built on a core principle: your financial data belongs to you and only you. The app operates entirely offline. There are no user accounts, no registration, no login, no cloud sync, and no data collection of any kind. We do not run any servers and have no mechanism to access your data remotely.

2. Our Zero-Server Architecture

Unlike most finance apps, spnd. does not have any backend infrastructure:

The only network activity the app performs is a one-time font download from Google Fonts when the app first launches, described in detail below.

How to verify this yourself: Turn on Airplane Mode and use spnd. — every feature works normally because nothing depends on the internet. You can also check Android Settings → Apps → spnd. → Mobile data & Wi-Fi to see that the app uses negligible data.

3. SMS Access — Core Functionality Restricted Permission

spnd. requests READ_SMS and RECEIVE_SMS permissions to provide its core functionality: automatic transaction tracking from bank SMS alerts.

3.1 Why SMS Access Is Required

In India, banks send transaction alerts via SMS for every debit and credit. These SMS messages are the only real-time, programmatic source of transaction data available to consumers. Indian banks do not provide open APIs, webhooks, or any other mechanism for personal finance apps to access transaction data. SMS reading is the only technically viable method to automatically track expenses without manual entry.

3.2 How SMS Processing Works

Bank sends SMS spnd. receives SMS

Is it from a known bank sender? No Ignored completely
Yes
Is it an OTP or promotional message? Yes Rejected immediately
No
Is it a transaction alert (debit/credit/sent/received)? No Discarded
Yes
Extract: amount, merchant, date, account Save to local encrypted DB

No data is ever transmitted. Zero network calls.

3.3 SMS Filtering — Multi-Layer Protection

spnd. applies a strict, multi-layer filter before processing any SMS:

  1. OTP rejection — 20+ patterns detect and immediately skip all OTP and verification code messages
  2. Spam/promo rejection — 200+ patterns reject marketing, promotional, and non-transactional messages
  3. URL filtering — non-bank URLs are rejected against a curated whitelist of Indian bank domains
  4. Failed transaction rejection — failed, reversed, and declined transactions are filtered out
  5. Currency validation — message must contain an amount in Indian currency format (INR, Rs., etc.)
  6. Transaction type validation — message must contain a debit, credit, sent, or received indicator keyword
  7. Sender validation — sender must be a known Indian bank sender ID (e.g., VM-ICICIB, AD-SBIINB, BZ-AXISBK) or the message must contain an account reference

3.4 What We Process vs. What We Ignore

What We Process

What We NEVER Read

3.5 Data Extracted from Bank SMS

From each qualifying bank SMS, spnd. extracts only the following fields:

FieldExamplePurpose
Transaction amountRs 500Track spending
Merchant / payee nameSwiggy, AmazonCategorize expense
Transaction date & time10 Jun 2026, 14:30Timeline ordering
Account identifier (last 4 digits)XX1234Per-account spending view
Transaction typeUPI / NEFT / ATMPayment method tracking
Debit or CreditDebited / Credited / Sent / ReceivedIncome vs expense classification
Sender address (DLT code)VM-ICICIBDuplicate detection
SMS permission is entirely optional. You can deny SMS permission during onboarding and use spnd. in manual mode — adding transactions by hand. SMS reading can also be disabled at any time from within the app (Settings → SMS Import → toggle off) or from Android system settings (Settings → Apps → spnd. → Permissions → SMS → Deny).

3.6 Background SMS Processing

When granted SMS permission, spnd. uses Android's WorkManager to process incoming bank SMS in the background. This ensures transactions are captured even when the app is not open.

4. All Permissions Explained

spnd. requests only the minimum permissions required for its features. Here is every permission the app uses and why:

PermissionPurposeRequired?
READ_SMSRead existing bank transaction SMS from your inbox (historical import on first setup)Optional — app works without it in manual mode
RECEIVE_SMSDetect new incoming bank transaction SMS in real-timeOptional — app works without it in manual mode
INTERNETOne-time font download on first launch; opening external links (Play Store, email) when you tap themNo data is sent to developer servers
USE_BIOMETRIC / USE_FINGERPRINTFingerprint or face unlock for app lockOptional — 4-digit PIN is also available
POST_NOTIFICATIONSShow transaction capture, daily summary, and bill reminder notifications (Android 13+)Optional — can be disabled in Android settings
RECEIVE_BOOT_COMPLETEDRestart background SMS listener and scheduled tasks after phone rebootAutomatic — ensures no transactions are missed
VIBRATEHaptic feedback for notificationsStandard Android permission
WAKE_LOCKKeep device awake briefly during background SMS processing via WorkManagerBackground processing support
SCHEDULE_EXACT_ALARMSchedule the daily 9 PM spend summary notification at a precise timeAutomatic — ensures timely notification delivery
What we do NOT request: spnd. does not request access to your contacts, camera, microphone, location, storage (beyond app-private), phone call logs, calendar, or any other sensitive permission. We request only what is needed and nothing more.

5. Data Storage & Encryption

5.1 Local-Only Architecture

All your data resides exclusively on your device. There is no backend server, no API, no cloud database, and no remote storage of any kind under our control. When you uninstall the app, all data is permanently and irreversibly deleted from your phone.

5.2 Encryption Standards

DataEncryption MethodWhere Stored
Transaction databaseAES-256 via SQLCipherApp-private storage on device
Database encryption keyAndroid Keystore (hardware-backed on supported devices)Android EncryptedSharedPreferences
App lock PINSalted hash, stored in Android's encrypted storageAndroid EncryptedSharedPreferences
Local backup file (if used)AES-256-CBC with PBKDF2-HMAC-SHA256 key derivation (50,000 iterations) from a password you setLocation you choose on your device
Backup encryption keyRandom 32-byte key via secure random generatorAndroid Keystore via FlutterSecureStorage

5.3 What Is Stored in the Database

The encrypted local database contains the following tables:

5.4 Security Features

6. Data Collection Summary

Stored Locally on Your Device

NEVER Collected or Transmitted

7. Data Sharing

spnd. does not share any user data with anyone. Specifically:

Zero third-party tracking SDKs. spnd. does not integrate any analytics, crash reporting, or tracking SDK. We have verified this by auditing every dependency in the app. The app contains no code that sends your data anywhere.

8. Local Backup

spnd. lets you save a password-protected backup file to your phone's storage. This is completely offline and does not require an internet connection.

8.1 How It Works

  1. You tap "Backup" in Settings — this is never automatic
  2. You set a backup password that only you know
  3. The app exports your transaction data and encrypts it using AES-256-CBC with PBKDF2-HMAC-SHA256 key derivation (50,000 iterations)
  4. The encrypted file is saved to a location you choose on your device

8.2 Important Details

9. Network Activity

The app performs only the following network activity:

ActivityWhenWhat HappensData Sent
Google Fonts download Once, on first app launch Downloads the Inter and JetBrains Mono typefaces from Google Fonts for the app's UI. Cached locally — never downloaded again. Standard HTTP request only. No personal data.
External links When you tap a link (Play Store, email, Instagram) in the About screen Opens the link in your default browser or email app via Android's system handler. spnd. itself makes no network request. No data is sent by the app. The link is opened by the OS.

The app does not phone home, check for updates, or communicate with any server.

10. Notifications & Alerts

All notifications in spnd. are local notifications generated on your device. They are not push notifications — there is no server sending them. You can disable any or all notification channels from Android Settings → Apps → spnd. → Notifications.

Notification TypeWhat It Does
Transaction capturedConfirms when a new bank SMS is successfully parsed and recorded
Daily spend summaryShows your total spending for the day, delivered at 9 PM
Weekly digestSummarizes your week's total spending
Budget exceededAlerts you when a category budget is overspent
Credit card bill reminderShows your CC bill total and minimum due with days remaining
Upcoming bill / autopayReminds you about bills or automatic debit payments due in the coming days
Unused subscriptionFlags subscriptions with no recent usage

All notification content is computed locally from your on-device data. No spending information is transmitted to any server to generate these alerts.

11. User Consent Flow

spnd. follows a transparent, step-by-step consent process during onboarding:

  1. SMS Permission Screen — clearly explains why SMS access is needed, with a visible option to skip
  2. Android System Dialog — the standard Android runtime permission dialog is shown; you must actively tap "Allow"
  3. Historical Import Choice — you choose how far back to import SMS (1 month, 3 months, or custom date)
  4. Notification Permission — requested separately on Android 13+ with clear explanation

At no point is any permission enabled silently or without your explicit action.

12. User Controls & Your Rights

You have full control over your data at all times:

ActionHow to Do It
Disable SMS readingSettings → SMS Import → toggle off, or revoke via Android Settings → Apps → spnd. → Permissions → SMS → Deny
Disable notificationsAndroid Settings → Apps → spnd. → Notifications → toggle off individual channels or all
Disable screenshot protectionSettings → Security → Screenshot Protection → toggle off
View any transactionTap any transaction in the Transactions tab to see full details including original SMS
Edit any transactionTap transaction → Edit merchant name, category, or amount
Delete a transactionTap transaction → Delete
Back up your dataSettings → Backup → Local backup
Restore your dataSettings → Backup → Restore from local file
Delete ALL data permanentlyUninstall the app — all local data is immediately and irreversibly deleted. Alternatively, clear app data from Android Settings.

13. Data Retention

14. Children's Privacy

spnd. is a financial management tool designed for adults. The app is not directed at children under 18 years of age. We do not knowingly collect any information from anyone, including children. Since the app stores all data locally and transmits nothing, no data from any user — adult or child — ever reaches us.

15. Compliance

spnd. is designed in compliance with:

16. Changes to This Policy

If we make material changes to this Privacy Policy, we will update the "Effective" date and version number at the top and notify users through an in-app notice. The latest version of this policy is always available within the app (Settings → About → Privacy Policy) and on our GitHub page. Continued use of the app after changes constitutes acceptance of the revised policy.

17. Contact Us

For questions, concerns, or requests regarding this Privacy Policy or your data:

DeveloperGodi Narayana Swamy
Emailspnd.support@gmail.com
Email (personal)godinarayanaswamy@gmail.com
LocationHyderabad, Telangana, India
Response timeWithin 48 hours