Mulleh
English
Download

Privacy Policy

Effective date: October 7, 2026

Minchan Song ("we" or "us") runs the Mulleh desktop app (the "App") and the mulleh.com website (the "Website"), and processes and protects personal information in accordance with the Personal Information Protection Act of the Republic of Korea ("PIPA"). We publish this policy under Article 30 of that Act to explain how we handle personal information and to resolve complaints quickly.

At a glance

  • There are no accounts. We don't ask for your name, email address, or phone number to use the App.
  • Your chats, documents, files, and projects are stored only on your computer and never reach us. What you send to the AI and what the AI reads go to the AI engine you connected (Anthropic or OpenAI) through your own account (Section 2).
  • The App checks for updates and sends usage statistics and error reports. You can turn them off at any time in the App under Settings › About, and see exactly what was sent.
  • Usage statistics and error reports never include chats, documents, file names, web addresses, file paths, text you typed, project names, or error messages.
  • We use Cloudflare, Inc. (USA) to run our servers and Google LLC (USA, Gmail) to store support email. We don't provide personal information to any other company.
  • The Website uses no cookies that identify visitors. If you choose a language yourself, one cookie remembers that choice (Section 8).

1. Personal information we process, purposes, legal bases, and retention

We process the personal information below without your consent, on the legal bases shown in the table. We process only what each purpose requires, and if a purpose changes, we'll notify you in advance or ask for your consent as the law requires.

