Privacy
What this website loads when you read it, and what the Locally Uncensored desktop app sends over the network. The app keeps your chats, files and generations on your own computer unless you choose a cloud route.
Last updated:
Who is responsible
David Drobnitza, Gladbacher Straße 127, 41747 Viersen, Germany, runs this website and publishes the app. Write to privacy@lu-labs.ai for anything about your data. The full legal details are in the Impressum.
This website
locallyuncensored.com is a set of static pages. It has no accounts, no forms and no checkout, and we run no server of our own for it.
Hosting
GitHub Pages serves the pages. When your browser loads one, GitHub receives your IP address and the usual request data, such as the address of the page and your browser type, and handles them under the GitHub privacy statement. We do not get access to those logs.
Fonts
The pages load three typefaces (Inter, JetBrains Mono and Space Grotesk) from Google Fonts. Your browser fetches them from fonts.googleapis.com and fonts.gstatic.com, so Google receives your IP address and the name of the page that asked for the font.
Visitor counting
We count page views with GoatCounter. Each page loads a small script from gc.zgo.at that sends five things to our GoatCounter address: the path of the page, its title, the page that linked you here, the query string and the size of your screen. Like any web server, GoatCounter also sees your IP address and browser type when it receives that request. Our GoatCounter account is set to record these things: sessions, which means a visitor counts as the same visitor for up to 8 hours, the page that linked you here, the name of your browser and of your operating system and nothing else from the browser type, the size of your screen, your country, your region and your language. Individual page views are not stored. The data is kept for 365 days; after that the page views and all data that belongs to them are deleted. The statistics can be seen only by users who are signed in to the account. The script sets no cookie. To stop your own visits from being counted, open any page with #toggle-goatcounter at the end of the address; the script then notes that in your browser and stays silent. How GoatCounter handles the data is in the GoatCounter privacy policy.
The language button
The flag in the top bar translates a page into German with Google Translate. Nothing happens until you press it. When you do, the page saves your choice in your browser (a local storage entry named lu-lang), sets a cookie named googtrans and loads the translation script from translate.google.com, which sends the text of the page and your IP address to Google. Press the flag again to go back to English; the page then removes the cookie and stops loading the script.
Cookies
The googtrans cookie above is the only one our pages set, and only after you press the language button. Google's translation script may then set cookies of its own. There are no advertising cookies and no tracking pixels on this website.
Links that leave the site
Download buttons lead to the release files on GitHub. The Discord, Reddit and LinkedIn entries are plain links, and those services learn nothing until you follow one. Links to lu-labs.ai carry a short label such as src=luc, which tells LU Labs that the visit came from this website. The label says nothing about who you are.
The desktop app
The app runs models on your own machine. Chats, memories, documents and the images, clips and audio you generate are saved in the app's folders inside your user profile. You need no account to use it locally, and the app has no advertising ID and no analytics kit built in.
Update checks and the one counter
Update checks. A few seconds after it starts, and every six hours while it runs, the app asks GitHub whether a newer release exists. GitHub sees your IP address and the request. If there is a newer release, the app downloads it in the background and installs it only when you click. You can switch the background download off under Settings, General, Updates ("Download updates automatically").
The Cloud switch counter. When you press the Cloud switch in the header, the app sends one anonymous count to the LU Labs database. It contains which of four things the press did (opened the sign-in gate, armed the switch, entered Cloud or went back to Local), your operating system as one word (windows, linux or macos) and the app version. It contains no account, no device identifier and none of your content. If you are signed in to LU Cloud, the same press is also recorded with your account at lu-labs.ai.
The app does not report what you type, which models you use or how long you use them.
Crash reports and logs
If the app crashes, it writes one line about the crash to a file named crash.log on your computer, next to its regular log files. The app never uploads these files. They leave your machine only if you attach them to a support request yourself.
What leaves your machine when you use a feature
Finding and downloading models. Searching for a model or downloading one contacts the site that hosts it: Hugging Face, Civitai or ollama.com. Installing an engine or its components downloads files from GitHub, python.org and pytorch.org. Each of them sees your IP address and what you fetched.
Web search and page fetching. When you let a chat or the agent search the web, the search words go to a search service: a SearXNG instance on your own machine if you installed one, otherwise DuckDuckGo, with Wikipedia as a fallback. If you enter a Brave or Tavily key, the search goes to that service. Pages the agent reads are requested directly from your machine.
Providers you add with your own key. If you add OpenAI, Anthropic, OpenRouter, Groq, Together, DeepSeek, Mistral or another compatible address, your prompts go from your machine straight to that provider, under your key and their terms. The app keeps the key in your operating system's keychain where one is available, and otherwise in its own local storage.
Remote access. Remote access is off until you start it. In home network mode your phone talks to your PC directly. In internet mode the connection runs through a Cloudflare tunnel, so it passes through Cloudflare's network. The remote access page explains both modes.
LU Cloud
LU Cloud is the optional hosted service at lu-labs.ai. It needs an account, and it works differently from local mode: in Cloud mode your chats, Create renders and voice requests are sent to lu-labs.ai and processed on managed GPUs, and generated media and job records are stored with your account. The app keeps your sign-in session in your operating system's keychain where one is available.
Memories sync to your account only after you tick the consent box in Settings and start a sync yourself.
What LU Labs stores, for how long, who processes it and how to delete your account is set out in the LU Labs privacy policy. That policy governs everything you do with an LU Cloud account.
Your rights
Under the GDPR you can ask what data we hold about you, have it corrected or deleted, restrict or object to its use, and receive it in a portable form. Email privacy@lu-labs.ai. You can also complain to the data protection authority where you live.
For this website and for the app in local mode we hold nothing that identifies you: the page view counts and the Cloud switch counts carry no name, account or device identifier. Requests about an LU Cloud account are handled under the LU Labs privacy policy.
We load the fonts, the visitor counter and the hosting on the basis of our legitimate interest in running and measuring the website (Art. 6 (1) (f) GDPR). The same basis covers the update check and the anonymous Cloud switch count in the app. Google Translate runs only after you ask for it (Art. 6 (1) (a) GDPR).