Totals

Privacy Policy

Privacy Policy for Totals

Totals is a personal finance application published by Detached. This policy explains how Totals accesses, uses, stores, and shares data when you use the Android application package detached.totals.

Summary

  • Totals is designed to work primarily on-device.
  • For core SMS-based transaction tracking, supported bank SMS messages are read, parsed, and stored locally on your device. Those SMS contents are not sent to our servers for normal transaction tracking.
  • Payment verification can send the image, payment reference, selected account number, and selected bank identifier you submit to our verification service.
  • Shared expenses can use the Totals Engine relay service to create groups, exchange encrypted group data, sync shared expenses, and deliver pending updates between approved group members.
  • Data Sync is an optional, off-by-default advanced feature that lets you push selected local records to a third-party server that you configure. When you enable it and create rules, the specific fields and records you choose are sent to the destination you specify; Totals does not control, operate, or secure that destination.
  • Telegram Backup is an optional, off-by-default advanced feature that encrypts a full backup, including retained original source SMS messages, saved Spending Map coordinates, and custom place names, on-device and sends the encrypted file and encrypted backup index to a private Telegram bot chat you connect. The recovery key is not sent to Telegram.
  • Spending Map is an optional, off-by-default advanced feature that captures precise location when a new debit or credit transaction is recorded and stores the coordinates and any custom place names you create locally to render a personal transaction map. Saved location data for included transactions is also included when you create a manual export or an encrypted full backup. When Totals requests map content, location-related request data is sent directly to Google Maps Platform; custom place names are not sent to Google. Totals does not send transaction amounts, balances, account details, payment references, categories, notes, SMS contents, or any other financial data to Google, Overture Maps, Addis Ababa Cadaster, a Totals server, or any other service to make Spending Map work. Approximate Addis Ababa subcity labels and supported Ethiopian city labels are resolved on-device from bundled Overture Maps and Addis Ababa Cadaster data, so Totals does not contact those sources at runtime for those labels.
  • For Google Play Data Safety purposes, data sent off-device includes Financial info - Other financial info for the optional features described below and, when Spending Map requests Google map content, Location - Precise location. These data types are used for app functionality.
  • The app may download updated SMS parsing patterns and bank configuration files from our servers during setup, refresh, or manual update actions. This does not upload your SMS contents.
  • User data collected by Totals is encrypted in transit.
  • Totals does not allow users to create an account and does not support login with accounts created outside the app.
  • Totals does not use advertising SDKs or analytics telemetry to profile you.

Play Console Data Safety Summary

  • Totals collects or shares required user data types.
  • The data types sent off-device include Financial info - Other financial info and, when Spending Map requests Google map content, Location - Precise location.
  • The purpose for collecting or sharing that user data is app functionality.
  • Spending Map and its location collection are optional and off by default.
  • User data collected by Totals is encrypted in transit.
  • Totals does not allow account creation in the app.
  • Users cannot log in to Totals with accounts created outside the app.

Data We Access

  • SMS messages from supported bank notification senders.
  • SMS-derived financial information, such as transaction amount, balance, date, account number, sender or receiver labels, references, service charges, VAT, bank identifiers, and transaction type.
  • Account information you enter or import, such as account holder name, account number, bank, nickname, balance, and related account settings.
  • Budget, category, auto-categorization, insight, widget, and notification settings.
  • Camera access for QR scanning and for capturing an image in the payment verification feature.
  • Images you choose to capture or submit for payment verification.
  • Payment verification inputs, such as payment references, selected account numbers, and bank identifiers.
  • Shared expense data you create or join, such as group names, member display names, invite or group identifiers, device public keys, join requests, expense amounts, reasons, dates, currency, payer, split participants, settlement records, activity history, and optional linked transaction references.
  • QR contents you choose to scan, generate, import, or share for app features such as account sharing, category or rule sharing, and shared expense invites.
  • Local authentication prompts, if you use the app lock feature. Totals does not receive your raw fingerprint, face scan, or other biometric template; biometric verification is handled by your device operating system.
  • Exported or imported backup files that you choose to create or restore.
  • Optional local network access if you manually start the in-app local web dashboard or server.
  • Data Sync configuration you enter, such as destination names, server URLs, authentication type, and credentials, when you use the optional Data Sync feature.
  • Precise latitude, longitude, accuracy, and capture time for new debit and credit transactions when you enable Spending Map.
  • Custom place names you assign to mapped transaction locations.