CategoryPurposeItemsLegal basisRetention
Update checks (App)Notifying you of new versions, delivering updates, and blocking versions with security defectsApp version, OS type, CPU type, update channel, App languagePIPA Art. 15(1)(4) (providing the App under the Terms of Service)Not stored — used only to answer the check (if usage statistics are on, the check is kept as usage statistics below)
Usage statistics (App, can be turned off)Improving the App by measuring where new users get stuck, how much each feature is used, and how quickly updates spreadInstall ID (also sent with update checks), App version, OS type, CPU type, update channel, App language, names and times of events in the App, values defined by the App (e.g., the kind of window opened, "Terminal"; the engine status, "Login required"; seconds taken)PIPA Art. 15(1)(6) (our legitimate interests)Raw data with the install ID: 3 months. Per-install daily records (days the App was used, update checks): 35 days. Daily counts without install IDs: as long as we run the service
Error reports (App, turned off together with usage statistics)Finding and fixing errors and crashesInstall ID, App version, OS type, CPU type, error category, error code, location in the App's code, reason a process endedPIPA Art. 15(1)(6)Raw data: 3 months. Per-install error records: 4 days. Error counts without install IDs: as long as we run the service
Support emailAnswering inquiries and handling complaintsEmail address, your name if you include it, message content and attachmentsPIPA Art. 15(1)(4) (handling inquiries)1 year after we finish replying
  • The install ID is a random number the App creates the first time it sends usage statistics (after you close the first-run notice). It's created independently of your name, email address, or device information, and we never link it to a person.
  • Requests that reach our servers carry your IP address, as every internet connection does, but we use it only to connect and to prevent abuse (counting requests over a short period) and never store it. Connection information that Cloudflare processes for the security of its own network is governed by Cloudflare's Privacy Policy.
  • Usage statistics and error reports are records of how the App is used (behavioral information), but we don't use them to identify individuals, don't use them for targeted advertising, and don't let other companies collect them.
  • The following are not personal information, but we disclose them as well.
    • Download counts — When you download the App from the Website, we count only totals by date, target (e.g., Mac with Apple silicon), and country (estimated by Cloudflare from the IP address). We don't store IP addresses.
    • Website visit counts — Our Website server counts page views and first visits by date, page, and country. For a first visit, it also counts where the visit came from (only the referring site's name, or the utm_source value in the link). Only totals are kept; IP addresses, cookies, and device information aren't used.
    • Website performance and visit statistics — Through a measurement script that Cloudflare adds to our pages (Cloudflare Web Analytics), we see totals of page addresses, previous pages (referrers), page load times, countries, and device, browser, and OS types. It uses no cookies and doesn't tell visitors apart, and Cloudflare discards IP addresses at the nearest data center. Cloudflare keeps raw data for 7 days before sampling and makes the last 6 months queryable.

2. What never reaches us — services the App talks to directly

The following never reach us; your computer exchanges them directly with other companies. Information those companies receive (such as your IP address) is governed by their own policies.

WhatWith whomWhen
Chat content, and the files, web pages, terminal output, and connected app windows shown to the AIThe AI engine you connected — Anthropic for Claude Code, OpenAI for Codex. It goes through your own accountWhen you chat or work. The same applies to tasks the App hands to the engine, such as naming chats and tidying task documents while a chat is idle
The engine program's own traffic — checking login status and model lists, its own usage statisticsThe company that makes the engine, under its policies and your settings. The Claude Code and Codex the App starts for chats run with usage statistics and error reporting turned off; claude or codex you start yourself in the App's terminal follows your own settingsWhen the App checks engine status or an engine runs
Checks for new engine versions — engine package names onlyThe npm registry (registry.npmjs.org — npm, Inc., GitHub)Once a day, when an engine is installed on the computer
Installing, logging in to, and updating enginesThe engine maker's installer and login pageWhen you click "Install", "Log in", or "Update"
The AI's web search and page readingSearches are run by the AI engine you connected, on its company's servers (Anthropic or OpenAI); pages to read are fetched by your computer directly from those sites. Through version 0.1.6, the App also ran searches from your computer directly on Microsoft Bing (or DuckDuckGo if Bing gave no answer)When the AI searches the web or reads a web address
The in-App browserSites you or the AI open. Searching from the address bar sends your query to the search engine you chose (Google by default), and while "Show suggestions while typing" is on, it also sends what you type (you can turn it off under Settings › Browser). Cookies and sign-ins are stored on your computerWhen you use the browser
Connected servicesDirectly to each service, with the keys or sign-ins you provided. Keys are locked with your computer's secure storage (macOS Keychain, Windows DPAPI)When you or the AI use the service

3. Provision to third parties

We don't provide personal information to third parties, except where a law specifically requires it.

4. Outsourcing and international transfers

We outsource server operations to Cloudflare, Inc. and the storage of support email to Google LLC, so personal information is transferred outside Korea. Our contract with Cloudflare (its Customer Data Processing Addendum) prohibits processing beyond the outsourced purposes and requires technical and administrative safeguards. If a processor or an outsourced task changes, we'll promptly update this policy.

Legal basis for the transferPIPA Art. 28-8(1)(3) (outsourcing and storage necessary to perform our contract with you, disclosed in this policy); outsourcing under Art. 26
Recipient (processor)Cloudflare, Inc. — 101 Townsend St., San Francisco, CA 94107, USA · Data Protection Officer: dpo@cloudflare.com
Outsourced tasksReceiving and storing update checks, usage statistics, and error reports; delivering update files, the Website, and downloads, and counting them; forwarding support email (hello@mulleh.com → our mailbox)
Items transferredThe update check, usage statistics, and error report items in the Section 1 table; support email (while it's forwarded); and IP addresses while requests are processed
DestinationThe United States (raw usage statistics and error reports — Cloudflare Analytics Engine) and the Asia-Pacific region (per-install daily records — Cloudflare D1 database; Cloudflare chooses the country within that region). Requests are handled at a Cloudflare data center near you
When and howEach time the App or a browser connects to our servers, over encrypted connections (HTTPS)
Purpose and retentionFor the outsourced tasks above, for the retention periods in the Section 1 table
How to refuse, and what happensTurning off usage statistics and error reports under Settings › About stops the install ID, usage statistics, and error reports from being transferred. Update checks and the Website only work through Cloudflare; if you don't want that, you'll need to block the App's internet access or uninstall it, and you won't receive updates

Cloudflare only forwards support email; the messages we receive are stored in our Gmail mailbox.

Legal basis for the transferPIPA Art. 28-8(1)(3) (storage necessary to handle inquiries, disclosed in this policy); outsourcing under Art. 26
Recipient (processor)Google LLC — 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA · Privacy contact
Outsourced tasksReceiving and storing support email (Gmail)
Items transferredSupport email — the sender's email address, their name if included, message content and attachments
DestinationThe United States and other countries where Google has data centers
When and howWhen support email arrives, over encrypted connections
Purpose and retentionTo answer inquiries and handle complaints, for 1 year after we finish replying
How to refuse, and what happensIf you don't email us, nothing is transferred, but we can't answer you by email

5. Destruction of personal information

  • We destroy personal information without delay once its retention period ends or its purpose has been fulfilled. No other law requires us to keep any of it.
  • Procedure — Raw usage statistics and error reports are deleted automatically by the storage service (Cloudflare Analytics Engine) after 3 months. Per-install records in the database (Cloudflare D1) are deleted every day once they pass their period: 35 days for days of use and update checks, 4 days for errors, and 1 day for the records that count how much each install may send per day. Deleted rows stay in the database's recovery points for 7 more days and then disappear. Support email is deleted from the mailbox when its retention period ends.
  • Method — Electronic records are deleted in a way that can't be recovered. We keep no personal information on paper.

6. Your rights and how to exercise them

You may ask us at any time to give you access to, correct, delete, or stop processing your personal information.

  • Stopping processing — Turning off "Send usage statistics and error reports" under Settings › About in the App stops it immediately. You can also turn it off in the notice shown the first time the App starts, and nothing is sent until you close that notice.
  • Access — "See what was sent" on the same screen shows exactly what was sent in the last 7 days. For older records, email us your install ID and we'll tell you.
  • Deletion — Copy your install ID from the same screen and email us to delete it, and we'll immediately delete that install ID's records from the database. Raw data in the storage service (Analytics Engine) can't be deleted record by record, so we exclude it from our statistics for the rest of its retention period (up to 3 months), after which it's deleted automatically. To exclude it, we keep only a transformed value of that install ID for 92 days. You can also cut the link to past records with "Make new" next to your install ID.
  • Support email — You can ask us for access to, correction of, or deletion of personal information you sent by email.
  • We respond within 10 days of receiving a request. You can also make a request through a legal representative or an authorized agent, who must submit a power of attorney in the form of Annex 11 of the Notice on Methods of Processing Personal Information. The rights of children under 14 are exercised by their legal representatives.
  • Requests for access or for stopping processing may be limited where other laws provide (PIPA Art. 35(4) and Art. 37(2)).

7. Safeguards

  • Administrative — Only one person, the operator, can access personal information. The admin screen is password-protected, and our Cloudflare account uses two-factor authentication.
  • Technical — All transmissions are encrypted (HTTPS). We don't store IP addresses or browser information, and we've turned off the server's invocation logs (logs that would keep request headers). The server doesn't keep install IDs as they are; it stores them as irreversible values (hashes). Both the App before sending and the server on receipt keep only the defined items and discard everything else. Records past their retention period are deleted automatically.
  • Physical — Our servers are in the data centers of our processor, Cloudflare, and their physical security follows Cloudflare's controls.

8. Cookies and similar technologies

  • The Website uses no cookies or browser storage that identify visitors. If you pick a language with the globe button in the header or the language links in the footer, a lang cookie (the language code only, kept for 1 year) remembers your choice. If you delete it, the Website follows your browser's language. Visit statistics (Cloudflare Web Analytics) use no cookies or browser storage. However, if Cloudflare shows a security check for a connection that looks like an attack, a cf_clearance cookie may be set to show that you passed it. This cookie is strictly necessary for security, and you can delete it in your browser settings.
  • The App uses no cookies. The install ID for usage statistics is stored in the App's data folder on your computer, and nothing is sent once you turn off usage statistics under Settings › About.

9. Privacy officer

We have designated the following privacy officer to oversee the processing of personal information and to handle complaints and remedies. Contact them with any privacy question, complaint, or request for a remedy, and we'll reply without delay.

10. Remedies

For dispute resolution or advice about privacy infringements, you can contact the following agencies in Korea.

11. People in the EEA, the UK, and Switzerland

If you're in the European Economic Area, the United Kingdom, or Switzerland, the following also applies.

  • Legal bases — We process update checks and support email because they're necessary to provide the App and to answer you (GDPR Art. 6(1)(b)), and usage statistics and error reports for our legitimate interest in improving the App (Art. 6(1)(f)).
  • Your rights — You can ask for access, rectification, erasure, restriction of processing, and data portability, and you can object to processing. Usage statistics and error reports stop as soon as you turn them off. You can also lodge a complaint with the data protection authority where you live.
  • International transfers — We're based in the Republic of Korea, which the EU and the UK have recognized as providing an adequate level of data protection. Transfers to Cloudflare rely on the Standard Contractual Clauses in Cloudflare's Customer Data Processing Addendum, and transfers to Google rely on Google LLC's certification under the EU-U.S. Data Privacy Framework (including the UK Extension and the Swiss-U.S. Data Privacy Framework).

12. Changes to this policy

  • This policy takes effect on October 7, 2026.
  • When we change it, we'll post the changes (before and after) on the Website at least 7 days before they take effect, and announce important changes about usage statistics and error reports in the App as well.
  • This is our first privacy policy. When we change it, we'll keep previous versions at the bottom of this page.
  • This policy was written in Korean. This English version is a translation; if the two differ, the Korean version prevails.