Privacy Policy

This policy explains exactly what Annora does with your information, what it never does with it, and who to contact if you have a question or a request.

Effective date: 30 October 2026  ·  Last updated: 30 October 2026  ·  Version 1.0.0

1. Who we are

Trivartha ("we", "us") is the publisher of Annora, an offline-first Android application for tracking household groceries and essentials. Annora is published by Trivartha, Vadodara, Gujarat, India.

For the purposes of the Digital Personal Data Protection Act, 2023 (India) and comparable privacy legislation, Trivartha is the provider of the Annora application. Because Annora has no accounts and no server-side database of users, we act as a facilitator of processing that happens on your own device.

2. The short version

Annora does not ask for your name, your email address, your phone number or your location, and it does not create an account for you.

Your inventory — the items, quantities, prices, dates, notes, shopping list, budget and spending history — is written to a private database inside the app on your device. Trivartha has no access to it, and it is not uploaded to us. There are no analytics, no advertising SDKs, no crash reporting and no tracking of any kind.

Annora can reach the network in exactly two situations, both optional and both initiated by you: a barcode lookup in the public Open Food Facts catalogue, and the optional AI reader, which sends a package photo to an endpoint that you configure and pay for.

3. What Annora stores

Annora stores the information you enter so that it can run its features. This information is processed on your device. It is inventory and household data, not identity data.

Category Examples of what is stored Where it is stored
Inventory Item name, category, unit, current quantity, minimum stock level, barcode, product image reference, storage location, free-text notes, date added and last updated On device only
Batches Quantity purchased and remaining, unit, total purchase price, purchase date, manufacturing date, expiry date On device only
Shopping list Planned item name, requested quantity, unit, estimated price, note, completion status and completion date On device only
Spending history A ledger entry per confirmed purchase: date, item name, category, quantity, unit, amount paid, note, and whether the entry was reversed On device only
Budget Your monthly household budget limit, alert thresholds, and a record of which alerts have already been sent On device only
Preferences Reminder switches, display currency, shopping top-up multiplier, onboarding completion, and whether the optional AI reader is enabled On device only
AI reader settings The API address and model name you type in, plus the API key you enter Address and model in the local database; the key in the device's secure keystore

Data that never touches Annora

Annora does not collect, transmit or store your name, email address, phone number, postal address, location, contacts, photos gallery as a whole, microphone audio, advertising identifier, device fingerprint, IP address tied to your identity, or any biometric data.

If you photograph a package, the image is used to read the label and is not retained by Annora as a stored photo; the app keeps only the fields that were read from it.

4. Where that data lives

All of the above is written to a single SQLite database named annora inside the private application documents directory of the app. On a typical device this is something like /data/data/com.trivartha.annora/app_flutter/annora.sqlite. That directory is private to the app: other apps cannot read it, and neither can Trivartha.

Annora has no backend, no cloud sync, no user account and no server-side copy of your inventory. If you uninstall Annora, the database is deleted with it.

Android system backup

Android itself offers an optional device backup feature. If you have enabled backup for your device, Android may copy the app's private data — including the Annora database — to your Google account as part of your device backup, and may restore it on a new device. This backup is controlled entirely by Android and by your own Google account settings, not by Annora or Trivartha. If you would prefer Annora's data not to be included in device backups, you can turn the app's backup participation off in Android Settings → Apps → Annora → Backup, or disable backup for your device.

5. Permissions Annora asks for

Annora requests the minimum set of Android permissions needed for the features you use:

Permission Why it is needed When it is requested
CAMERA Scanning a product barcode and photographing a product package so its label can be read Only when you open the scanner or the package-photo flow. The app is fully usable if you decline — you can always type the details in.
POST_NOTIFICATIONS Showing expiry reminders and budget notices Only when you switch reminders on in Settings, never automatically at launch
RECEIVE_BOOT_COMPLETED Re-scheduling your expiry reminders after the device restarts Granted by the system; used only to restore your own scheduled reminders
INTERNET Barcode lookup in the Open Food Facts catalogue, and the optional AI reader you configure Granted by the system at install time
VIBRATE Vibration pattern for reminder notifications Granted by the system at install time

Annora does not request location, microphone, contacts, calendar, phone state, Bluetooth, advertising ID, or broad storage and media permissions. Selecting a photo uses the modern Android system photo picker, which does not require a storage permission.

