What Garimi Can Detect
Garimi combines regular expressions and checksum validation with contextual cues — Korean labels and titles, and for English text, labels or legal-suffix cues — to find sensitive-information candidates.
Automatic detection is a suggestion that helps your decision,
not a guarantee that everything will be found. The final check is yours to make.
The same detection runs on images and PDF files.
Format-based detection
Finds candidates based on a fixed pattern.
Auto-selected.
Can be mistaken for order numbers, so review is recommended.
A plain hyphenated digit string like 123-456-7890 is deliberately not matched — it can't be told apart from an order or part number. Auto-selected when the format matches.
Auto-selected.
Even a private IP can be sensitive, so it's auto-selected.
* All examples are synthetic data unconnected to any real person or organization.
Format + validation detection
Pattern matching followed by a checksum or similar check.
Korean RRN / foreigner-registration shape
Adds a birth-date and gender/century-digit check on top of the 6-7 digit structure. Auto-selected when it checks out,
shown as a candidate when it doesn't.
Korean business registration number
Applies the official checksum to the 3-2-5 digit format.
Card number shape
Applies the Luhn checksum to 13-19 digit numbers.
Passing the checksum shows the shape is valid — it doesn't prove it's a real card.
US Social Security Number (SSN)
Applies SSA area/group/serial range rules to the 3-2-4 digit format.
Auto-selected when the ranges check out.
IBAN (international bank account number)
Applies the international mod-97 checksum.
Auto-selected when it passes, regardless of spacing in how it's written.
Passing validation means the structure is well-formed — it doesn't certify that it's real information.
Context-candidate detection
Inferred from titles, labels and legal-suffix cues,
and always presented as a candidate, never auto-confirmed.
Name
An English name is found only next to a label ("Name:", "Attn:", "Contact:", "Dear ", "Prepared by:") or a title ("Mr.", "Ms.", "Dr.") — a plain sentence with no label, like "Alex Hong presented the roadmap," is not flagged.
Korean prose is read more broadly by comparing it against titles, honorifics and label context. Either way it's shown as a candidate, never auto-confirmed, since it can be confused with an ordinary noun.
"Attn: Alex Hong, please review the attached contract."
Company, address & project
A company name needs a legal suffix ("Inc.", "Ltd.", "Corp.", "LLC" and similar) or a Korean corporate prefix ("주식회사", "㈜") — plain company names with neither are not matched. Addresses are inferred from Korean administrative-district and road-name patterns; there is no equivalent English address rule yet.
"This agreement is between the client and Garim Trading Inc."
Also candidate-only, and label-gated
- Customer name — found only after a "Client:" or "Customer:" label, same as company names.
- Amount — a dollar amount needs a "$" sign or a "USD" prefix ("$33,000", "USD 1,234"); Korean amounts are read from won-unit words ("만원", "억원").
- Date — calendar-validated numeric or Korean-worded dates.
- Passport number — matched only right after a "Passport" / "Passport No." label. There's no universal passport checksum, so a label-free alphanumeric string can't be told apart from an order or inventory code — it is always a candidate, never auto-confirmed.
- Driver's licence number — same rule as passport numbers: label required, always a candidate.
Known limitations
- An English name or company with no label and no legal suffix — ordinary prose like "Earlier today Alex Hong presented the roadmap" — is not detected at all. This is a deliberate design choice to avoid flagging every capitalized two-word phrase as a name; it means plain, label-free English text needs a closer manual read.
- A discourse phrase at the start of a sentence, followed by a comma and a legal suffix on the same line ("Thanks, LLC formation takes about a week"), can be wrongly read as a company name. This is always shown as a candidate, so it never gets auto-confirmed.
- A two-word, capitalized value straight after a colon label ("contact: North America") can be wrongly read as a person's name, because the label-plus-capitalized-words shape alone can't tell a name apart from an ordinary two-word phrase. This is also always a candidate you can dismiss during review.
Custom detection
Add anything automatic detection missed, yourself.
On the review screen, select a phrase in the original text or type one in to add it as sensitive information yourself.
You can assign it a type,
and mask every occurrence of the same phrase throughout the document at once.
Anything you add can be undone.