Last updated: 4 October 2026 · Applies to LIA for Android, both editions
LIA ("LIA", "the app", "we", "us") is made by codeninjavik ("we", "our"). This policy explains what LIA actually does with your data - written to match the app's real code, not a generic template. LIA ships in two editions with different capabilities; where they differ, both are described explicitly.
In one paragraph: LIA sends what you say to Google's Gemini Live API, and what you type in Chat to Groq's API (or, only as a fallback, to Google's Gemini API), so it can reply - that's the core of how it works. Your voice and chat conversations are saved as text in a History list on your phone only. It reads your contacts only on your phone, to turn a name into a number, and never uploads your contact list. The full edition can optionally read and act on your screen when you ask it to, and can check a purchased access key against our database - the Play edition does neither. LIA never sells your data, and never reads your screen or listens in the background unless you've explicitly turned that on yourself.
| Full edition codeninjavik.in | Play edition Google Play | |
|---|---|---|
| Voice & text chat | Yes | Yes |
| Open an app by name | Yes | Yes |
| Call / message a contact | Yes, can also auto-send a message | Yes, but always opens the message for you to send |
| Read/tap/type on screen (Accessibility) | Optional, off by default | Not present in this edition at all |
| Post to Instagram / Facebook | Optional feature, built on Accessibility | Not present in this edition at all |
| Access-key licensing (Firebase) | Yes | Not present - this edition has no license check |
You can always tell which edition you have: the full edition has an "Access key" section in your Profile and an "Accessibility" row in Settings; the Play edition has neither.
While a voice conversation is active, your microphone audio is streamed to Google's Gemini Live API in real time so LIA can understand and reply to you. Audio is not saved to a file on your device or on our servers. A short text recap of the recent conversation is kept in memory only, to keep context if the connection briefly reconnects - it is cleared when the session ends. The text transcript of the conversation (what you said and what LIA replied, as transcribed by the Gemini service) is saved to History on your device - see "Conversation history" below.
Text you type in Chat is sent to Groq (api.groq.com), an AI inference provider, as a standard one-off text request, separate from the voice connection, to generate a reply. The recent part of the conversation (up to the last 20 messages) is sent along with each new message so LIA remembers earlier turns. If Groq can't answer and you have saved a Gemini API key, the same request is sent to Google's Gemini API instead. Your chat text is not sent anywhere else.
LIA saves your typed chats and the text transcripts of your voice conversations in a History list so you can reopen them. This is stored only on your device, in LIA's private app storage (up to 200 conversations; the oldest are dropped first). It is not uploaded to any server we run and is excluded from Android's cloud backup. Voice audio is never saved. You can delete a single conversation by swiping it away in History, delete all of them with "Clear Conversation History" in Settings, or erase everything with "Clear all app data" or by uninstalling the app.
If you ask LIA to build you a website (by voice or in Chat), your request is sent to Google's Gemini API using your Gemini API key to generate the page. The finished website is saved as a file in LIA's private storage on your device only; it is not uploaded to any server we run.
If you ask LIA to call or message someone, it reads your device's Contacts
(READ_CONTACTS) locally to match the name you said to a phone number. This lookup
never leaves your device - LIA does not upload, transmit, or share your contact list with
anyone, including Google, at any point.
Calling and messaging are handed to your phone's own dialer or messaging app (SMS or WhatsApp) through a standard Android share/compose action. LIA does not intercept, store, or read your call or message history.
To open an app by name, LIA looks up your installed, launchable apps via Android's PackageManager. This list is used only on-device to match what you asked for; it is not uploaded anywhere.
The full edition can optionally use Android's Accessibility service so LIA can see what's on screen and tap, type, or scroll for you when you ask it to - for example, posting a photo to Instagram. This is off by default and entirely optional; LIA works for voice, chat, opening apps, and calling/messaging without it. When it is on:
See the full Accessibility Disclosure for details, or open it any time from LIA's Settings.
If you share a photo or video to LIA (via Android's "Share" menu) so it can post it to Instagram or Facebook for you, LIA keeps a private copy on your device only, and asks you to confirm before keeping it. That copy is never uploaded to any server we run - it is only handed to the Instagram or Facebook app itself, through Android's normal share mechanism, once you post it (and LIA never publishes anything without your explicit "yes" first).
The full edition checks a license key you enter against our database (Google Firestore, part of Firebase) so it knows whether to unlock the app. This check uses a device identifier derived from your phone's DRM module - not your name, email, or any personal account - plus the key itself. We use Firebase Authentication in "anonymous" mode only for this, which does not collect your email, phone number, or identity.
| Recipient | What they get | Why |
|---|---|---|
| Google (Gemini API) | Voice audio during a voice conversation; your website-builder requests; typed chat text only if Groq is unavailable and you saved a Gemini key | To generate LIA's replies. Governed by Google's own Privacy Policy and the Gemini API Terms. |
| Groq (api.groq.com) | Typed chat text (recent messages) and LIA's system instructions for the chosen personality and language | To generate LIA's chat replies. Governed by Groq's Privacy Policy and terms. |
| Google Firebase (full edition only) | An anonymous device identifier and the access key you entered | To validate your license. No personal profile is created. |
| Instagram / Facebook apps (full edition only, if you use posting) | Only the specific photo/video and caption you asked LIA to post | To actually publish the post you requested, via Android's normal share mechanism. |
| Your phone's dialer / SMS / WhatsApp | The contact and message you asked LIA to prepare | To place the call or open the message for you. |
| Law enforcement / legal process | Whatever we're legally compelled to provide | Only if required by law - we don't proactively share anything. |
We do not sell your information to data brokers, advertisers, or anyone else, under any circumstances.
Your preferences (assistant name, personality - including any custom personality text you
write - language, voice, theme), your saved conversation History, and the media inbox for
posting are stored locally on your device, and are excluded from Android's automatic cloud
backup - see android:allowBackup="false" in the app - so they never leave your
phone via backup. Your Gemini and Groq API keys, if you added them, are stored locally on
your device only and are sent only to Google and Groq respectively, to authenticate your own
requests. Full-edition license state (masked key, plan, expiry) is stored both on your
device and in our Firestore database, tied to your device identifier, not your identity.
| Permission | Edition | What it's for |
|---|---|---|
| Microphone | Both | Voice conversations. |
| Internet / Foreground service | Both | Talking to Gemini and Groq, and keeping a voice session alive while you're in another app. |
| Notifications | Both | Showing that a voice session is active, with a Stop control. |
| Contacts | Both | Matching a spoken/typed name to a phone number, locally (see §2). |
| Phone calls | Both | Placing a call directly when you ask; without it, LIA opens the dialer instead. |
| Query all installed apps | Full edition | Finding apps by name to open them. |
| Accessibility service | Full edition, optional | Screen automation - see §2 and the Accessibility Disclosure. |
The Play edition uses Android's <queries> mechanism (scoped to apps with
a launcher icon) instead of the broader "query all installed apps" permission.
LIA is not directed at children under 13, and we do not knowingly collect data from children under that age. If you believe a child has used LIA and shared personal data with us, contact us at the address in §10 and we'll remove it.
Traffic to Google's Gemini API, to Groq's API and to Firebase is encrypted in transit (HTTPS/TLS). We don't store your API keys or license data in plain, unencrypted form beyond what's described above. No method of transmission or storage is 100% secure, and we can't guarantee absolute security, but we don't take shortcuts with what we control.
If we materially change what LIA collects or does with it, we'll update this page and change the "Last updated" date above. Continuing to use LIA after a change means you accept the updated policy.
Questions, concerns, or a data-deletion request? Email codeninjavik@gmail.com.