6. Network requests

Annora contains exactly two features that can send something over the network. Both are optional, both are triggered by you, and neither carries your inventory, your notes or your spending history.

6.1 Barcode lookup in the Open Food Facts catalogue

When you scan a barcode, Annora first checks your own inventory. If the barcode is not already there, the barcode digits are sent over HTTPS to the free public product catalogue operated by Open Food Facts:

https://world.openfoodfacts.org/api/v2/product/{barcode}.json

  • What is sent: the barcode digits only, plus the list of product fields Annora wants back and a generic User-Agent string.
  • What is not sent: your name, your inventory, your notes, your prices, your location, any device identifier, or any cookie or advertising identifier.
  • What comes back: a product name, brand, quantity, category and a product image URL. If the product image is displayed, it is downloaded from Open Food Facts' image servers, and the image URL itself normally contains the same barcode.
  • Purpose: to fill in the item form for you instead of making you type.
  • Control: this lookup only happens as part of a scan you start. A failure to reach the catalogue never prevents a scan from succeeding — you can always type the details in instead.

Open Food Facts is an independent, community-run project. Its handling of the barcode you send is governed by its own privacy policy and its open-data licence. If you would prefer not to share barcodes with it, do not use the scan feature — every field can be entered manually.

6.2 The optional AI reader

Annora can read a package photo using a large language model. On-device text recognition does most of the work; the AI reader fills in whatever the on-device reader could not make out. This feature is switched off by default and does nothing until you turn it on and enter your own endpoint in Settings.

  • Who runs it: you do. Annora supports any endpoint that speaks the OpenAI-compatible chat completions format. You choose the provider, you create the account, and you pay the provider directly. Trivartha operates no AI service, sells no AI access and receives no data through this feature.
  • What is sent: the package photograph you chose to scan, encoded as an image in the request; the text that on-device text recognition read from that photograph; the model name you entered; and a short fixed instruction describing the fields Annora wants back.
  • How it is sent: an HTTPS request to {your address}/chat/completions, with your API key in the Authorization header. Your key is transmitted to the provider on each request, as it must be for the provider to authenticate you.
  • What is not sent: your inventory, your spending history, your budget, your notes, your shopping list, or any identifier belonging to you.
  • Where the key is kept: in the operating system's secure keystore (Android Keystore), in the app's private secure storage, and never in the Annora database and never by us.
  • Control: switch the reader off in Settings, and use Clear key to remove the stored key. Both take effect immediately and stop all further requests to that provider.

Please read this before you enable the AI reader.

When you enable it, the provider you have chosen receives the photograph of the package and the text read from it. That provider acts on its own terms, and it may retain, review or train on what it receives. A package photograph can incidentally reveal personal information — a name, an address, a phone number or a loyalty card — if it happens to appear on the packaging or in the background. Trivartha has no control over, and no visibility into, what that provider does with the image. Choose a provider you trust, and be aware that a package photo you share is then shared under that provider's privacy policy.

6.3 What is never sent

At no point does Annora transmit your inventory, categories, quantities, prices, purchase dates, expiry dates, notes, shopping list, budget or spending history to Trivartha or to anyone else. The only data that leaves the device is the barcode (section 6.1) and, if you switch it on, the package photo and OCR text (section 6.2).

7. What we never collect

  • No account, sign-up, sign-in, or user identifier of any kind
  • No email address, phone number or postal address
  • No usage analytics, session recording, heatmaps or telemetry
  • No crash-reporting or error-reporting service
  • No advertising, ad identifier, attribution or remarketing SDK
  • No social SDK, map SDK, location or background location access
  • No contact list, call log, SMS, calendar or microphone access
  • No push-advertising or marketing profile
  • No push notification content from the app's developers; your reminders are generated locally on your device

The app contains no third-party advertising or analytics SDK. The only third-party code in Annora is the Google on-device machine-learning components described in section 8, which perform text and barcode recognition locally.

8. Third-party components

Annora bundles the following third-party components. None of them is an account, analytics or advertising service.