How We Use Data

  • To detect and parse bank SMS messages into transactions.
  • To display balances, transaction history, budgets, widgets, insights, categories, and related finance features.
  • To scan QR codes and import data locally when you choose to use sharing or import tools.
  • To verify payments when you manually use the verification feature.
  • To create, join, approve, leave, and sync shared expense groups.
  • To calculate shared expense balances, split amounts, settlement suggestions, and group activity.
  • To authenticate shared expense devices using locally generated cryptographic keys.
  • To download updated SMS parsing patterns and bank configuration files.
  • To secure access to the app if you use device authentication or app lock.
  • To export, import, or share data when you explicitly choose those actions.
  • To operate, secure, debug, and protect optional online services.
  • To send the records and fields you select to the external server you configure when you enable the optional Data Sync feature.
  • To display an on-device map of where new debit and credit transactions occurred and let you assign private custom names to mapped locations when you enable Spending Map.

When Data Leaves Your Device

  • Core SMS tracking: SMS contents used for normal transaction tracking stay on your device unless you explicitly create an export or enable Telegram Backup. Available original source messages linked to exported transactions are included in those backups.
  • Payment verification: If you use the payment verification feature, the data you submit may be transmitted over HTTPS to our verification service hosted at sms-parsing-visualizer.vercel.app to process your request.
  • Shared expenses: If you use shared expenses, Totals may connect over HTTPS to the configured Totals Engine relay endpoint.
  • Shared expense contents: Group names, member display names, expense details, settlement records, and activity entries are encrypted on your device before being sent to the relay service. The relay service is designed to handle encrypted blobs and not read the plaintext contents.
  • Shared expense metadata: The relay service can receive metadata needed to operate the feature, such as device public keys, group IDs, group membership, sender public keys, payload IDs, delivery and acknowledgement status, timestamps, payload sizes, IP addresses, and operational logs.
  • Shared expense members: Approved members of a shared expense group can receive and decrypt the shared expense data for that group. If you split a local transaction into a group, the selected shared-expense details may be shared with those members; Totals does not automatically share the full SMS message or your full account balance unless you include that information in shared fields.
  • Configuration updates: When Totals downloads updated SMS parsing patterns or bank configuration files, it connects to our hosted configuration endpoints. The app may also perform basic connectivity checks to confirm internet access. These requests are used to download configuration, not to upload your SMS contents for normal tracking.
  • Support and external links: If you open external links from the app, such as support pages, Telegram, or bank links, those services receive information according to their own privacy policies.
  • Local network dashboard: If you manually start the optional local web dashboard or server, your financial data may be available to devices on the same local network using the URL shown in the app until you stop the server.
  • Data Sync (optional, off by default): If you enable Data Sync and create one or more rules, Totals sends the records and fields you select to the destination URL you configure, using the authentication you provide. Depending on your rules this may include transaction amounts, references, dates, counterparties, balances, account numbers, bank identifiers, budgets, and any other fields you map. This is a one-way export controlled by you; Totals never pulls data back, and Totals cannot see, verify, or secure the destination, which is operated by you or a third party of your choosing.
  • Telegram Backup (optional, off by default): If you enable and connect this advanced feature, Totals creates a full export that includes available original source SMS messages linked to transactions, retained failed-message diagnostics, and saved Spending Map coordinates and custom place names, then compresses and encrypts it on-device with AES-256-GCM. Totals sends only the encrypted file to the private Telegram bot chat you paired. An encrypted pinned index lets Totals list and retrieve those files. Telegram receives the ciphertext and service metadata such as bot and chat identifiers, file size, filename, and upload time under Telegram's own privacy terms. The recovery key is generated and kept on-device unless you choose to copy or save it, and is never included in the Telegram upload.
  • Spending Map (optional, off by default): Saved transaction records, coordinates, and custom place names remain on your device unless you create a manual export or enable Telegram Backup; they are not uploaded to a Totals server. Manual exports include the saved location data for the transactions included in the export, and encrypted Telegram backups include all saved location data. Opening the map uses the Google Maps SDK to supply base-map content. Google may process your IP address, app and device information, the visible map area, and map interactions under the Google Privacy Policy and Google Maps Platform Terms. Google may therefore be able to infer the area being viewed. No financial data leaves your device merely because you enable or use Spending Map: Totals does not send transaction amounts, balances, account numbers, payment references, SMS contents, notes, transaction categories, or other financial data to Google or any other service to make the feature work. Custom place names are not sent to Google either. Approximate Addis Ababa subcity names and supported Ethiopian city names come from bundled Overture Maps and Addis Ababa Cadaster data and are matched locally without runtime requests to either source.

