Skip to content

Legal

Privacy Policy

Last updated 2026-09-22. This policy covers this website (levix.leviro.net) and the Levix software you download from it — including the Android app. Every claim below is checked against the published source code, not written to sound good.

The short version

This website sets no cookies, runs no analytics, and loads no third-party scripts. The software runs on your machine or phone, stores everything locally, and sends nothing to us — there is no Levix account and no Levix cloud. Data leaves your device only when a feature you use requires it: messaging goes to WhatsApp, and AI requests go to the provider you configured with your own key. The single exception is deliberate and yours to make: if you write to the developer through the feedback form, the text you typed is sent.

1. This website

  • No cookies, ever. The site stores nothing in your browser. There is no session, no preference store, no consent banner because there is nothing to consent to.
  • No tracking. No analytics, no ads, no social pixels, no fingerprinting. Fonts are downloaded at build time and served from this site — your browser never contacts Google for them.
  • One outbound call, made by our server, not your browser. The download page shows release names and file sizes from the GitHub API. That request is made server-side and cached for 30 minutes; GitHub sees our server, not you. When you click a download link you obviously go to github.com, under GitHub's own policy.
  • The feedback form. /feedback is the only page that accepts input. What you type there — your message, the topic, an optional rating and an optional contact you choose to leave — is delivered to the developer as a Telegram message and is not written to any database on this site. The message also carries the browser or app user-agent string, because a bug report without a device is guesswork; your IP address is not included in it. The same endpoint receives feedback sent from inside the app; see the row in section 3. Leave the contact field empty and nothing you sent names you.
  • Ordinary hosting logs. Like any web server, the hosting layer may record requests (URL, time, status). We don't analyze them and no ad network gets them.

2. The software — what is stored locally

Levix is self-hosted. Everything it owns lives in one data directory (levix where prints it — ~/.levix, the Docker volume, or the Android app's private storage). The bot does not archive other people's messages: the only metadata kept about incoming traffic is a per-message forward counter (which expires after 30 days) and the sender's last-seen row. Deleted and edited messages are not captured at all. Some data stored locally — especially AI conversation history, long-term memory, names and WhatsApp identifiers — can be included as context in a later AI request when you choose to use an AI feature. Local storage does not mean that this context can never leave the device.

DataWhere it lives
Every setting, the prefix, command permissionsOne SQLite database
Your AI provider keys and endpointsThat database, sealed with AES-256-GCM
The panel passwordAn scrypt hash and salt, never plaintext
The WhatsApp sessionThe same sealed vault
AI conversation history and long-term memoryThe database and memory/*.md files
Your todos, notes, debts, schedules, warningsThe database
LogsA logs/ folder next to it

On Android, cloud backup of app data is switched off in the manifest (allowBackup=false) on purpose: the app holds your WhatsApp session and sealed keys, and they should not silently ride into a cloud backup.

3. The software — what leaves, and to whom

RecipientWhatWhen
WhatsApp (Meta)Your messages and media, your phone number, the pairing credentialsContinuously, while the bot is linked — Levix is a WhatsApp client; this is the product working as designed
The AI provider you configureThe AI prompt and relevant context. Depending on the feature and provider, that can include your display name, WhatsApp user/phone identifiers, group name, message text, quoted or mentioned participant identifiers, AI history or long-term memory, and media or files you ask the AI to processOnly when you use an AI feature. Text context is sent to the selected provider; supported images can also be sent to OpenAI-compatible or Anthropic providers, while Gemini can additionally receive supported video, audio and documents. Speech-to-text may send audio to Gemini or an OpenAI-compatible provider. Requests use the API key and endpoint you configured
DuckDuckGo, or Google Programmable Search if you set it upThe search queryOnly when an AI answer uses the web-search tool
Websites the AI opensOrdinary page requestsOnly when an AI answer reads a page you asked about
The developer, as a Telegram messageOnly what you write in the feedback form — your message, the topic, an optional rating, an optional contact — plus the Levix version, which platform it runs on, and the user-agent of whatever sent itOnly when you press Send in the panel's Feedback tab, or on levix.leviro.net/feedback. Nothing is sent on its own, and no message, chat, contact or key is ever attached
Your own proxy, if you configure oneWhatsApp trafficOnly while linked, if you set a proxy (off by default)

Depending on which features you use, data sent outside the device for app functionality can therefore include name, WhatsApp user identifiers or phone number, messages, mentioned or quoted participant identifiers, photos, videos, voice or other audio, files and documents, AI memory or other user-generated content, web-search queries, and URLs/pages the AI is asked to read. Levix does not request Android Contacts permission; participant identifiers come from the WhatsApp conversation you are using.

Pointing the AI provider at a local Ollama or LM Studio server keeps that traffic on your machine — the software explicitly allows loopback endpoints for exactly that. Everything a hosted provider receives is then governed by that provider's own privacy policy, not this one.

We — the Levix project — are not a recipient of anything above. The software contains no telemetry, no crash reporting, no update pings, and no usage statistics. There is no server of ours for it to talk to.

4. How secrets are protected

  • API keys and the WhatsApp auth blob are sealed at rest with AES-256-GCM; the encryption key sits in a separate levix.key file with mode 0600, so a stolen database alone reveals nothing.
  • The panel only ever reports whether a key is configured — it never returns the value, not even to a logged-in operator.
  • The panel password is stored as an scrypt hash with a random salt; logins are throttled to 5 attempts per 15 minutes keyed on the connecting peer; changing the password invalidates every existing session.
  • Public AI endpoints must be HTTPS, private and reserved addresses are rejected, and the software pins the validated DNS answer to the socket so a key can't silently cross hosts through a redirect.

5. The Android app's permissions

Six permissions, none of them location, camera, microphone, contacts or storage:

Internet, network stateThe WhatsApp connection and the local panel
Foreground service (special use)Keeps the bot host running so the bot stays connected
NotificationsThe ongoing connection-status notification
Wake lockFinish processing while the screen is off
Receive boot completedStart again after the phone reboots
Request ignore battery optimizationsOffer — never silently apply — an exemption so Android doesn't kill the host

The in-app browser (WebView) loads only the local control panel at http://127.0.0.1:3001 — never third-party web content.

6. Deleting your data

  • AI conversation history: !del per chat, !delall for all of it, or from the panel.
  • Long-term memory: !memory forget / !memory clear, or from the panel.
  • Unlink (Connection → Unlink): clears the WhatsApp credentials, roles, AI history, memory and buffered context, and pauses the old account's schedules.
  • On a server: stop the bot and delete the data directory — that is a full wipe.
  • On Android: uninstall the app. Nothing survives elsewhere, because there is no elsewhere.

7. Children

Levix is intended for users aged 16 and over and is not directed at children under 16. Users must also meet WhatsApp's minimum-age requirements that apply in their country or region.

8. Changes & contact

Material changes ship with a new date at the top of this page. Questions or disputes: the issue tracker — the same place as bugs. See also the Terms of Use.