프로젝트Mac · iPhone · iPad · Shipped

I'm John Doe 앱 아이콘

AI가 보기 전에, 내 정보를 가린다.

on-device50+ detectorszero networkMac · iPhone · iPad

I'm John Doe


새어 나가는 정보

AI 챗봇에 이메일, 계약서, 메시지를 붙여 넣는다. 거기에는 이름, 전화번호, 계좌 정보, API 키가 섞여 있다. 미처 생각하기도 전에 서버로 넘어간다.

I'm John Doe는 이런 데이터를 찾아 [name], [email], [address], [number] 같은 유형별 placeholder로 바꾼다. 별표나 무작위 문자열이 아니라 유형이 붙은 라벨이라서, AI는 글의 구조를 그대로 이해하고 쓸 만한 답을 준다.

기기 밖으로는 아무것도 나가지 않는다. 서버도, 계정도, 네트워크도 필요 없고 오프라인에서도 된다. 어느 기기에서 쓰든 마스킹은 그 기기 안에서 끝난다.

I'm John Doe 앱: 원문과 마스킹 결과를 나란히 보여 주는 분할 화면

첫 실행

시드 단어를 몇 개 고르면 I'm John Doe가 대문자, 소문자, 복수형 같은 변형까지 익힌다. 그래서 "Acme", "ACME", "acmes"를 한 번에 잡는다.

온보딩 1단계, 시작하기 전에: 기기 안에서 처리한다는 점, 탐지가 완벽하지 않다는 점, 결과 검토는 사용자 몫이라는 점, 규제 준수를 보장하지 않는다는 점을 안내한다
step 1 — 시작하기 전에
온보딩 2단계: 이름 입력
step 2 — 항상 가릴 시드 단어
온보딩 3단계: 탐지 카테고리 선택
step 3 — 카테고리 토글
온보딩 4단계: 설정 완료
step 4 — 붙여 넣을 준비 완료

전과 후

이름은 [name]으로, 이메일은 [email]로 바뀐다. 메시지 형태는 그대로라서 ChatGPT나 Claude는 무엇을 묻는지 다 이해한다. 누가 묻는지만 모른다.

빈 앱 화면: 왼쪽은 빈 입력창, 오른쪽은 Detect placeholder, 0 / 20,000 글자 수 표시
빈 화면
마스킹 전: 개인정보가 담긴 원문
붙여 넣은 원문
마스킹 후: PII가 [name], [email], [number]로 바뀐 결과
마스킹 결과

한 번에 훑기

이메일 스레드를 통째로 붙여 넣고 mask를 누르면 걸린 항목이 한꺼번에 표시된다. 하이라이트가 잠시 남아 있어서, 무엇이 잡혔는지 확인한 뒤에 어떻게 할지 정하면 된다.

PII가 하나씩 하이라이트된 원문
탐지 후 하이라이트
원문의 모든 PII가 하이라이트된 일괄 마스킹
드래그로 범위 선택

일괄 마스킹

드래그로 범위를 잡고 placeholder를 고른다. [masked], [name], [email] 중에서 고르거나 직접 입력하면 된다. 선택한 범위 전체가 그 라벨 하나로 한 번에 바뀐다.

placeholder 버튼과 직접 입력 칸이 있는 Mask Selection 팝업, 기본값은 [masked]
placeholder 고르기
선택을 확정한 뒤 [masked] 라벨 하나로 바뀐 문단
범위 전체를 라벨 하나로

탐지 규칙

카테고리는 열 개이고, 각각 실제로 무엇을 잡는지 적어 두었다. Person(이름, 조직), Contact(이메일, 전화), Address(도시, 우편번호) 같은 식이다. 스위치를 끄면 뭐가 빠지는지 짐작할 필요 없이, 필요 없는 것만 끄면 된다.

Mask Settings의 Categories 패널. 탐지 카테고리 10개를 켜고 끌 수 있다
카테고리 10개, 상황에 맞게 토글

항상 가리기

탐지가 놓치는 것을 직접 추가한다. 코드명, 사내 프로젝트명, 고객 별명 같은 것들이다. Never Mask와 함께 쓰면 자동 규칙이 놓치는 부분을 메울 수 있다.

Always Masked 설정: 새 이메일 추가
원하는 placeholder로 추가
Always Masked 설정: 이름과 이메일 항목 목록
저장된 항목, 줄마다 삭제

절대 가리지 않기

그대로 통과시킬 단어를 등록한다. 내 제품 이름, 공인 이름, 기술 용어 같은 것들이다. 같은 단어가 두 목록에 모두 들어가면 문제가 되기 전에 앱이 알려 준다.

John Doe가 추가된 Never Mask 설정 패널
그대로 둘 목록

충돌

Never에 이미 있는 단어를 Always에 넣으려 하면 앱이 멈추고 묻는다. 직접 옮기지 않는 한 단어는 먼저 등록된 목록에 남는다. 그래서 두 목록이 모르는 사이에 서로 어긋나는 일은 없다.

중복 확인 대화상자: Always Masked와 Never Mask가 충돌할 때
저장할 때 충돌 안내

읽기 편하게

글자 크기를 키우거나 줄일 수 있다. 최대와 최소를 정해 둬서 레이아웃이 깨지지 않는다. 고른 크기는 다음에 실행할 때도 그대로라서, 긴 초안을 다루든 저시력 사용자든 매번 같은 설정으로 쓴다.

글자 크기를 최대로 설정한 화면. 원문과 마스킹 결과가 모두 큰 글자로 보이고, A와 AA 버튼 옆에 "2 items masked" 헤더가 있다.
최대로 키워도 잘 읽힌다
글자 크기를 최소로 설정한 화면. 같은 원문과 마스킹 결과가 작은 글자로 보이고, 캔버스 주변 여백이 넉넉하다.
최소, 여백은 넉넉하게

이제 iPhone과 iPad에서도

Mac 앱이 먼저 나왔다. 같은 기기 내 엔진(탐지기 50개 이상, 네트워크 호출 0)이 이제 iPhone과 iPad에서도 돌아가고, 세 기기 모두 같은 PII를 같은 방식으로 잡는다. $3.99 한 번 구매로 Mac, iPhone, iPad를 모두 쓸 수 있다. 구독도 없고 새로 익힐 것도 없다.

iPhone의 I'm John Doe: 'Before you begin' 온보딩 화면. AI 없음, 클라우드 없음, 노출 없음을 밝히고, 기기 안에서 처리한다는 점과 탐지가 완벽하지 않다는 점을 안내한다
같은 안내, 작은 화면
iPhone의 I'm John Doe: Auto Mask 토글이 켜진 빈 화면, 'Processed on this device' 잠금 라벨, Paste & Mask 버튼
붙여 넣어서 마스킹
iPhone의 I'm John Doe: [name], [email], [number], [address] placeholder가 본문 안에 하이라이트된 마스킹 결과, 아래에 Copy와 Clear 버튼
본문 그대로, 기기 안에서 마스킹

엔티티 유형
15+
정규식 탐지기
50+
입력 글자 수 상한
20K
네트워크 호출
0
on-device
100%

"내 데이터는 기기 밖으로 나가지 않는다."