Hanjjok Privacy Policy
First Published: May 29, 2026 · This Revision Published: October 22, 2026
CodeSand Co., Ltd. (the "Company") treats the personal information of users of Hanjjok (the "Service") with care and complies with the Personal Information Protection Act of Korea and other applicable laws. This policy has been written so that users can see what information the Company handles, when, where it is sent, what it is used for, and when it is deleted.
The Service is used with no sign-up and no sign-in. The Company operates no server that stores user data, and the contents, file names, and storage paths of the documents a user opens with the Service do not leave the device. Rendering a document on screen, converting it to PDF or images, printing it, and extracting text all take place inside the user's device. The single exception is a file a user selects and attaches themselves when sending an inquiry, which is dealt with separately in Section 1. In this policy, "user" means any person who uses the Service (the same as in Section 1 of the Terms of Service).
1. Personal Information Collected
Common to all items: the information below is transmitted over the network at the moment a user uses the relevant feature or an error occurs. The Company does not collect the contents, file names, or storage paths of the documents a user opens, the output they convert or extract, names, contact details, account information, precise location (GPS), contacts, call or message logs, health information, payment-method information such as credit card numbers, or unique identifying information such as resident registration numbers. The app does not request location, contacts, microphone, or camera permissions. Photo access permission is requested only where the operating system requires it when a user chooses to save converted output to the Photos app, and the Company does not read or transmit a user's photos.
Coarse locationCountry, region, and city level
- Items
- (1) the country, region, and city inferred from the connecting IP address when an error report is transmitted (2) the language, region, and time zone values set on the device (3) the country and region estimated from the connecting IP address in the course of advertising and statistical processing
- When
- (1) (2) when an error occurs (3) when an ad is displayed, and when a statistics event is transmitted
- Sent to / kept by
- (1) (2) Functional Software, Inc. (Sentry, EU region in Germany) (3) Google LLC (United States)
- Purpose
- Checking whether errors cluster in a particular region or network environment, usage statistics by country, advertising delivery
The app does not request location permission and does not collect precise location such as GPS, or movement history. Error reports do not store the IP address itself; only the country, region, and city inferred from the IP address are recorded.
Device IDNot linked to identity
- Items
- (1) the Android advertising identifier (AAID) (2) the app instance identifier that the statistics and remote configuration tools issue automatically for each installation (3) a per-installation random identifier assigned to error reports, for native crashes only
- When
- (1) when an ad is displayed (Android) (2) when the app is launched (3) when a crash is reported
- Sent to / kept by
- (1) (2) Google LLC (United States) (3) Functional Software, Inc. (Sentry)
- Purpose
- Delivering advertising and controlling how often it is shown, preventing double counting when compiling statistics, measuring the scope of impact of errors
On iOS the Company does not request App Tracking Transparency (ATT) consent, and therefore does not collect or use the advertising identifier (IDFA). On Android you can delete or reset your advertising ID under Settings > Google > Ads. The identifiers above are not linked to a user's identity information such as an account, name, or contact details, and are not device serial numbers.
Product interactionAll users · cannot be turned off
- Items
- Three events the Company records itself — app launch (
app_launch), PDF or image export (pdf_export), and printing (print_document). Together with these, the baseline events the statistics tool collects automatically (first open, session start, app update, and the like) and the basic information attached to them (device model, OS version, app version, device language and country settings) - When
- When the app is launched, and when the relevant feature is used
- Sent to / kept by
- Google LLC (Firebase Analytics, United States)
- Purpose
- Improving the Service, analyzing usage statistics
The events do not include the name or contents of any document a user opened. Automatic reporting of screen transitions (screen_view) has been disabled in the app to prevent document titles from leaking out as screen names. Collection of this item cannot currently be turned off inside the app. If you do not wish it to be collected, please stop using the app and delete it.
Advertising dataOnly when an ad is shown
- Items
- Information the advertising SDK records on its own, such as ad impressions and clicks, together with the device information needed for ad delivery and frequency control (model, OS version, and the like) and the connecting IP address
- When
- When an ad is displayed
- Sent to / kept by
- Google LLC (AdMob, United States)
- Purpose
- Delivering advertising, controlling how often it is shown, compiling advertising performance
Advertising is displayed only at the moment output is received — PDF or image export, printing, sharing, and the like — and in rewarded ads that a user chooses to watch on the settings screen. It is not displayed when the app is launched or while a document is being viewed. If you purchase the ad-removal product, no advertising is displayed and this item is therefore not collected either. Further details are set out in Section 7.
Crash dataOnly when an error occurs
- Items
- The type, message, and stack trace of the error, the time it occurred, the app version and build number and release identifier, the runtime environment, the device manufacturer, model, OS version, screen resolution, available memory and storage, and battery state (the device name is excluded), language, region, and time zone settings, a record of the app's actions immediately before the error (up to 30 entries), and tags indicating the screen and action where the error occurred
- When
- Transmitted only when an error occurs in an app distributed through a store. Ordinary usage history is not transmitted.
- Sent to / kept by
- Functional Software, Inc. (Sentry, EU region in Germany)
- Purpose
- Securing the stability of the Service, analyzing the causes of errors
Users' documents are not included in error diagnostic information. Screen captures and view-hierarchy information are not collected, the device name (for example "Someone's iPhone") is removed, and performance data tracking the app's speed and session records are not collected. Immediately before transmission, file paths, file names, addresses (URIs), and Korean-language strings are automatically masked throughout the error message and the entire action record, leaving only the file extension.
Other diagnostic dataOnly when an error occurs
- Items
- Errors the app caught and explained on screen (errors that did not lead to a crash), and failures returned by the document processing engine — the error code the engine returned and the document's file extension (for example hwp, hwpx). The environment information carried with these is the same as for "Crash data" above.
- When
- Only when the relevant error occurs in an app distributed through a store
- Sent to / kept by
- Functional Software, Inc. (Sentry, EU region in Germany)
- Purpose
- Identifying which formats and which actions failures cluster around, improving document rendering accuracy
Only the file extension is retained; file names and storage paths are not included. The document processing engine's error messages are often in Korean, and Korean-language strings are erased with only their length retained, so even if a document's title or body text is mixed into a message it is not transmitted.
Inquiry content, email address, and attached filesOnly when a user sends an inquiry
- Items
- The inquiry type, title, and inquiry content the user entered, an email address for a reply (optional), files the user selected and attached themselves (optional, up to 3 files of 10MB each), the app version and build number, the operating system and its version, the device model identifier, and the language and region settings. For inquiries sent by email, the sender's email address, the subject and body of the email, and any attached files
- When
- When the user writes a bug report, feature request, or other inquiry under Settings → Feedback in the app and taps send, or sends an inquiry email to the email address in Section 11
- Sent to / kept by
- Email inquiry — the email is received by Mailgun (United States) and forwarded to the Company's mailbox system (server in Seoul, Republic of Korea), where it is kept (Sections 5 and 6). Inquiries sent through Contact us in the app are received directly by the Company's server (Seoul, Republic of Korea). Reply emails from the Company are sent through Mailgun (United States).
- Purpose
- Replying to the inquiry, reproducing and handling the problem
The attachment list always starts out empty, and only files the user selects themselves on screen are transmitted. A document a user has open is never attached by itself. However, if a user chooses to attach a document, that document is delivered to the Company as it is, so please think carefully before attaching a document containing sensitive content. Advertising identifiers, unique device identifiers, location information, and the list of documents a user has opened are not transmitted.
Because the Service has no accounts, the only means by which the Company can contact a user is the email address the user provides. The email address is an optional item; an inquiry is received even without it, but you will not be able to receive a reply.
Copies of the documents a user brings into the app, first-page preview thumbnails, converted or extracted output, the app's settings values, and whether the ad-removal product has been purchased are all processed only inside the device and are not transmitted to the Company's servers. The only exception is a file a user attaches to an inquiry themselves, which is dealt with in the card above. The Company operates no server that stores users' documents.
2. Purpose of Use of Personal Information
The Company uses the personal information it collects only for the following purposes, and if a purpose changes it will give notice in advance and obtain any necessary consent.
- Providing the Service — viewing HWP, HWPX, and PDF documents, exporting to PDF or images, printing, extracting text
- Delivering advertising and controlling how often it is shown
- Providing the Paid Product (ad removal) and restoring purchases
- Improving the Service and analyzing usage statistics
- Securing the stability of the Service and analyzing errors
- Responding to customer inquiries and handling disputes
- Preventing improper use and securing the Service
The Company does not view or analyze the contents of the documents a user opens with the Service, and does not use them for any purpose. Only a document a user attaches to an inquiry themselves is delivered to the Company as an exception, and even then it is used solely for the purpose of reviewing and answering the inquiry.
3. Retention and Use Period, and Destruction
a. Information that remains only on the device
The following information exists only inside the user's device and is not transmitted to the Company's servers. Because the Company does not hold it, there is nothing for the Company to destroy, and users can delete it themselves.
- Copies of the documents brought into the app
- First-page preview thumbnails
- Temporary files created in the course of conversion or export
- The app's settings values
- Whether the ad-removal product has been purchased, and the expiry time of the period during which advertising is turned off following a rewarded ad
- The launch and usage counts used to decide when to ask for an app review
They can be deleted as follows.
- An individual document — selecting Delete from the
⋮ menu in the home screen list immediately removes the document copy and its thumbnail together. - Everything — deleting the app from the device removes all of the above information together.
A document brought into the app is a copy of the original (Section 4 e. of the Terms of Service). Deleting it from the app does not affect the original file in another app or elsewhere on the device, and conversely the Company cannot recover a copy lost through deletion of the app.
b. Items with a defined period
- Error diagnostic information (crash data and other diagnostic data) — destroyed 30 days after collection.
c. Items subject to a processor's policy
- Statistics events and advertising processing records — kept for a certain period in accordance with each processor's retention policy and then deleted, and destroyed when the outsourcing agreement ends.
- Mailgun's processing records of inquiry emails — The message body is not stored with Mailgun but only in the Company's mailbox (server in Seoul, Republic of Korea). Processing records (sender and recipient addresses, subject, time, and processing result) may remain with Mailgun for up to 30 days under Mailgun's retention policy. Inquiries in the Company's mailbox follow the period in d. below.
d. Items kept as required by law
- Records concerning consumer complaints or dispute handling (including the inquiry content, attached files, and reply email address received through an in-app inquiry or by email) — 3 years (Act on the Consumer Protection in Electronic Commerce, etc. of Korea)
- Other information that applicable laws require to be kept — for the period those laws prescribe
Payment and refund records for Paid Products are kept by the Apple App Store and Google Play as the sellers of record, in accordance with their own policies and applicable laws, and the Company does not hold them.
e. Method of destruction
Information in electronic file form is permanently deleted by a method that makes recovery or reconstruction impossible.
4. Provision of Personal Information to Third Parties
The Company does not provide users' personal information to third parties. The Company does not sell personal information or hand it over to advertisers. The following cases are exceptions.
- Where the user has consented in advance
- Where there is a provision in applicable laws, or where an investigative authority makes a request for investigative purposes in accordance with the procedures and methods prescribed by law
Sending a PDF or image a user converted, or text they extracted, to another app or to a counterparty using the sharing feature is a transfer made at the user's own choice, not provision to a third party by the Company. The Company is not involved in that process and does not know what was sent. Companies entrusted with processing in order to provide the Service are not third-party recipients but processors, and are dealt with in Section 5.
5. Outsourcing of Personal Information Processing
The Company outsources the processing of personal information to the following companies in order to provide the Service. The Company requires the safe management of personal information through its outsourcing agreements, and will disclose any change of processor or of the scope of outsourced work through this policy.
- Outsourced work
- Delivery of AdMob advertising, analysis of app usage statistics, remote app configuration, management of advertising consent for users in the European Economic Area and the United Kingdom (User Messaging Platform), processing of Google Play in-app purchases and app review requests
- Processing location
- United States
Functional Software, Inc. (Sentry)Privacy Policy ↗ - Outsourced work
- Collection and analysis of error diagnostic information
- Processing location
- Germany (Sentry EU region)
Mailgun Technologies, Inc.Privacy Policy ↗ - Outsourced work
- Receiving and forwarding inquiry emails, and sending reply emails
- Processing location
- United States
The Constant Company, LLC (Vultr)
- Outsourced work
- operation of the Company's web service servers that receive in-app inquiries and inquiry emails (Seoul region, Republic of Korea)
- Processing location
- Republic of Korea (Seoul region) — this is not an overseas transfer
- Outsourced work
- Processing of App Store in-app purchases, app review requests
- Processing location
- United States
The sellers of record for Paid Products are the Apple App Store and Google Play, which process payments in accordance with their own terms and privacy policies. The Company does not collect or store payment-method information. Detailed transfer records for companies whose processing location is outside Korea are set out in Section 6.
6. Overseas Transfer of Personal Information
In the course of providing the Service, the Company transfers personal information abroad as follows. These transfers constitute outsourced processing and storage for the conclusion and performance of a contract with the data subject under Article 28-8(1)3 of the Personal Information Protection Act of Korea, and disclosure of the following matters through this policy serves as the related notice.
Time and method of transfer (common to the companies below): transmitted over the network from time to time as the user uses the relevant feature. Error diagnostic information, however, is transmitted only when an error occurs. Each company's contact details can be found via the privacy policy link on its card.
- Destination country
- United States
- Items transferred
- The Android advertising identifier (AAID), the app instance identifier, app usage events and the device information attached to them (model, OS version, app version, device language and country settings), the connecting IP address and the country and region estimated from it, ad impression and click records, and whether users in the European Economic Area and the United Kingdom consented to advertising
- Purpose
- Delivery of AdMob advertising, analysis of usage statistics, remote app configuration, management of advertising consent, processing of Google Play payments
- Retention period
- Until the outsourcing agreement ends or the purpose of use is achieved
Functional Software, Inc. (Sentry)Privacy Policy ↗ - Destination country
- Germany (Sentry EU region). The recipient is a United States corporation.
- Items transferred
- The items listed under "Crash data" and "Other diagnostic data" in Section 1 (including the country, region, and city inferred from the connecting IP address and the per-installation random identifier)
- Purpose
- Securing the stability of the Service and analyzing errors
- Retention period
- 30 days after collection
Mailgun Technologies, Inc.Privacy Policy ↗ - Recipient
- Mailgun Technologies, Inc. (United States, Data Protection Officer contact: dpo@sinch.com)
- Destination country
- United States
- Time and method of transfer
- Transmitted over the network when a user sends an inquiry email or the Company sends a reply
- Items transferred
- Email address, email subject and body, attached files
- Purpose of transfer
- Receiving and forwarding inquiry emails, and sending replies
- Retention and use period
- The message body is not stored with Mailgun but only in the Company's mailbox (server in Seoul, Republic of Korea). Processing records (sender and recipient addresses, subject, time, and processing result) may remain with Mailgun for up to 30 days under Mailgun's retention policy. Inquiries in the Company's mailbox follow the inquiry retention period in this policy (Section 3 d.)
- How to refuse, and consequences
- If you do not wish your information to be transferred abroad, you may use the in-app inquiry (Settings → Feedback) instead of email. Email inquiries cannot be handled without this transfer
- Destination country
- United States
- Items transferred
- The information required to process App Store payments — the Company neither collects nor stores it, and Apple processes it directly.
- Purpose
- Processing of App Store payments, app review requests
- Retention period
- Until the outsourcing agreement ends or the purpose of use is achieved
A user who does not wish their personal information to be transferred abroad may express their refusal to the Data Protection Officer named in Section 11. Because the core features of the Service — viewing, converting, printing, and extracting text from documents — all take place inside the device, refusing overseas transfer does not affect the use of those features. However, a feature for turning advertising and statistics collection off individually inside the app is not currently provided, and purchasing the ad-removal product stops advertising-related transmissions. In regions where consent is required, such as the European Economic Area and the United Kingdom, advertising consent can be withdrawn by the method set out in Section 7.
7. Advertising Identifiers and Personalized Advertising
In order to keep the Service available at no charge, the Service displays Google AdMob advertising to users who have not purchased the ad-removal product. Advertising is limited to the following two cases, and is not displayed when the app is launched or while a document is being viewed.
- Interstitial ads — at the moment output is received, such as PDF or image export, printing, or sharing
- Rewarded ads — only where a user chooses to watch one on the settings screen; once viewing is complete, no advertising is displayed for 24 hours
For ad delivery and frequency control, the advertising SDK collects device information (model, OS version, and the like) and coarse location based on the IP address on its own. The handling of advertising identifiers differs by operating system.
- iOS — the Company does not request App Tracking Transparency (ATT) consent and therefore does not collect or use the advertising identifier (IDFA). Advertising performance is compiled only through the non-identifying method Apple provides (SKAdNetwork). If ATT is introduced in the future, consent will be obtained in advance.
- Android — the advertising SDK may use the advertising identifier (AAID) to personalize advertising. Users can delete their advertising ID or opt out of personalized advertising under Settings > Google > Ads.
Consent for users in the European Economic Area (EEA) and the United Kingdom
For users in the European Economic Area, the United Kingdom, and Switzerland, a consent dialog is shown before any advertising is displayed to confirm whether they consent to personalized advertising and to the use of device information for advertising purposes. Consent is collected and stored through Google's User Messaging Platform (UMP), and the Company does not store the consent record separately.
The consent dialog appears once at the moment advertising is actually displayed, not when the app is launched. It does not interfere with opening a document.
All features of the app remain fully available regardless of whether you consent. If you do not consent, non-personalized advertising is displayed instead of personalized advertising.
You can change your choice at any time — reopen the consent dialog under Settings > Ad consent settings in the app to change or withdraw it. This item is shown only in regions where consent is required.
The handling of advertising-related data follows the Google Privacy Policy.
8. User Rights and How to Exercise Them
Users may exercise the following rights at any time.
- Requesting access to their personal information
- Requesting correction where there is an error
- Requesting deletion
- Requesting suspension of processing
- Withdrawing consent
They may be exercised in the following ways.
- Directly in the app — document copies and thumbnails can be deleted from the home screen list, and deleting the app from the device removes all data inside the device (Section 3 a.). Advertising consent can be changed or withdrawn under Settings → Ad consent settings (in the applicable regions only), and purchasing the ad-removal product stops the transmission of advertising-related information.
- By email — make a request to the Data Protection Officer named in Section 11 and we will verify it, act without delay, and reply with the result.
Because the Service does not operate accounts, the Company holds no personal information file that identifies and stores information about a particular user, and to that extent there is nothing to access or correct. However, if you have sent an in-app inquiry you may request access to or deletion of that inquiry content and its attached files, and you may request that collection of error diagnostic information be stopped.
The legal representative of a child under 14 may exercise the above rights on the child's behalf. Where the Company receives a request for access, correction, deletion, or suspension of processing and there is a legitimate ground under applicable laws for restricting that request, it will inform the requester of that ground.
9. Measures to Secure Personal Information
The Company implements the following measures.
- No server holding user data — no Company server storing documents or settings exists, so there is no room for users' documents to be leaked through a server breach.
- Stored only in app-private storage — document copies, thumbnails, and settings are kept in app-private storage, which the operating system blocks other apps from accessing.
- Documents move only inside the device — internal delivery for rendering a document on screen uses only local communication that connects to the device itself (127.0.0.1), and documents do not travel to external networks.
- Encryption in transit — all communication with the outside, such as advertising, remote configuration, and error reports, is encrypted with TLS.
- Triple masking of error diagnostic information — (1) collection items that could carry document content, such as screenshots, view-hierarchy information, app logs, and system events, are switched off entirely; (2) file paths, file names, addresses (URIs), Korean-language strings, and large encoded strings are replaced with placeholders; and (3) the same rules are applied again to every text field of the event immediately before transmission.
- Automated tests that fail if the masking breaks — tests that check whether any document path or Korean text remains anywhere in an event about to be transmitted are in place, so that if a code change defeats the masking above it becomes apparent immediately.
- Remote shutoff of error collection — the Company can stop the collection of error diagnostic information immediately without an app update.
- No handling of passwords — there is no account system, so no procedure for collecting or storing passwords exists at all.
- No handling of payment-method information — payments are processed by the app markets, and the Company's systems do not handle payment-method information.
10. Personal Information of Children under 14
The Service is not a service directed primarily at children. Because the Company has no sign-up procedure, it does not collect or verify users' ages, and it does not intentionally collect the personal information of children under 14.
If the Company becomes aware that the personal information of a child under 14 has been collected, it destroys that information without delay. A legal representative may request verification and destruction through the contact details in Section 11, and the Company will act without delay and reply with the result.
11. Data Protection Officer and Remedies for Infringement of Rights
The Company has designated a Data Protection Officer, and users' inquiries, complaints, requests for remedy, and access requests concerning the processing of personal information are handled by the department below.
- Department: Privacy Team, CodeSand Co., Ltd.
- Email: hanjjok@reply.codesand.co.kr
- In-app inquiry: Settings → Feedback
- Hours: Weekdays 10:00–18:00 (KST, excluding public holidays)
Users may apply to the following bodies for dispute resolution or counseling to obtain remedies for infringement of their personal information rights.
- Personal Information Dispute Mediation Committee — +82-1833-6972 (kopico.go.kr)
- Personal Information Infringement Report Center — 118 in Korea (privacy.kisa.or.kr)
- Supreme Prosecutors' Office — 1301 in Korea (spo.go.kr)
- National Police Agency Cyber Investigation Bureau — 182 in Korea (ecrm.police.go.kr)
12. Changes to This Policy
Effective Date: October 22, 2026 (originally effective May 29, 2026)
The contents of this policy may be added to, deleted, or amended in line with changes in laws, policies, or the Service, and where it is changed the reasons and the effective date will be stated and posted on the Service website.
© 2026 CodeSand Co., Ltd. Business Registration No. 368-87-03020.