Sharing

  • We do not sell your personal or financial data.
  • We do not share SMS contents or SMS-derived transaction data with advertisers.
  • We do not use shared expense data for advertising or profiling.
  • For Google Play Data Safety purposes, shared user data is disclosed as Financial info - Other financial info and is shared for app functionality.
  • Shared expense data is shared with the group members you approve or join, as described above.
  • Data Sync sends only the selected records and fields to the destination you configure. That destination is operated by you or a third party of your choosing and is subject to its own privacy and security practices.
  • Google Maps Platform receives the map request data described above as a service provider for Spending Map functionality. Neither Google nor any other map or place-data provider receives associated financial data from Spending Map. Totals does not send Google custom place names either.
  • We may use hosting, content delivery, networking, database, security, monitoring, or infrastructure providers to deliver the optional online features described in this policy.
  • We may disclose information if required by law, to protect users, or to prevent fraud, abuse, or security issues.

Storage and Retention

  • Most Totals data, including retained copies of original source SMS messages linked to transactions, is stored locally on your device until you delete the related transaction, clear app data, or uninstall the app.
  • Shared expense groups, expenses, activity history, display names, and related local state may be stored locally in the app database.
  • Shared expense private keys and group keys are intended to be stored locally using secure device storage. These keys are needed to decrypt group data. If they are lost, group data may not be recoverable.
  • Shared expense encrypted payloads may be stored by the Totals Engine relay service until they are delivered and acknowledged or until they expire. Current implementation materials describe encrypted payload expiry of up to 30 days, and groups may expire or be removed when empty.
  • Leaving a shared expense group removes local group data from your device and asks the relay service to remove your membership, but it does not remove copies already delivered to other group members.
  • Exported backup files, including any original source SMS messages, precise transaction location coordinates, and custom place names they contain, remain wherever you save or share them.
  • Telegram backup files and their encrypted index remain in the connected Telegram chat until you delete them there. Disconnecting the feature removes the local bot token, recovery key, and configuration but does not delete files already stored by Telegram.
  • QR scan results are processed locally unless the related feature explicitly uses an online service.
  • Payment verification submissions may be processed by the verification service and retained only for the period reasonably necessary to operate, secure, debug, and protect the service, or as required by law.
  • Downloaded SMS pattern files and bank configuration files may be cached on your device for future use.
  • Data Sync settings, including destinations and rules, are stored locally in the app database, and any credentials you enter are stored using secure device storage. A local outbox queue records which selected records are pending, sent, or failed. Disabling Data Sync and choosing to wipe its data deletes these settings, credentials, and the queue from your device.
  • Spending Map coordinates and custom place names are stored locally until you delete the related transaction, use the map's Delete saved locations action, clear app data, or uninstall the app. Turning the feature off stops new captures but does not automatically delete existing location data.

Security

  • We rely on your device operating system and application sandbox for local storage protection.
  • In the current app implementation, online requests are sent over HTTPS.
  • Shared expense payload contents are encrypted on-device before being sent to the relay service. Device private keys and shared group keys are not intended to be sent to the relay service.
  • Shared expense encryption protects relay traffic, but approved group members can decrypt the group data they receive and may retain or share it outside Totals.
  • No method of storage, encryption, or transmission is completely secure, and we cannot guarantee absolute security.

This policy describes the current app implementation and the optional online services Totals uses. Feature behavior may vary if the app is configured to use a different relay endpoint.

Your Choices

  • You can deny permissions, although some features may not work without them.
  • You can avoid optional online features if you do not want to send verification data, use shared expenses, use Data Sync, enable Telegram Backup, or download remote configuration updates.
  • You can choose not to enable Data Sync, edit or remove sync rules and destinations, or disable Data Sync and wipe its local settings, credentials, and queue from within the app.
  • You can choose what display name and expense details you enter for shared expenses.
  • You can leave a shared expense group, but other members may keep data already shared with them.
  • Totals does not provide app accounts, so there is no account login or account deletion flow.
  • You can export or import your data using in-app tools.
  • You can deny location permission, disable Spending Map at any time, or permanently delete saved locations from the Spending Map screen.
  • You can clear local app data or uninstall the app to remove locally stored data from your device.
  • You can stop the optional local web dashboard or server at any time.

Children

Totals is not directed to children.

Changes to This Policy

We may update this Privacy Policy from time to time. When we do, we will update the effective date above and the in-app copy where appropriate.

Contact

Detached

For privacy questions, use one of the following support channels:

https://t.me/totals_chat