ComponentWhat it doesData sent
Google ML Kit — text recognition Reads the printed text on a package photo on your device, in Latin and Devanagari script Nothing. Recognition runs on the device with the bundled model
Google ML Kit — barcode scanning Reads barcodes from the camera viewfinder on your device Nothing. Recognition runs on the device
Google Play services components May be present to support the on-device ML models, depending on the build variant installed Standard Google Play services diagnostics, as described in Google's own privacy documentation
Open Food Facts Public product catalogue used to look up a scanned barcode The barcode digits, at the moment you scan
Your chosen AI provider Reads a package photo when you enable the optional AI reader The photo and the OCR text, if and only if you enable the feature

Google Play services and its ML Kit components are separate products with their own data practices, published by Google. Annora does not use them to identify you, and it does not give them your inventory.

9. Your choices and controls

Everything Annora does can be controlled by you, on your device:

  • Turn off the network entirely by disabling your device's mobile or Wi-Fi data. Every core feature — inventory, expiry view, shopping list, spending, budget, CSV export — continues to work.
  • Turn off the AI reader in Settings. Nothing is then sent to your AI provider.
  • Remove the stored API key at any time with Clear key in Settings.
  • Turn off reminders in Settings. All scheduled reminders are cancelled immediately.
  • Delete any item, batch or shopping-list entry from the app.
  • Export your data to CSV at any time and keep it yourself.
  • Erase everything by uninstalling Annora, which removes the database and the stored key from the device.

The Data Deletion Policy describes each of these in detail.

10. Retiring and deleting your data

Annora keeps data for as long as the app is installed. There is no retention schedule imposed on you and no automatic deletion of your inventory: your records stay until you delete them yourself.

When you delete an item, the item and its purchase batches are removed from your inventory. A confirmed purchase in the spending ledger is reversed rather than erased, so that your monthly history remains truthful and a removal remains visible; a reversed purchase can be restored at any time. If you want every trace removed — including the spending history — uninstall the app, which deletes the whole database.

See the Data Deletion Policy for the complete procedure.

11. Security

Annora is designed so that your data does not need to be secure from us, because it never reaches us. The database lives in the app's private directory, which the Android operating system isolates from other applications. Network requests are made over HTTPS with certificate validation. The AI API key, if you use one, is held in the Android Keystore-backed secure storage rather than in the app database.

No system is perfectly secure. A rooted or otherwise compromised device, a malicious app with elevated permissions, or a device shared with another person may expose locally stored data. We recommend keeping your device locked and up to date, and using a device screen lock if your household data is sensitive.

12. Your rights

Depending on where you live, you may have rights to access, correct, delete, export, restrict or object to the processing of your personal data. Because Annora holds no central copy of your data, most of these rights are exercised directly on your device, and Trivartha simply does not hold the data in question.

RightHow to exercise it
Access / viewOpen Annora — everything stored is visible on screen — or export it to CSV
CorrectionEdit the item, batch, shopping-list entry or budget directly in the app
DeletionDelete the item or entry in the app, or uninstall Annora to erase everything
PortabilityUse Export inventory to CSV or the spending export
Withdraw consentSwitch off the AI reader, use Clear key, or uninstall the app
ComplaintEmail support@trivartha.com

Under the Digital Personal Data Protection Act, 2023 (India): where Annora's optional features cause a personal photograph to be processed by a third-party provider, you are the Data Fiduciary for that transfer and you decide it, because you alone choose the provider and you alone provide the key. Trivartha acts only as a facilitator, does not receive the photograph, and has no independent access to it. Any grievance relating to Annora as an application — including a request to stop the optional transfers — can be sent to support@trivartha.com, and we will respond within 30 days.

13. Children

Annora is a household utility and is not directed at children. Because Annora does not collect personally identifiable information and does not create accounts, it does not knowingly collect data from children. If you believe a child has provided personal information through the optional AI reader configuration, contact us and we will help you clear it.

14. Changes to this policy

We may update this policy from time to time, for example if we add a feature that changes what the app does with data. The "Last updated" date at the top of this page always reflects the current version. A material change will be noted in the app's release notes or in the app itself before it takes effect.

15. Contact us

If you have a question about this policy, want to exercise a right, or want to report a privacy concern, get in touch:

Because Annora is installed on your device, the fastest way to exercise most of your rights is to use the app's own export and delete controls. If you have contacted us with a request, we will acknowledge it within 7 days and resolve it within 30 days.