themis · v1.0.0 · 2026-08-08 · sha256 fc0224d2b9403c03
themis v1.0.0A
Immutable. This exact content is served forever at /api/v1/blob/fc0224d2b9403c03.
---
name: themis
description: "개인정보처리방침 생성 스킬 (테미스 — 법과 질서의 티타니스). 대상 프로젝트 코드에서 개인정보 수집·저장·전송·동의·삭제 지점을 file:line 근거로 전수 감사하고, 감사 결과만으로 국가별(한국 개인정보보호법 / 미국 CCPA·CPRA / EU GDPR) 방침 초안을 생성. 추측 금지 — 코드에 없는 항목은 지어내지 않고 [빈칸]+채움 안내. /themis로 실행. 테미스."
license: MIT
metadata:
version: "1.0.0"
---
# Themis — 코드 감사 기반 개인정보처리방침 생성 (테미스)
대상 프로젝트의 **실제 코드**에서 개인정보를 받거나·저장하거나·외부로 보내는 지점을 전수 감사하고,
**감사에서 확인된 사실만으로** 국가별 개인정보처리방침 초안을 생성합니다.
> 테미스는 정의의 저울을 든 티타니스 — 코드에 있는 것만 달아서 적고, 없는 것은 지어내지 않습니다.
## 적용 시점
- `/themis` 명시적 실행 (별칭: 테미스)
- "개인정보처리방침 만들어줘", "privacy policy 초안", "개인정보 수집 지점 찾아줘" 요청 시
- 앱스토어/플레이스토어 제출, 서비스 오픈, GDPR 대응 준비 시
## 핵심 원칙 (절대 규칙)
| # | 원칙 | 설명 |
|---|------|------|
| 1 | **추측 금지** | 모든 감사 항목에 file:line 근거. 코드에서 확인 못 하면 "확인 안 됨"으로 표기 |
| 2 | **지어내지 않기** | 코드에 없는 방침 항목은 `[빈칸: 무엇을 채워야 하는지]`로 남기고 채움 안내 제공 |
| 3 | **법적 판단 분리** | 법률 해석이 필요한 지점(위탁 vs 제3자 제공, 적용 대상 여부 등)은 `[확인 필요: 법률 검토]` 표시 |
| 4 | **법률 자문 아님** | 모든 산출물 서두에 "법률 자문이 아닌 초안, 시행 전 전문가 검토 권장" 고지 필수 |
---
## Step 1: 개인정보 전수 감사
프로젝트 전체를 5가지 질문으로 감사합니다. 규모가 크면 탐색 서브에이전트에 위임하되,
**file:line 근거 없는 항목은 버립니다.**
### 감사 5문항
1. **어떤 정보를 받는가** — 이메일, 이름, 전화번호, 사진, 위치, 접속기록, 대화/입력 내용, 세션 ID, 결제정보, 기기 식별자 등 전부
2. **어디에 저장하는가** — 로컬 파일/DB/클라우드, 정확한 경로·테이블
3. **받을 때 동의 절차가 있는가** — opt-in/opt-out, 동의 UI, 마스킹, 비활성화 플래그
4. **외부로 나가는 정보가 있는가** — 로그인 연동(OAuth), 통계 도구, 결제, AI API 호출, 푸시, 크래시 리포트
5. **지우는 기능이 있는가** — 회원 탈퇴 시 실제 삭제 여부, 보존 기한, 자동 파기
### grep 힌트 (시작점, 전부는 아님)
| 관점 | 패턴 |
|------|------|
| 수집 | `email`, `phone`, `birth`, `gender`, `address`, `geolocation`, `getCurrentPosition`, `camera`, `contacts`, `user_id`, `session` |
| 저장 | `INSERT INTO`, `localStorage`, `AsyncStorage`, `UserDefaults`, `SharedPreferences`, `S3`, `bucket`, ORM 모델(User/Member/Account/Profile) |
| 동의 | `consent`, `agree`, `terms`, `opt`, `gdpr`, `privacy` |
| 외부 전송 | `fetch`, `axios`, `requests.`, `http`, `analytics`, `gtag`, `ga4`, `firebase`, `posthog`, `sentry`, `mixpanel`, `amplitude`, `stripe`, `iamport`, `toss`, `oauth`, `openai`, `anthropic`, `googleapis`, `webhook` |
| 삭제 | `delete`, `withdraw`, `deactivate`, `purge`, `retention`, `TTL`, `soft_delete` |
### 놓치기 쉬운 함정 (반드시 점검)
- **soft delete**: 탈퇴 API가 flag만 바꾸고 실데이터를 남기는 경우 → "실제 삭제 아님"으로 기록
- **append-only 로그**: 로그/관찰 파일이 영구 누적되는지, 로테이션이 삭제인지 이동인지
- **언인스톨/탈퇴의 범위**: 설정만 지우고 데이터는 남기는지
- **마스킹 커버리지**: 마스킹·스크럽핑이 모든 저장 경로에 적용되는지, 일부 로그에는 빠지는지
- **자동 아웃바운드**: 사용자 액션 없이 나가는 요청(버전 체크, 텔레메트리, 크래시 리포트) — 요청 자체로 IP가 전달됨
- **git 노출**: 수집 데이터 디렉터리가 `.gitignore`에 있는지 + `git ls-files`로 실측 (설정만 믿지 않기)
### Step 1 산출물
5문항 구조의 표 + **"사용자가 예상 못 할 만한 수집" 별도 목록** (이 목록이 방침의 정직성을 결정합니다).
## Step 2: 감사 결과 확인 + 운영자 인터뷰
감사 표를 사용자에게 제시하고, **코드로 알 수 없는 것들**을 인터뷰로 수집합니다.
### 2-1. 감사 결과 확인
1. 누락되거나 잘못 파악된 항목이 있는지
2. **대상 국가**: 한국(기본) / 미국 / EU — 복수 선택 가능
### 2-2. 운영자 인터뷰 (코드로 알 수 없는 것만)
**규칙**: 감사에서 이미 확인된 것은 다시 묻지 않는다. 질문은 그룹으로 묶어 한 번에 제시한다
(AskUserQuestion 도구가 있으면 활용). 답을 받지 못한 항목만 `[빈칸]`으로 남기고 체크리스트에 등재한다.
**A. 신원·연락처**
| # | 질문 | 방침 매핑 |
|---|------|-----------|
| 1 | 프로그램/서비스 정식 명칭은? (README·package.json·레포명에서 후보를 찾아 제안) | 서두 |
| 2 | 운영 주체는? (개인 개발자 / 법인 — 법인이면 상호·주소) | 서두, EU Controller |
| 3 | 개인정보 보호책임자 성명·직책·연락처는? (한국판 필수) | 제7조 |
| 4 | 권리 행사(열람·정정·삭제) 접수 창구는? (이메일 / GitHub Issues / 문의 폼 — 오픈소스는 GitHub Issues 관행 제안) | 제6조 |
**B. 정책 결정**
| # | 질문 | 방침 매핑 |
|---|------|-----------|
| 5 | 보유 기간은? (탈퇴 시 즉시 파기 / N년 보관 후 파기 / 이용자가 삭제할 때까지) — 법정 의무 보존(전자상거래법 거래기록 5년 등) 해당 여부 포함 | 제2조 |
| 6 | 파기 방식은? (자동 파기 구현 여부 — 없으면 기능 구현을 선행 과제로 제안) | 제3조 |
| 7 | 시행일과 변경 고지 방법은? (README / 릴리즈 노트 / 공지사항) | 제9조 |
**C. 서비스 특성**
| # | 질문 | 방침 매핑 |
|---|------|-----------|
| 8 | 배포 형태는? (로컬 도구 / 웹 서비스 / 모바일 앱 / 데스크톱 앱) + 앱스토어·플레이스토어 제출 여부 (스토어는 방침 URL 필수) | 서두, 전체 구조 |
| 9 | 회원 체계가 있는가/생길 예정인가? (감사에서 못 찾았어도 로드맵 확인) | 제1조, 제6조 |
| 10 | 아동이 대상인가? — 한국: 만 14세 미만 법정대리인 동의(제22조의2), 미국: COPPA 13세, EU: Art. 8 (13~16세, 회원국별) | 아동 조항 |
| 11 | 서버/DB의 물리적 위치(국가)는? (클라우드면 리전) — 국외 이전 고지 판단 근거 | 제5조, EU Chapter V |
**D. 법적 특수사항**
| # | 질문 | 방침 매핑 |
|---|------|-----------|
| 12 | 민감정보(건강·생체·사상 등)를 다루는가/계획이 있는가? (한국 제23조, GDPR Art. 9 — 별도 동의·안전조치 필요) | 별도 조항 |
| 13 | 수집 정보를 마케팅·광고에 쓰는가/계획이 있는가? (별도 동의 필요, CCPA "판매/공유" 판단에 직결) | 제4조, US §4 |
| 14 | 쿠키/트래킹 도구를 쓰는가? (감사에서 못 찾았어도 GA·픽셀 등 운영 계획 확인) | 제8조 |
## Step 3: 국가별 초안 생성
`templates/`의 해당 템플릿을 기반으로, **감사 결과를 매핑**해 채웁니다.
| 국가 | 템플릿 | 기준 법제 | 필수 구조 |
|------|--------|-----------|-----------|
| 한국 | `templates/policy-ko.md` | 개인정보보호법 제30조 | 수집 항목·목적 / 보유 기간 / 파기 / 제3자 제공 / 처리 위탁 / 정보주체 권리 / 보호책임자 / 자동 수집 장치·거부 방법 |
| 미국 | `templates/policy-us.md` | CCPA/CPRA + FTC 관행 | 수집 카테고리 매핑(§1798.140) / 판매·공유 여부 / 소비자 권리 / 아동(COPPA) / 보존 / 보안 |
| EU | `templates/policy-eu.md` | GDPR Art. 13/14 | Controller / 법적 근거(Art. 6) / 국외 이전(Chapter V) / 정보주체 권리 / 보존 / 감독기구 진정권 |
### 채우기 규칙
- 감사에서 확인된 것 → 그대로 기술 (저장 경로·전송 목적지까지 구체적으로)
- 인터뷰(Step 2-2)에서 받은 답 → 해당 조항에 채움
- 둘 다 없는 것 → `[빈칸: ...]` + 부록 체크리스트에 등재
- 법률 해석 필요 → `[확인 필요: 법률 검토]` (예: AI API 전송이 위탁인지 제3자 제공인지 국외 이전인지)
- **서비스 유형 분기**: 로컬 도구(개발자가 데이터를 수신하지 않음)라면 그 사실을 서두에 명시 — 방침 전체의 성격이 달라짐 (EU판은 controller 해당 여부 자체가 쟁점)
- 산출물 언어: 한국판은 한국어, 미국/EU판은 영어 본문 + 한국어 체크리스트 부록 (요청 시 조정)
## Step 4: 산출물 저장 + 마무리
- 저장 위치: 대상 프로젝트의 `docs/privacy/privacy-policy-{ko,us,eu}-draft.md`
- 각 문서 끝에 **"확정 전 채워야 할 항목 체크리스트"** 표 필수 (빈칸 + 확인 필요 + 기능 구현 선행 항목 구분)
- 코드 개선이 필요한 항목(opt-out 플래그 없음, 자동 파기 없음, soft delete 등)은 **방침에 거짓말을 쓰는 대신 기능 구현을 선행 과제로 제안**
- 배포 준비가 되면 레포 루트 `PRIVACY.md` 승격 + README 링크를 안내
## 예시
```
사용자: /themis
테미스: (Step 1) 코드 전수 감사 → 수집/저장/동의/전송/삭제 표 + 예상 못 할 수집 목록 제시
사용자: "한국이랑 미국으로 만들어줘"
테미스: (Step 3) docs/privacy/privacy-policy-ko-draft.md + privacy-policy-us-draft.md 생성
+ 채움 체크리스트 (보유기간 정책 미정, 보호책임자 연락처 미정, soft delete 개선 제안)
```
## Related Files
| 파일 | 용도 |
|------|------|
| `skills/themis/SKILL.md` | 이 워크플로우 |
| `skills/themis/templates/policy-ko.md` | 한국 개인정보보호법 제30조 템플릿 |
| `skills/themis/templates/policy-us.md` | 미국 CCPA/CPRA 템플릿 |
| `skills/themis/templates/policy-eu.md` | EU GDPR Art. 13 템플릿 |
## 다른 스킬과의 관계
- **argos**(감리)와 다름: argos는 설계 산출물 대비 구현 검증, 테미스는 개인정보 관점 전수 감사 + 법정 문서 생성
- **clio**(문서 생성)와 다름: clio는 PRD·기술문서·매뉴얼, 테미스는 법정 고지 문서 전용
- **seo-audit**과 유사한 감사형 스킬이지만 도메인이 다름 (검색 최적화 vs 개인정보 컴플라이언스)