Privacy Policy
1. Who This Policy Applies To
This privacy policy applies to:
- Merchants: Businesses and individuals who create a moneylanded account, use the dashboard, use the moneylanded Android app ("com.moneylanded.reporter"), or integrate via our APIs.
- Paying Customers: Individuals who open a moneylanded hosted payment page or pay a merchant via a moneylanded payment link.
2. What We Collect and Why
We collect and process only the information strictly necessary to provide the payment confirmation service:
- Merchant Account Details: Your account email address (used for sign-in via single-use 6-digit codes and magic links), business name, UPI ID, and payee display name.
- Payment Links and Orders: Order identifiers, descriptions, amounts (in paise), order creation and expiry timestamps, and status (open, confirmed, expired, cancelled).
- Device and Session Data: Names you assign to paired devices, device tokens (stored strictly as SHA-256 cryptographic hashes), last-seen timestamps, and active app session tokens (stored strictly as SHA-256 cryptographic hashes).
- Webhooks and Notifications: Notification email preferences, webhook destination URLs, and webhook signing secrets.
- Bank Credit Alerts: Bank credit notifications received through the moneylanded Android app's SMS access or forwarded bank emails.
- Feed Diagnostics (Ingest Events): When an incoming bank alert cannot be processed (for example, if an email arrives from an unsupported sender address or a message fails bank format parsing), we record diagnostic metadata: the event category, source (email or SMS), failure count, timestamps, and the sender identifier (such as the sender email address or SMS header, up to 120 characters). This enables merchants to debug feed issues in the dashboard. Diagnostic events are retained for 90 days and are permanently purged upon account deletion.
- Paying Customer Information: Moneylanded payment pages do not ask paying customers for their name, phone number, residential address, or payment card details. When a customer completes a UPI payment, the merchant's bank generates a credit notification. From this bank alert, moneylanded extracts and stores only the 12-digit transaction reference number (UTR/RRN), the credit amount, credit timestamp, and whichever payer identifier the bank provides in the notification (such as payer UPI VPA and payer name).
3. Raw Message Handling and Storage
Server-side: We do not store raw SMS text or raw email bodies in our database. When a bank alert arrives on the server (from the Android app or via forwarded bank email), our backend parses the message body strictly in volatile memory to extract the payment facts (the 12-digit UPI reference number, amount, timestamp, masked bank account last-4 digits, and payer VPA/name). The raw message body is immediately dropped and discarded. It is never stored in our database, never written to server disk, and never included in error logs or alerts.
On the Android phone: When the Android app identifies an SMS matching the merchant bank's credit alert format, the matching alert's full text, sender ID, and timestamp are saved in the app's private local SQLite storage (the outbox) solely to ensure reliable transmission over intermittent mobile networks. Once the moneylanded server receives and acknowledges the alert, the message is immediately and permanently deleted from the phone's outbox database.
For Gmail forwarding setup, when Google sends a forwarding verification email, the system extracts only the confirmation token or verification link and stores it in the merchant row to display in the dashboard; the raw email message is immediately discarded.
4. Android App SMS Permissions and Access
The moneylanded Android app (com.moneylanded.reporter) requests two SMS-related permissions: android.permission.RECEIVE_SMS and android.permission.READ_SMS.
- RECEIVE_SMS (Incoming bank credit alerts): When an SMS arrives on the device, the app inspects it locally in memory. It verifies two strict conditions: (1) the sender matches the merchant bank's sender pattern (for example, AD-HDFCBK), and (2) the body parses as a bank credit alert containing an amount, masked account number, date, and 12-digit UPI reference number. If and only if both conditions are met, the app sends the matching alert's full text, sender ID, and received timestamp over HTTPS to the server, where the server parses it in volatile memory and stores only the extracted payment fields.
- Immediate local discard: Any other message — including personal text messages, one-time passwords (OTPs), debit alerts, card transactions, or promotional messages — is discarded in memory immediately on the device. It is never stored in the outbox, never queued, never logged, and never transmitted.
- READ_SMS (24-hour scan only): Used strictly when the merchant initiates a sync — either when connecting the phone feed or by tapping "Scan the last 24 hours" in Feed Settings. The app inspects SMS messages received within the preceding 24 hours to recover credit alerts that arrived while the device was offline or before pairing. The exact same filtering rules apply: non-credit messages are discarded in memory and never transmitted; matching credit alerts are queued in the phone's local outbox and transmitted to the server, where only extracted payment facts are stored. The app never reads messages older than 24 hours.
- No background snooping: The app does not request SMS permissions on startup. Permissions are requested only when the merchant chooses to connect the phone feed. Merchants can disconnect the phone feed at any time from the app settings, which immediately purges device credentials and stops all transmission.
5. Storage and Third-Party Service Providers
We do not sell, rent, or monetize your data. Data is processed and hosted with the following infrastructure providers:
- Cloudflare: Primary hosting and database infrastructure (Cloudflare Workers, Cloudflare D1 distributed database, and Cloudflare Email Routing). Encrypted at rest and in transit.
- Resend (Resend, Inc.): Transactional email delivery service used to send: (1) single-use 6-digit sign-in codes and magic links to merchant account emails, and (2) payment notification emails to merchants who enable email alerts (stating payment status, received amount, and the associated order ID or unplaced payment notice).
- Cloudflare Turnstile: A bot check on the web sign-in page and the account deletion page. It runs in your browser and may use your IP address and browser characteristics to decide whether a request comes from a person. Your IP address is also passed to Cloudflare when we verify the result. We use the result only to allow or refuse the request.
No Ads and No Trackers: moneylanded does not serve advertisements, does not use advertising networks, and embeds no third-party tracking, profiling, or analytics SDKs in the web application, APIs, or Android app. Cloudflare Turnstile, described above, is a bot check and is not used for advertising or analytics.
6. Data Retention and Backups
- Account Data: Merchant account records, payment orders, and credit confirmations are retained while the merchant account remains open.
- Feed Diagnostics: Ingest event diagnostics (including sender identifiers and failure counts) are automatically pruned after 90 days.
- Payer Identity Pruning: Payer name and VPA on quiet credits (credits not matched to any order) are automatically cleared after 7 days. Payer identity details on unmatched loud credits are automatically cleared after 90 days.
- Backups: Routine encrypted database backups age out and are permanently overwritten within 30 days.
7. Account and Data Deletion
Merchants have the right to delete their account and all associated data at any time. When an account is deleted, everything belonging to the account is permanently deleted immediately from the live database, including all business profiles, payment links, products, orders, credit records, customer payer references, paired devices, API keys, webhook deliveries, feed diagnostics (ingest events), and sessions.
Merchants can delete their account through either of two paths:
- In-app: In the moneylanded Android app, navigate to Settings → Delete account.
- Web self-serve: Visit moneylanded.com/delete-account, enter your account email, verify with a 6-digit code sent to your email, and confirm deletion.
Encrypted backups of deleted data age out completely within 30 days.
8. Security
All communication between apps, browsers, and our servers is encrypted in transit using modern TLS (HTTPS). Credentials — including API keys, device reporter tokens, session tokens, and sign-in codes — are stored strictly as SHA-256 cryptographic hashes and are never stored in plaintext.
9. Children's Privacy
moneylanded is a commercial payments technology service intended for businesses and merchants. It is not directed at or marketed to children under 18 years of age.
10. Changes to This Policy
If we make material changes to this privacy policy, we will update the effective date at the top of this page. Continued use of moneylanded after changes take effect constitutes acceptance of the updated policy.
11. Contact Us
If you have questions about this privacy policy, your personal data, or account deletion, please contact:
COOLSOLVE LLP
India
Email: bala@coolsolve.com