Privacy Policy · 개인정보 처리방침
Privacy Policy — Codex Image Generator
Appcellent ("Appcellent" or "we") develops the desktop application Codex Image Generator (the "app") and distributes it free of charge. This policy describes the information that the app transmits from your PC, the information that Appcellent receives and the period for which it is retained, and the means by which you may stop the transmission or have the information deleted.
The app requires no registration and has no login function. Appcellent does not receive your name, e-mail address, telephone number or any other contact details through the app. The app does not use cookies or an advertising ID.
The anonymous user count (section 2) and the detailed usage statistics (section 3) operate from the app version that includes the notice-and-choice window onward. Earlier versions without that window transmit only the update check to Appcellent (2-4).
This policy is written in Korean and translated into English. In the event of any discrepancy between the two versions, the Korean version prevails. The app's screens are available in English and Korean (English from version 0.8.0). Menus and buttons are named as they appear on the English screens, with the Korean names in brackets.
1. Overview
| Item | Timing | Information received by Appcellent | How to stop |
|---|---|---|---|
| Image generation and Codex features (OpenAI) | When you generate images or use a Codex feature (word suggestions, prompt suggestions and the like), when you sign in with ChatGPT and that sign-in is refreshed, and, while Codex is connected, when the app checks your remaining usage | None. Prompts, generation options and reference images (and, for Images API edit requests, their file names) are transmitted directly to OpenAI under the ChatGPT account (Codex) or OpenAI API key that you connected, and OpenAI's policy applies | Nothing is transmitted unless you generate images or use Codex features; after you disconnect (Disconnect in connection settings), usage is no longer checked |
| Codex installation | When you press install or update for Codex in the app | None. The app downloads directly from OpenAI's installer (chatgpt.com), GitHub (openai/codex) or npm. Those sources receive the address of the file for the selected version, OS and CPU, together with connection data such as your IP address, and their policies apply | Nothing is downloaded unless you press install (you may also install Codex yourself) |
| Update check + anonymous user count (not optional — notice only) | At start-up, every 6 hours while the app is running, and when you open the update guide or press "Check for updates" (업데이트 확인) in Settings | The app name and OS type. On the first check of the day, also the app version, OS major version, date and "first check today / this week / this month" flags. The server retains only totals per date, version and OS | No on-screen switch is provided. Environment variable, blocking the address, or a request by e-mail (2-6) |
| Detailed usage statistics (optional — only with your consent) | Only if you consent: from 30 seconds after start-up, then every 3–4 hours (pending summaries are sent one at a time, 45 minutes to 2 hours apart); a deletion request is sent immediately when you turn the statistics off or delete them | One line of daily numbers and one line of monthly environment buckets | Settings › Connection & info › Usage statistics (설정 › 연결·정보 › 사용 통계) |
| Introduction of other Appcellent apps | The start card at launch (at most once a day); the "MADE BY Appcellent" (MADE BY 앱설런트) popover when you open it | None (click counts are received only as totals, and only if you have consented to detailed statistics) | Settings › Display (설정 › 표시) |
2. Update check and anonymous user count
The app queries Appcellent's server as to whether a new version is available. Together with this check, the app indicates whether it is the first check on this PC today (this week, this month), so that Appcellent can count the number of PCs using the app — as totals only. This item is disclosed by notice and is not subject to consent (2-5). The same explanation is provided in the top "Notice" (안내) section of the notice-and-choice window (「안내·선택」 창), which is shown on first launch and once after an update, in the app's Settings › Connection & info › Usage statistics, and in the app's user guide topic "Usage statistics and update checks" (사용 통계와 업데이트 확인).
2-1. Purposes of processing
- To notify you of new versions and required updates (security and bug fixes).
- To ascertain the number of PCs using the app and the distribution of app versions and operating systems, in order to decide which versions and systems to continue supporting, and to describe the service with totals that cannot identify any individual.
2-2. Items transmitted
Each check transmits only the app name and the OS type.
Only on the first check of the day on this PC, four additional items are added (if the server did not respond properly, or did not count them because this PC's date differed from the server's date by more than one day, they are added again on the next check), and only from the first check after the notice-and-choice window has been shown on this PC once.
| Item | Description |
|---|---|
app | The app (always codex-image-generator) |
platform | OS type: windows · macos · linux |
v | App version (e.g. 0.7.0). Preview versions (e.g. 0.7.0-beta.6) are counted together by the server as a single "preview" bucket |
os | OS major version: Windows 10 · 11, or the macOS major version (e.g. 15); for Linux, any is sent (no distinction is made). If the version cannot be read, any |
d | This PC's date (day only — no hours, minutes, seconds or time zone) |
f | First-check flags: d = first check today, plus w if it is also the first check this week, plus m if it is also the first check this month (d · dw · dm · dwm) |
- Never transmitted: device ID, install ID, PC name or user name, account details (e-mail, tokens, API keys), prompts, images, file names or paths, time of day, time zone, country. The request headers do not contain a PC name or user name either (the app adds a single
acceptheader; otherwise, there are only fixed values that the network library adds to every request, such asuser-agent: node). - The server accepts only these six items. Any request containing another item, or a value in an invalid format, is rejected and is not counted.
- Information stored on your PC:
usage-count.jsonin the app's data folder holds only the day, week and month on which the four items were last sent. It contains no times, and this file is never transmitted. PCs that are not counted (2-6, excluded regions) never create this file.
2-3. Items retained and retention period
- For each date, app, version bucket, OS and OS bucket, the server retains three numbers (the number of first checks that day, that week and that month). Individual requests are not retained.
- Rare values are grouped: release versions are kept as they are, preview versions are combined into one bucket, Windows versions other than 10 and 11 are classified as "other", and Linux forms one bucket. Two days after a day ends, rows with fewer than 5 are merged, per OS type, into a single row without version or OS bucket.
- No IP address, time of receipt or device ID is stored. The tables contain no such columns.
- Retention period: 25 months, after which the data is deleted by a nightly scheduled job in the database (destruction, 3-6).
- Even in Appcellent's internal reports, values of 1–4 are shown only as "fewer than 5" (where only one such cell exists on a given day, another cell is hidden with it so that the hidden value cannot be recovered by subtraction), and the figures for today and yesterday (in UTC) are not displayed at all (so that no figure can be matched with a particular person who has just opened the app). Published figures are limited to totals of 50 or more for completed periods (day, week, month).
- These figures are estimates. Older versions, excluded regions, PCs that have stopped the count, days on which the PC was offline and PCs whose clock is off by more than one day are not included; conversely, a check whose response was lost may be sent again on the same day, and a person using several PCs is counted once per PC. A transmitted flag may also go uncounted during a server outage. Accordingly, these figures are published as "about N PCs (estimate among participating newer versions)" and never as a number of people.
2-4. Processing of connection data (IP addresses)
- The app connects to a relay operated by Appcellent on Cloudflare (
t.appcellent.dev, a Cloudflare Worker). By the nature of internet connections, Cloudflare receives your IP address when the app connects. - Appcellent's relay does not read, store, hash or forward the IP address. Its request-rate limits are counted per route and app name, not per address.
- The country of the connection, as determined by Cloudflare from the IP address, is used solely to exclude from counting requests from the European Economic Area, the UK, Switzerland (including their territories) or unknown locations (including Tor), and is then discarded. No other value, such as the city or location, is read.
- The relay's own logging features (Workers logs, traces, Logpush) are all disabled. Cloudflare itself nevertheless processes request data such as IP addresses in order to provide and protect its service, and the security analytics of Appcellent's Cloudflare account may display sampled records of requests to this address (IP address, country, User-Agent, requested address and similar data) for the last 31 days. Appcellent views that screen only to respond to outages and attacks, and never for statistics, to distinguish users or to link devices. Any data that Cloudflare retains on its own is governed by Cloudflare's privacy policy, which specifies no fixed retention period (Cloudflare retains data for as long as its business purposes require).
- The relay sends a new request to the database (Supabase) and does not include your IP address in it. According to Cloudflare's documentation, when such a request reaches Supabase, its connecting address is Cloudflare's shared Worker address, not yours.
- In the following two cases, the app queries Supabase directly: (1) versions released before this change (older than 0.7.0-beta.16), and (2) when a newer version does not receive a proper response from the relay (connection failure, no response within 6 seconds, or an error response — for that single check only). The direct request to Supabase carries no user-count flags (if the earlier relay request was processed and only its response was lost, that request may already have been counted), but the access logs of Supabase (and of the Cloudflare network in front of it) record the IP address, request time and User-Agent. Appcellent can view those logs in the Supabase dashboard for 1 day (the log retention period of Appcellent's current Supabase plan); Appcellent cannot view the logs of the Cloudflare network in front of Supabase. Any data that either company retains on its own is governed by that company's policy, and neither company specifies a fixed period. Appcellent does not use these logs to distinguish users or for statistics.
- Appcellent does not take the position that "an IP address is not personal information". For that reason, the use of IP addresses is limited to the minimum described above, even at the moment of receipt.
2-5. Legal basis
- The update check is a function necessary for the safe use of the app.
- The user count is designed as totals that cannot identify any individual (no device ID, IP address or time of receipt is stored; rare values are grouped; small numbers are hidden). If the IP address and similar data processed in transit are considered personal information, the legal basis is legitimate interest (Korean Personal Information Protection Act, Article 15(1)(6)), having weighed Appcellent's interest (knowing how many people use a free app, in order to continue operating it) against the safeguards for you (totals only, IP address neither stored nor forwarded, excluded regions, and the means of stopping described below).
- This item is disclosed separately from the consent-based detailed statistics (section 3; PIPA Article 22(3)).
- You may stop this item at any time by the means described in 2-6, and Appcellent responds to requests made by e-mail within 10 days. As there is no device ID, numbers already included in a total cannot be attributed to any individual.
2-6. How to stop processing
No on-screen switch is provided, as this item is designed as a minimal signal transmitted together with the update check. Instead, it can be stopped by the following means:
- Environment variable
APPCELLENT_NO_COUNT=1: in Windows Settings › System › About › Advanced system settings › Environment Variables › User variables, add the nameAPPCELLENT_NO_COUNTwith the value1, and then restart the app (on macOS and Linux, set the same variable in the environment from which the app is started). The update check continues to function; only the four items of 2-2 are no longer transmitted. Settings › Connection & info › Usage statistics then indicates that users are not counted on this PC. - Blocking the address: block
t.appcellent.devin the hosts file (e.g.0.0.0.0 t.appcellent.dev) or in a firewall. The count signal then cannot be transmitted. The update check continues by querying Supabase directly (in that case, Supabase's access logs record the IP address, as described in 2-4). Detailed statistics use the same address and are therefore blocked as well. - Request by e-mail: if you write to the address in section 9, Appcellent will explain the above steps within 10 days. As there is no device ID, Appcellent cannot single out one person's numbers on the server to stop or delete them (numbers already included in a total cannot be attributed to any individual).
Regional exclusion is applied in two stages. (1) If any of the PC's region, language or time-zone settings indicates the European Economic Area, the UK or Switzerland (including their territories), if the time zone is a European time zone (even for a country outside the EEA), or if no region can be determined, the app does not transmit the four items of 2-2 (those settings are not transmitted). (2) Because PC settings may differ from the actual location of the PC (e.g. a PC located in Germany that is set to the US), such a PC may transmit the four items. In that case, the relay checks the country of the connection and, if it is one of those regions or an unknown location (including Tor), does not count the request (a response to the update check is still provided).
2-7. Prohibition of matching with other Appcellent services
Appcellent also operates a service with a login function (the server of the game "RPS Adventure" (묵찌빠 원정대)). Appcellent never matches any value of the user count or the update check with that service's records by IP address or time. As the user count stores no IP address, there is no data available for such matching. This rule is set out in Appcellent's internal operating documents.
3. Detailed usage statistics (optional)
3-1. Consent procedure
- On first launch (the step after the welcome window), and once after an update for existing users, the app displays the notice-and-choice window ("Before you start", or "Before you continue" after an update; 「안내·선택」).
- The top section, "Notice" (안내), informs you of the user count (section 2) and the introduction of other apps (section 4). No consent is obtained in that section.
- In the bottom section, "Choice" (선택), you review the content of the detailed statistics (what is and is not transmitted, retention, storage location, processors) and select either "I agree" (동의함) or "I do not agree" (동의하지 않음). Neither option is preselected. The Start (시작하기) / Continue (계속하기) button becomes available only after you make a selection.
- You can use every feature in the same way even if you do not agree.
- Closing the window with ✕ or pressing Esc is recorded as "I do not agree". Once your choice has been saved, you are not asked again (you can change it in Settings at any time). If the choice could not be saved, the app asks once more at the next launch; and if you chose "I agree", the app asks again after an update in which the notice has changed.
- No detailed statistics are transmitted before you make a choice or after you choose "I do not agree". (The anonymous user count of section 2 is transmitted with the update check regardless of this choice.)
- If you consent and later turn detailed statistics off, no further statistics are transmitted; the app sends only a request to delete the data already transmitted (section 3-7).
- On PCs whose region, language or time-zone settings fall under 2-6 (1) (the EEA, the UK, Switzerland, a European time zone, or no region), the window is not displayed and detailed statistics are not collected. Those settings are not transmitted.
- This determination may differ from your actual location. If your PC's settings indicate another country, the window may be displayed and summaries may accumulate on your PC; however, when they are transmitted, the relay (Cloudflare) checks the country of the connection again and discards requests from those regions or from unknown locations (including Tor) without storing them. On receiving that response, the app also deletes the summaries stored on your PC and stops collecting. Thereafter, the app only asks once a day, by an empty request containing no items, whether the server accepts data again.
3-2. Items transmitted
Only numbers and fixed categories are transmitted. Not a single character that you have typed is transmitted.
Daily (one summary line per day)
- A random summary number used only for that day. It changes when the date changes, so the number alone cannot link one day to another. It is used solely to allow several uploads on the same day to overwrite a single line, and to locate that line when you request deletion (3-7)
- The date (day only — no time of day, no time zone)
- App version, release channel (release / preview), OS type, design in use (new / classic), new install or update, and the version of the notice you agreed to
- Counts of events on that day: app launches; new jobs (per route: Codex or Images API); continued and resumed runs; run results (success, partial success, failure, stop, pause, cut off by quitting the app) and runs that were retried; images saved; requested-image ranges (1, 2–4 …); run-time ranges; errors by fixed category; the model used with the Images API; features used (series, slots, image groups, reference images, backgrounds, sizes …); gallery and library actions (export, import, favourites, ratings, notes, collections …); Codex tools (word suggestions, prompt suggestions, prompts created from images, images copied to the clipboard, stop and pause requests, sign-in-expired and image-permission notices); Codex install, "Sign in with ChatGPT" and API-key connection results; clicks on Appcellent links
- Flags computed on your PC: first day of use this week / month, first generation this month, whether you have used the app on two or more days and made an image, and whether "Other Appcellent apps" was on (Appcellent's own test PCs carry a "test device" flag, and their lines are excluded from the totals)
- First-time steps (each recorded once): first use, return 7–13 and 28–34 days after first use, first use of the new design and switching back to the classic design within 7 days and remaining on it for more than 3 days, and — on a new install only — Codex connected (with the method: already connected, logged in now, API key), first job and first image. On a new install, the line for a day on which such a step was passed (first use, Codex, first job, first image, 7/28 days) carries the install month (e.g. 2026-10); if you agreed in the first-run window, Codex, first job and first image also carry a time range such as "1–5 min"
Monthly (one environment line, not linked to the daily lines)
- App version, OS type and the notice version you agreed to; OS major version (e.g. Windows 11, macOS 15; for Linux, the kernel major version), CPU type, install type (installer / portable …), language (e.g. ko), connection type (ChatGPT / API key / not connected), whether Codex can make images, and ranges of screen work-area width, scale and number of monitors
Never transmitted
- Prompts, extra instructions, job titles, tags, notes, images and thumbnails, file names and folder paths, slot / keyword / group names
- Account details (e-mail, account ID, tokens, API keys), subscription plan, raw error messages
- Any identifier that persistently recognises your device (install ID, hardware numbers, PC name), country, exact times
In the app, Settings › Connection & info › Usage statistics › See what is sent (설정 › 연결·정보 › 사용 통계 › 보내는 내용 보기) displays the content to be transmitted: the exact values while statistics are being collected after you have agreed, and example values before that. The statistics server accepts only fixed items and values (for example, the design is either "new" or "classic") and discards anything else before storage.
Possibility of linking lines: Appcellent does not link lines or attempt to identify devices. Although the number changes daily, when very few devices report, values such as the app version, OS and install month, together with the order in which lines arrive, may still suggest that two lines came from the same PC. For that reason, daily raw lines are retained for 30 days only (monthly lines for about 3 months), transmission times are randomly spaced (a closed day, a new day and the monthly line are sent at separate times), and raw lines are never downloaded or matched with other data. Detailed statistics and the user count of section 2 are not matched with each other either (no value links them).
3-3. Purposes of use
- To determine which features and errors to fix, and where users encounter difficulties before their first image.
- To decide whether the new design should become the default.
- To describe the service and to evaluate advertising or sponsorship partnerships using totals that cannot identify any individual. Published figures use only numbers that cover 50 or more devices (any number below 50 is hidden), and since only devices that have consented are counted, the figures are stated as minimums ("at least N").
- Appcellent does not provide or sell per-device records to anyone, and does not use them for targeted advertising.
3-4. Legal basis
The legal basis is your consent (Korean Personal Information Protection Act, Article 15(1)(1)). Although the statistics are designed so that individuals cannot be identified (no device ID, time of receipt or IP address is included in the statistics), Appcellent obtains consent as a precaution. You have the right to refuse consent, and refusing consent entails no disadvantage.
3-5. Entrustment of processing and transfer abroad (also applicable to the user count of section 2)
| Recipient (country) | Entrusted tasks | Location | Contact |
|---|---|---|---|
| Cloudflare, Inc. (USA) | Operates the relay address (t.appcellent.dev): responds to update checks, validates items, limits request rates (per route and app name), determines excluded regions. Appcellent's relay code does not store or forward IP addresses (Cloudflare's own records: 2-4) | Cloudflare data centres near you (worldwide) | privacyquestions@cloudflare.com · 101 Townsend St., San Francisco, CA 94107, USA · Privacy policy |
| Supabase Pte. Ltd. (Singapore) | Operates the database (storage, totals, version information) | Tokyo, Japan (AWS ap-northeast-1) | privacy@supabase.com · 65 Chulia Street #38-02/03, OCBC Centre, Singapore 049513 · Privacy policy |
| Supabase's sub-processors — Amazon Web Services, Inc. (servers and storage), Cloudflare, Inc. (delivery in front of Supabase), Supabase, Inc. (USA, support) and others | Servers, storage, delivery, support | Storage in Tokyo, Japan; other tasks at each company's own locations | Supabase sub-processor list |
- The companies listed in the table above perform only the tasks listed there, on behalf of Appcellent (entrusted processing). Provision to third parties: Appcellent does not provide the information described in section 2 or section 3 to any other company or body, except where Appcellent is required by law to disclose it.
Transfer abroad (in the format of PIPA Article 28-8(2))
| Anonymous user count (section 2) | Detailed statistics (section 3, with consent) | |
|---|---|---|
| Items transferred | The six items of 2-2 (app, OS type, app version, OS major version, date, first-check flags), and connection data such as the IP address that Cloudflare processes while relaying | The number summaries of 3-2 (summary numbers in a deletion request), and the same connection data |
| Countries of transfer | Japan (storage); Singapore (Supabase Pte. Ltd.) and the USA (Cloudflare, Inc. and Supabase's US sub-processors); countries of the relaying Cloudflare data centres | Same |
| Timing and method of transfer | With update checks (the four additional items only on the first check of the day), over the internet (HTTPS) | After consent: from 30 seconds after start-up, then every 3–4 hours (pending summaries 45 minutes to 2 hours apart), and immediately when you turn the statistics off or delete them (deletion request), over the internet (HTTPS) |
| Recipients | Table above | Table above |
| Purpose · retention period | 2-1, 2-3 (25 months). Connection data: 2-4 | 3-3, 3-6. Connection data: 2-4 |
| Method of refusal and its effect | 2-6. The update check and every feature continue to function | "I do not agree", or turn it off in Settings. Every feature continues to function |
Detailed statistics are transferred as described above only after the "Choice" section of the notice-and-choice window (or, when you turn them on in Settings, the explanation below the switch) has informed you of the storage location (Japan) and the processors, and you have consented. As the anonymous user count retains totals only, it is disclosed here without a request for consent, and you may refuse it by the means described in 2-6.
- If Appcellent moves the data to another location, Appcellent will first update this policy and stop the current server from accepting data. An app that receives that response stops transmitting, and asks for consent again in an update that contains the new notice. The app transmits the storage location to which you consented together with each detailed summary, and the server does not store any summary whose location differs from the current one; accordingly, only PCs that have consented to the new notice add data at the new location.
3-6. Retention period
- Daily summary lines: 30 days
- Monthly environment lines: about 3 months
- Totals (device counts and summed counts by date, version and design): 25 months. Totals contain no summary numbers. When raw lines are deleted (30 days), total rows covering fewer than 50 devices are merged into one row without version or OS; if that row still covers fewer than 50 devices, its detailed counts are deleted and only the device count and the per-flag and per-step device counts are retained.
- Server access logs (IP address, etc.): Appcellent's relay records nothing. In Appcellent's accounts, Cloudflare's security analytics display sampled records for the last 31 days, and Supabase's API and database logs are visible for 1 day (2-4). Any data that each company retains on its own is governed by that company's own policy.
- Destruction: lines that have passed their retention period are deleted every night (03:20 Korean time) by a scheduled job in the database. The records exist only in the database, and raw lines are not downloaded or kept elsewhere (section 8). The records on your PC are deleted by turning off or deleting as described in 3-7, and by deleting the app's data folder as described below.
- On your PC (
telemetry.json): the summary for today that is being compiled and summaries not yet transmitted (up to 14 days), this month's environment line (or last month's, if not yet transmitted), the list of summary numbers transmitted or attempted (the last 31 days and 3 monthly lines, used for "Delete my statistics"), numbers for which a deletion request has not yet been sent (up to 31 days), your choice (value, where you made it, date, notice version, storage location), the dates used to compile the summaries (first day of use, last day of use, number of days of use, the first day of use this week and this month, new install or update and the install month, the steps already passed, the days on which you switched design), the status reported by the server (paused, off, location moved), and the day on which the notice-and-choice window was first displayed on this PC (written even before you make a choice and retained when you turn statistics off or delete them — used solely so that the user count starts only after you have been informed of it; never transmitted). Only dates are recorded, not times. Expired records are cleaned up while the app is running. - The two files on your PC (
telemetry.jsonand theusage-count.jsonof 2-2) are located in the app's data folder (Windows:%APPDATA%\코덱스 이미지 생성기; macOS: the folder of the same name in~/Library/Application Support). Uninstalling the app does not remove this folder. To remove the files, delete the folder (as it may also contain your job records and generated images, move those first).
3-7. Withdrawal of consent and deletion
- Turn off: switch off "Send detailed usage statistics" (상세 사용 통계 보내기) in Settings › Connection & info › Usage statistics and press Save (저장). Transmission stops immediately, the summaries stored on your PC are discarded, and the app requests the server to delete the data that this PC has transmitted (including uploads that were interrupted). If there is no internet connection, the app retries later and stops retrying after 31 days (by then, the daily raw lines have already been deleted, and any remaining monthly raw lines are deleted from the server after about 3 months).
- Delete: "Delete my statistics" (내 통계 기록 지우기) in the same place immediately deletes from the server the daily lines that this PC has transmitted (the last 30 days still held by the server) and its recent monthly lines (up to 3). If there is no internet connection or the server cannot process the request, the app notifies you that the deletion failed, and you may press the button again. After deletion, detailed statistics remain on and restart with a new number.
- A deletion request carries this PC's recent summary numbers together, up to 40 per request (only the app name and the numbers); accordingly, at that moment the relay and the database can see that these numbers came from a single PC. For both turning off and deleting, if an upload was interrupted it may still arrive late, so the app repeats the request once more on the following day with those numbers. The relay does not record request contents, and the database retains only the number of lines deleted. The database's statement logging is configured to record schema changes only, so the numbers in a request that was processed normally do not appear in its logs.
- In an app version that does not yet transmit data (a "not ready" build), the app notifies you that server records cannot be deleted. The app retains the numbers on this PC, so after updating to a version that transmits data you can press the button again to delete them (if you turned statistics off in the meantime, the transmitting version requests the deletion automatically).
- As there is no login, Appcellent cannot determine from an e-mail which records are yours; deletion is therefore performed through the button in the app. If you write to Appcellent, Appcellent will explain where the button is located.
- Numbers already merged into totals cannot be deleted separately, because no one can determine whose they are. Totals for the last 15 days are recalculated from raw lines every night, so deleted lines are removed from them; older totals continue to include them.
3-8. Processing of connection data (IP addresses)
- Appcellent's statistics records do not store IP addresses or the time at which a line was received.
- Detailed statistics pass through the same relay as described in 2-4. The relay does not read, store, hash or forward the IP address, and uses the country of the connection solely to discard requests from excluded regions. Rate limits are counted per route and app name, not per address.
- The data that Cloudflare processes to provide and protect its service, and the sampled security-analytics records visible in Appcellent's account (last 31 days), are as described in 2-4. Appcellent does not use such records for statistics or to link devices.
4. Introduction of other Appcellent apps
- The app's start card and the "MADE BY Appcellent" popover introduce other apps made by Appcellent (Makta, CopyEasy, Tarae, RPS Adventure) and the Community chat (KakaoTalk · Korean). They contain no third-party advertisements, no paid placements and no recommendations tailored to individual users (the app of the day is selected by date alone and is therefore the same on every PC). The list is built into the app; nothing is downloaded to display it. The start card shows the introduction at most once a day, and does not show it on your first day of use or at a launch at which the first-run welcome or the notice-and-choice window is displayed.
- The top "Notice" section of the window displayed on first launch and once after an update informs you of this introduction and of where to turn it off. On PCs where that window is not displayed (the regions of 3-1), this policy and the description of the switch in Settings › Display provide this information.
- Turn off: Settings › Display › "Other Appcellent apps" (앱설런트의 다른 앱 소개), then Save. The start card, recommendation and list are no longer shown; "MADE BY Appcellent", the Appcellent website, the Community chat (KakaoTalk · Korean), the version and this app's download page remain. This setting is independent of the statistics choice.
- A link opens the store or the Appcellent website in your browser. The app opens the same fixed address for every user who uses the same screen language (this app's download page opens in Korean or English to match the screens) and adds nothing that could recognise you or your PC. While you use that site, that site's policy applies.
- Link clicks are counted only on PCs that have consented to detailed statistics, as daily counts per app and destination. No record is kept of who viewed or clicked what.
- The app displays no third-party advertisements; it only introduces apps made by Appcellent. This is disclosed in the "Notice" section as described above and in this policy, and you may turn it off at any time in Settings › Display. To remove the app, uninstall Codex Image Generator in Windows Settings › Apps › Installed apps (or from the Applications folder on macOS); for the portable version, delete its file. The app's data folder is removed separately, as described in 3-6.
5. Information stored only on the PC
Job records, generated images, references, the prompt library, settings, run logs and design-switch feedback (ui-feedback.jsonl) are stored on your PC and are not transmitted to Appcellent. The user-count file (usage-count.json, the day, week and month on which the four items were last sent) is never transmitted. The statistics file (telemetry.json) is also stored on your PC, but the number summaries it holds are transmitted as described in section 3 if you have consented, and its list of transmitted summary numbers is transmitted only in a deletion request. Your choice itself is not transmitted. The day on which the start card was first displayed and the last day on which it carried an app introduction (dates only) are also stored on your PC and are not transmitted. "Send feedback… › Copy feedback" (의견 보내기 › 의견 복사) only copies text to your clipboard; whether to send it is up to you. On the English screens, the Send feedback window also shows the e-mail address support@appcellent.dev next to the Community chat (KakaoTalk · Korean); a message that you send to that address is handled as described in section 9. Your ChatGPT login and OpenAI API key are stored by Codex in the .codex folder in your home folder (or in the location to which CODEX_HOME points); the app only reads them for generation and never transmits them to Appcellent. That folder is separate from the app's data folder, so deleting the app's data folder does not remove it.
Installation, operation and refusal of automatic collection devices (PIPA Article 30(1)(7)): the app does not use cookies, web beacons or an advertising ID. The only data that the app transmits to Appcellent on its own are the update check and anonymous user count of section 2 (method of refusal: 2-6) and, if you have consented, the detailed usage statistics of section 3 (method of refusal: 3-7). The PC files described above are records kept for those purposes, and you may delete them as described in 3-6.
6. Children under 14
The app is intended for persons aged 14 and over. Appcellent does not ask for or verify the age of any user. If you are under 14, please select "I do not agree" for detailed statistics. A parent or guardian may switch off "Send detailed usage statistics" in Settings › Connection & info › Usage statistics and press Save; the app then also requests the server to delete the data already transmitted (3-7). If you write to Appcellent, Appcellent will explain how to do so. The user count of section 2 is an anonymous total and does not distinguish by age.
7. Rights of users and how to exercise them
You may exercise the following rights at any time, either directly in the app or by writing to Appcellent (Appcellent responds within 10 days):
- Access (viewing what is sent): Settings › Connection & info › Usage statistics › See what is sent (detailed statistics), and "Details" (자세히) under "Notice · Anonymous user count" (안내 · 익명 사용자 수) in the same place (on a PC that is counted, the actual request that the next update check will send; otherwise an example — 2-2)
- Deletion: "Delete my statistics" (detailed statistics). As the user count holds only totals, there is no per-person record to delete
- Suspension of processing and withdrawal of consent: switch detailed statistics off and press Save (turning them off is always possible, even if your region settings have changed since you consented); for the user count, the means described in 2-6
- Correction: both are numbers that the app generates automatically from fixed values, so there is nothing for you to correct; if you believe that something is incorrect, you may delete it or stop the transmission
A legal representative or a person authorised by you may make these requests in the same ways (section 6). If Appcellent is unable to comply with a request (for example, a request concerning totals that cannot be attributed to any individual), Appcellent will inform you of the reason.
8. Security measures
- The statistics database is located in a separate area that is not exposed to the internet; from outside, only three functions ("add a detailed summary", "delete my records", "add one to the user count") can be called, each only with a secret added by Appcellent's relay and each accepting fixed items only.
- Administrator accounts use two-step verification; administrator keys are never placed in the app or the code repository; raw summaries are not downloaded to personal computers.
9. Privacy officer and contact
- Privacy officer: Appcellent privacy team (개인정보 보호 담당) · support@appcellent.dev
- Please send privacy-related inquiries and requests to the same address. Appcellent responds within 10 days.
- When you write to Appcellent, your e-mail address and message are used solely to respond to you, and are deleted one year after the matter is closed.
- E-mail sent to that address passes through Cloudflare Email Routing (Cloudflare, Inc., USA) and is stored in Google Gmail (Google LLC, USA). Both companies only forward and store the e-mail on behalf of Appcellent (processors).
- Transfer abroad: the items transferred are your e-mail address, your name if the message contains it, the message and any attachments; the countries of transfer are the USA and the other countries in which those companies operate data centres; the transfer takes place over the internet when you send the message; the recipients are Cloudflare, Inc. (privacyquestions@cloudflare.com) and Google LLC (1600 Amphitheatre Parkway, Mountain View, CA 94043, USA · Privacy Policy); the purpose and retention period are as described above (one year after the matter is closed). If you do not write to Appcellent, no data is transferred, and every feature of the app functions in the same way.
- Community chat (KakaoTalk · Korean): https://open.kakao.com/o/gi5Qi0Ai (please send privacy-related requests by e-mail)
You may also report a privacy infringement to, or seek advice from, the following Korean bodies:
- KISA Privacy Infringement Report Center (privacy.kisa.or.kr / 118 in Korea)
- Personal Information Dispute Mediation Committee (kopico.go.kr / 1833-6972)
- Supreme Prosecutors' Office, Cyber Investigation Division (spo.go.kr / 1301 in Korea)
- Korean National Police Agency, Cyber Bureau (ecrm.police.go.kr / 182 in Korea)
10. Changes to this policy
- Appcellent announces changes, together with their effective date, on this page at least 7 days before they take effect. The dates and contents of changes, and earlier versions of this policy, remain available on this page.
- If the items, purposes or storage location of detailed statistics change, the app stops transmitting and asks for consent again in an update that contains the new notice (the notice version changes). If an item is ever added to the user count, Appcellent will first update the app's "Notice" and this policy.
| Version | Effective date | Changes |
|---|---|---|
| 1 | 2026-10-16 | First publication (update check and anonymous user count, detailed usage statistics, introduction of other Appcellent apps) |
| 1.1 | 2026-10-18 | Wording only — what is processed has not changed, and the processing described in this policy has been in effect since 2026-10-16 (version 1). The English version names menus, buttons and features as they appear on the English screens (available from version 0.8.0); section 4 states that this app's download page opens in Korean or English to match the screens; section 5 names the e-mail address that the Send feedback window shows on the English screens |