Redact.
입력하는 순간 개인정보를 지우는 온디바이스 마스킹. 27개 언어를 지원하며, 서버나 로그에 닿기 전에 처리합니다.
데모
기기에서 개인정보를 걸러냅니다.
고객 지원 기록에는 보관해서는 안 되는 이름, 주소, 카드 번호가 가득합니다. Redact는 텍스트가 전송되기 전에 브라우저나 휴대폰 안에서 그것들을 가립니다. 시스템에 저장되는 것은, 고객 이름이 있던 자리에 [GIVEN_NAME_1]이 들어간 텍스트입니다.
Redact는 값을 되돌려 놓기도 합니다. 외부 모델에 보내기 전에 프롬프트를 가리고, 답에서 실제 이름과 숫자를 복원하세요. 플레이스홀더 매핑을 보관하면 결과가 가명화되고, 매핑을 지우면 가려진 사본이 익명화됩니다.
Microsoft Presidio, AWS Comprehend, Google Cloud DLP도 같은 영역을 다루지만 모두 텍스트를 자사 서버에 두려 합니다. Redact는 23M 파라미터로 27개 언어에서 개인정보의 88.8%를 잡아내므로, 같은 마스킹이 브라우저 탭에서도, 휴대폰에서도, Node 백엔드에서도 동작합니다.
카드 번호, IBAN, 국가 신분증 번호, VAT 번호는 실제 체크섬, 즉 Luhn과 ISO-13616, 그리고 국가별 규칙으로 검증됩니다. 아무 16자리 숫자가 카드 번호로 가려지는 일은 없습니다.
개인정보의 88.8%를 잡아냅니다.
텍스트에 있는 개인정보의 88.8%를 잡아내면서 나머지는 거의 건드리지 않습니다. 브라우저 탭에서 돌아갈 만큼 작은 모델로요. 재현율이 더 높은 유일한 시스템인 GLiNER-PII는 2.3GB입니다.
모든 시스템을 같은 평가 파이프라인으로 같은 예시에서, 각자 고유의 작동점에서 채점했으므로, 이 비교는 배관이 아니라 모델을 측정합니다. 재현율은 완전히 가려진 개인정보의 비율로, WikiANN, MultiNERD, 그리고 형식이 유효한 구조화 집합에 대해 매크로 평균한 값입니다. 정밀도는 가려진 구간 중 실제로 개인정보였던 비율입니다. Redact의 크기는 Apple 빌드이며, Android와 웹 빌드는 25MB입니다.
| 시스템 | 재현율 | 정밀도 | 크기 | 파라미터 수 |
|---|---|---|---|---|
| Redact | 88.8 | 99.6 | 12MB | 23M |
| GLiNER-PII | 91.1 | 90.4 | 2.3GB | 570M |
| Rampart | 61.4 | 97.2 | 14.7MB | 18.5M |
| OpenAI privacy filter | 60.2 | 93.5 | 3GB | 1.5B |
AWS Comprehend는 팀들이 함께 저울질하는 또 다른 선택지인데, PII API가 영어만 받기 때문에 이 표 밖에 있습니다: 다른 언어 코드는 모두 거부됩니다. 같은 영어 행에서는 전체적으로 더 높은 점수를 냅니다(영어 종합에서 86.5 대비 91.6). 이름에서 앞서고 구조화 데이터에서 뒤지며(95.0 대비 91.9), 정밀도는 같습니다. Comprehend는 클라우드에서 돌고, 호출당 요금을 매기며, 이 27개 언어 중 하나를 지원합니다. 위의 모든 수치는 외부 WikiANN, MultiNERD, 그리고 형식이 유효한 구조화 개인정보 집합에 대한 내부 평가입니다; 전체 언어 목록과 라벨별 세부는 모델 카드에 있습니다.
웹 폼이 전송되기 전에 정리.
안전한 LLM 왕복 처리
프롬프트가 외부 모델로 나가기 전에 개인정보를 가리고, 답변에서 실제 값을 복원합니다. [GIVEN_NAME_1], [EMAIL_1]처럼 번호가 붙은 고유 플레이스홀더가 왕복 처리를 무손실로 유지하므로, 사용자는 평범한 답변을 그대로 읽게 됩니다.
수집 시점에 정리, DLP 요금 없이
지원 기록, 로그, 업로드가 들어오는 대로 Node에서 Redact로 처리합니다. 문서마다 요금을 매기는 클라우드 DLP 서비스와 달리, 호출당 비용도 없고 데이터가 자체 인프라를 벗어나지도 않습니다.
모바일 고객 지원과 채팅
대화가 동기화되기 전에 휴대폰에서 이름, 이메일, 카드 번호, IBAN을 걷어내므로, 원본 개인정보가 자사 서버에도 로깅 업체의 서버에도 닿지 않습니다.
27개 언어에서 마스킹
모델 하나가 라틴, 그리스, 키릴 문자에 걸쳐 27개 언어를 다룹니다. EU 공식 언어 전체에 노르웨이어와 아이슬란드어까지 포함하므로, 아테네에서 작성한 양식과 헬싱키에서 작성한 양식이 같은 코드 경로를 지납니다.
영감
Redact(으)로 만들 아이디어. 프롬프트를 코딩 에이전트에 복사해 시작하세요.
Write an MCP tool that strips personal data before it reaches any other tool.
Write an MCP tool (or a Claude Code skill) that runs Desert Ant's Redact on-device to remove names, emails, phone numbers, and other PII from text before it's passed to any tool, API, or LLM. Return the redacted text plus the spans it hid. Build it with the Desert Ant SDK. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. Install: SwiftPM desert-ant-core; Maven ai.desertant:redact:3.1.0; npm i @desert-ant-labs/redact @litertjs/core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Scrub personal data out of any text before it hits an LLM.
Add a redaction step that runs Desert Ant's Redact on-device on any prompt or document before it's sent to a cloud LLM, so personal data never leaves the device. Keep a map to restore values in the response if needed. Build it with the Desert Ant SDK. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. Install: SwiftPM desert-ant-core; Maven ai.desertant:redact:3.1.0; npm i @desert-ant-labs/redact @litertjs/core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Redact PII from logs on the device before they're stored.
Add a logging step that runs Desert Ant's Redact to strip the bulk of PII from log lines on-device before they're written. Structured fields (cards, IBANs, emails) are reliable; treat it as de-identification before storage, not a guarantee. Build it with the Desert Ant SDK. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. Install: SwiftPM desert-ant-core; Maven ai.desertant:redact:3.1.0; npm i @desert-ant-labs/redact @litertjs/core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Run PII redaction in a Lambda so data never leaves your infrastructure.
Deploy Desert Ant's Redact in a serverless function (Lambda or similar) that redacts PII from incoming text at ingest, so personal data is removed inside your own infrastructure with no third-party call. Build it with the Desert Ant SDK. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. Install: SwiftPM desert-ant-core; Maven ai.desertant:redact:3.1.0; npm i @desert-ant-labs/redact @litertjs/core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Scrub a support form before it submits.
In a web support form, run Desert Ant's Redact in the browser (WebAssembly) as the user types, so obvious PII is flagged or removed before the form is submitted. Build it with the Desert Ant SDK. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. Install: SwiftPM desert-ant-core; Maven ai.desertant:redact:3.1.0; npm i @desert-ant-labs/redact @litertjs/core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Transcribe interviews and auto-redact names before you share them.
Build an interview tool: Desert Ant's Voz transcribes on the Mac, then Redact removes the bulk of names and PII. Flag the transcript for a human check before sharing, since free-form names are Redact's least reliable field. Build it with the Desert Ant SDK. Voz (Swift). Install and API: https://desertant.com/docs/voz/. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
Detect the language, then redact PII in that language.
Run Desert Ant's Tongue to detect a message's language, then Redact to strip PII with the right language coverage, both on-device. Build it with the Desert Ant SDK. Tongue (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/tongue/. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
De-identify a dataset before fine-tuning or sharing it.
Batch-run Desert Ant's Redact over a text dataset to strip names, emails, and other PII before you fine-tune a model or hand the data to a partner. On your own infrastructure, nothing leaves it. Build it with the Desert Ant SDK. Redact (Swift, Kotlin, JavaScript / TypeScript). Install and API: https://desertant.com/docs/redact/. Install: SwiftPM desert-ant-core; Maven ai.desertant:redact:3.1.0; npm i @desert-ant-labs/redact @litertjs/core. SDK source: https://github.com/Desert-Ant-Labs/desert-ant-core. Machine-readable catalog of every model and SDK: https://desertant.com/llms.txt.
모델이 하는 일
- 20개 탐지 범주. 이름, 도로명 주소, 도시, 우편번호, 이메일, 전화번호, 신용카드, 은행 계좌와 IBAN, 라우팅 번호, IP 주소, URL, 여권, 운전면허, 세금 번호, 사회보장번호, 정부 발급 신분증.
- 결정론적 검증 계층: Luhn 카드 검사, ISO-13616 IBAN, 24개 EU 국가 전체의 체크섬 기반 국가 신분증 번호, 27개 EU VAT 형식 전체, IMEI, 국가별 운전면허.
- LLM 왕복 처리를 위한 고유 번호 플레이스홀더 기반의 복원 가능한 마스킹.
- 카테고리별로 필터링하고, 각 탐지 결과를 정확한 문자 범위와 함께 확인합니다.
- 회사명은 별도 범주로 탐지되며 기본적으로 그대로 둡니다. 회사는 자연인이 아니기 때문입니다. 요청하면 나머지와 함께 마스킹됩니다.
시작하기
개인정보 마스킹을(를) 몇 줄의 코드로 iOS or macOS, Android or web 앱에 추가하세요. Redact 문서.
// Swift Package Manager
.package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.1.0")
// target dependency
.product(name: "Redact", package: "desert-ant-core")
import Redact
let redact = Redact()
let r = try await redact.redaction(of: text)
// r.redactedText: "Email [GIVEN_NAME_1] at [EMAIL_1]"
Add Redact from Desert Ant Labs to this Swift project (iOS, macOS). What it does: iOS, Android, 웹을 위한 온디바이스 개인정보 마스킹. SDK: Swift (iOS, macOS) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme // Swift Package Manager .package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core", from: "3.1.0") // target dependency .product(name: "Redact", package: "desert-ant-core") Reference: - Model page: https://desertant.com/models/redact/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
// build.gradle.kts (Maven Central)
implementation("ai.desertant:redact:3.1.0")
import ai.desertant.redact.Redact
Redact(context).use { redact ->
val r = redact.redaction(text)
// r.redactedText: "Email [GIVEN_NAME_1] at [EMAIL_1]"
}
Add Redact from Desert Ant Labs to this Kotlin project (Android).
What it does: iOS, Android, 웹을 위한 온디바이스 개인정보 마스킹.
SDK:
Kotlin (Android)
Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme
// build.gradle.kts (Maven Central)
implementation("ai.desertant:redact:3.1.0")
Reference:
- Model page: https://desertant.com/models/redact/
- Full catalog and other models: https://desertant.com/llms.txt
Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
npm i @desert-ant-labs/redact @litertjs/core
import { Redact } from "@desert-ant-labs/redact";
const redact = await Redact.load();
const r = await redact.redaction(text);
// r.redactedText: "Email [GIVEN_NAME_1] at [EMAIL_1]"
Add Redact from Desert Ant Labs to this JavaScript / TypeScript project (Web, Node.js). What it does: iOS, Android, 웹을 위한 온디바이스 개인정보 마스킹. SDK: JavaScript / TypeScript (Web, Node.js) Repo: https://github.com/Desert-Ant-Labs/desert-ant-core#readme npm i @desert-ant-labs/redact @litertjs/core Reference: - Model page: https://desertant.com/models/redact/ - Full catalog and other models: https://desertant.com/llms.txt Add the SDK, then follow its README for the exact API and current version. Do not invent API names or method signatures; confirm them against the README.
사양
- 언어
- 27개 언어: EU 공식 언어 전체, 그리고 노르웨이어와 아이슬란드어 (전체 목록은 모델 카드에)
- 온디바이스 크기
- 12MB Core ML (Apple, 4-bit); 25MB LiteRT (Android, 웹, int8)
- 모델
- 6-레이어 BIOES 토큰 분류기, Multilingual-MiniLM 계열, 23M 파라미터
- 개인정보 보호
- 전적으로 기기에서 실행됩니다. 텍스트가 어디로도 전송되지 않습니다.
Redact는 텍스트에 있는 개인정보의 약 90%를 잡아내므로 대략 열 건 중 한 건은 빠져나갑니다. Redact는 문서가 깨끗하다는 보장이 아니라, 데이터가 기기를 떠나기 전에 대부분을 걷어내는 계층으로 보십시오.
신뢰할 수 있는 부분은 구조화된 필드입니다. 카드, IBAN, VAT 번호, 국가 신분증 번호는 실제 체크섬을 통과해야 하기 때문입니다.
가장 자주 놓치는 것은 형식이 특이한 자유 서술형 이름과 주소이며, 반대로 평범한 단어를 이따금 가리기도 하는데 주로 대문자로만 쓴 텍스트에서 그렇습니다.
자주 묻는 질문
Redact은(는) 무엇인가요?
입력하는 순간 개인정보를 지우는 온디바이스 마스킹. 27개 언어를 지원하며, 서버나 로그에 닿기 전에 처리합니다.
Redact은(는) 온디바이스로 실행되나요?
네. Redact은(는) 서버 호출 없이 기기에서 실행되므로, 데이터는 사용자의 기기에 그대로 남습니다.
Redact은(는) 어떤 플랫폼을 지원하나요?
Redact은(는) Swift, Kotlin, JavaScript / TypeScript용 네이티브 온디바이스 SDK로 제공됩니다.
Redact의 비용은 얼마인가요?
모든 모델은 SDK당 월간 활성 기기 10만 대까지 무료입니다. 사용자당 추론은 무제한입니다. 맞춤 라이선스는 문의하기 바랍니다.
Redact은(는) 얼마나 정확하고 빠른가요?
텍스트에 있는 개인정보의 88.8%를 잡아내면서 나머지는 거의 건드리지 않습니다. 브라우저 탭에서 돌아갈 만큼 작은 모델로요. 재현율이 더 높은 유일한 시스템인 GLiNER-PII는 2.3GB입니다.