๐ก๏ธ CareerFit Data Privacy & Masking Policy Specification
์ปค๋ฆฌ์ดํ ๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์ ๋ฐ ๋น์๋ณํ(๋ง์คํน) ์ ์ฑ ๊ท๊ฒฉ์
1. ๋ฐฐ๊ฒฝ ๋ฐ ๋ชฉ์ (Background & Purpose)
1.1. ๋ฐฐ๊ฒฝ (Background)
๊ตฌ์ง์์ ์ด๋ ฅ์, ๊ฒฝ๋ ฅ๊ธฐ์ ์, ์ง์์ ๋ฑ ์ปค๋ฆฌ์ด ๋ฐ์ดํฐ๋ ๊ฐ์ธ์ ์ฑ๋ช , ์ฐ๋ฝ์ฒ, ์ธ๋ถ ๊ฒฝ๋ ฅ, ์ ์ง์ฅ ์ ๋ณด ๋ฑ ๊ทน๋๋ก ๋ฏผ๊ฐํ ์ ๋ณด(PII)๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ๊ฐ ์ธ๋ถ ๋ํ ์ธ์ด ๋ชจ๋ธ(LLM)๋ก ์ ์ก๋ ๋ ๋ฐ์ํ ์ ์๋ ๊ฐ์ธ์ ๋ณด ์ ์ถ ๋ฆฌ์คํฌ์ ํ๋ผ์ด๋ฒ์ ์นจํด ๋ถ์์ ๊ทผ๋ณธ์ ์ผ๋ก ํด์ํ๊ณ ์ ํฉ๋๋ค.
1.2. ๋ชฉ์ (Purpose)
- 1์ฐจ ์๋ณ ์ ๋ณด ํํฐ๋ง: ์ง๋ฌด ์ ํฉ๋(Fit) ๋ฐ ์ญ๋ ๊ฐญ(Gap) ๋ถ์์ ๋ถํ์ํ ๊ณ ์ ์๋ณ ์ ๋ณด(Direct/Indirect PII)๋ฅผ ์ ์ก ์ด์ ์ 1์ฐจ ํํฐ๋ง/๋ง์คํนํฉ๋๋ค.
- ํด๋ผ์ด์ธํธ ๊ฐ๋ช
ํ & ๋จ๊ณ๋ณ ๋ฐ์ดํฐ ๋ณดํธ ๊ฒฉ์:
- [ํ์ฌ ๋จ๊ณ (ํฌํธํด๋ฆฌ์ค / MVP)]: Gemini ๋ฌด๋ฃ API ์ฐ๋ ํ๊ฒฝ์์ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฐ๋ช ํ(Pseudonymization) ๋ฐ PII ์์ฒ ๋ง์คํน ์กฐ์น๋ฅผ ์ํํ์ฌ ๋ฏผ๊ฐ์ ๋ณด ๋ฐ ๊ฒฝ์๋ฏผ๊ฐ์ ๋ณด๊ฐ AI ํ๋ก๋ฐ์ด๋๋ก ์ ๋ฌ๋์ง ์๋๋ก ์ค์ง์ ๋ณดํธ ์กฐ์น๋ฅผ ์ํํจ (๋นํ์ต ํจ๊ณผ ์ค์ง์ ๋ฌ์ฑ).
- [ํฅํ ์์ฉํ ๋จ๊ณ (Production Roadmap)]: Enterprise Vertex AI + Zero Data Retention(ZDR) ๊ณ์ฝ์ ์ฒด๊ฒฐํ์ฌ ๊ณ์ฝ์ ๋นํ์ต ๋ณด์ฅ ๋ฐ ๋ฐ์ดํฐ 0์ผ ๋ณด๊ด(ZDR)์ผ๋ก ๋ช ์์ ๋ณด์ ๊ฒฉ์ํ ์์ ์.
2. ๊ฐ์ธ์ ๋ณด์ ์ ์ ๋ฐ ๋น์๋ณํ ๋ถ๋ฅ ์ฒด๊ณ (Data Classification & Action Rules)
์ฑ์ฉ ๊ณต๊ณ (JD) ๋งค์นญ๊ณผ ์ญ๋ ๋ถ์์ ํ์์ ์ธ **โ์ง๋ฌด ๋ฐ์ดํฐ(Job Data)โ**์ ๋ถ์์ ๋ถํ์ํ๊ฑฐ๋ ํธํฅ์ ์ ๋ฐํ ์ ์๋ **โ์๋ณ ๋ฐ์ดํฐ(PII)โ**๋ฅผ ์๊ฒฉํ ๋ถ๋ฆฌํ์ฌ ์ฒ๋ฆฌํฉ๋๋ค.
โป ์ฐธ๊ณ : ์ด๋ ฅ์ยท๊ฒฝ๋ ฅ๊ธฐ์ ์ ๋ด ์์ ๊ธฐ์ ์ ๋งค์ถยท์ค์ ๋ฑ ๊ฒฝ์๋ฏผ๊ฐ์ ๋ณด๋ ๊ฐ์ธ์ ๋ณด๋ณดํธ๋ฒ์ PII์ ํด๋นํ์ง ์์ผ๋, ์ ์ถ ์ ์ฌ์ฉ์์ ์ /ํ ์์ ๊ธฐ์ ์ ๋ฏธ์น๋ ๋ฆฌ์คํฌ๋ฅผ ๋ณ๋๋ก ๊ณ ๋ คํ์ฌ ๋ก์ปฌ ์ํธํ ์ ์ฅ ๋์์ ํฌํจํจ.
| ๋ฐ์ดํฐ ๋ถ๋ฅ | ํฌํจ ํญ๋ชฉ (Data Fields) | ๋น์๋ณํ/์ฒ๋ฆฌ ์ ์ฑ (Action) | ๋น์ฆ๋์ค ๋ฐ ๊ธฐ์ ์ ๊ทผ๊ฑฐ |
|---|---|---|---|
| ๊ณ ์ ์๋ณ ์ ๋ณด (Direct PII) | ์ด๋ฆ, ์ ํ๋ฒํธ, ์ด๋ฉ์ผ, ์ฃผ์, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ๋งํฌ๋์ธ/SNS URL ๋ฑ | ์์ฒ ๋ง์คํน/์ญ์ (Drop or Regex Masking) โข ํ๊ธธ๋ โ [USER_NAME]โข 010-XXXX-XXXX โ [PHONE]โข user@email.com โ [EMAIL]โข ์์ธ์ ๊ฐ๋จ๊ตฌโฆ โ [ADDRESS] | ์ญ๋ ์ ํฉ๋ ๋ถ์์ ์ผ์ ๋ถํ์ํ๋ฉฐ, ์ ์ถ ์ ์น๋ช ์ ์ธ ์์ค์ ์ผ๊ธฐํ๋ ์ง์ ์๋ณ์. |
| ์ค์๋ณ ์ ๋ณด (Indirect PII) | ํ๋ ฅ(์ถ์ ๊ต), ์ฑ๋ณ, ๋์ด, ์๋ ์์ผ, ์ฌ์ง, ๊ฐ์กฑ๊ด๊ณ ๋ฑ | ์ฌ์ ํํฐ๋ง/ํ ํฐ ์นํ (Drop/Generalize) โข XX๋ํ๊ต โ [UNIVERSITY]โข 30์ธ / 1995๋ ์ โ [AGE_REMOVED]โข ๋จ์ฑ/์ฌ์ฑ โ [GENDER_REMOVED] | ์ถ์ ๊ต, ๋์ด, ์ฑ๋ณ ๋ฑ ํธํฅ(Bias) ์์๋ฅผ ๋ฐฐ์ ํ ์์ ์ญ๋ ๊ธฐ๋ฐ ๋งค์นญ ๋ฐ ๋ธ๋ผ์ธ๋ ์ฑ์ฉ ๊ธฐ์ค ์ค์. |
| ๊ฒฝ์๋ฏผ๊ฐ์ ๋ณด (Business-Sensitive Info) | ์์(์ /ํ) ๊ธฐ์ ์ ๋น๊ณต๊ฐ ๋งค์ถยท์ค์ ์์น, ๋ด๋ถ ํ๋ก์ ํธ๋ช , ๋ฏธ๊ณต๊ฐ ์ฌ์ ์ฑ๊ณผ, ๊ณ ๊ฐ์ฌ/ํํธ๋์ฌ๋ช ๋ฑ | ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฐ๋ช
ํ (Pseudonymization) โข ๊ธฐ์ ๋ช โ [ํ์ฌA], [ํ์ฌB]โข ๋งค์ถ/์์น โ [์์นA], [์์นB]โข ๋ด๋ถ ์์คํ ๋ช โ [์์คํ
A]โข ๋งคํ ํ ์ด๋ธ์ ๋ก์ปฌ์๋ง ๋ณด๊ด(์๋ฒ ๋ฏธ์ ์ก) ํ ํด๋ผ์ด์ธํธ ์ญ๋งคํ ๋ณต์ | ์ ์ถ ์ ์ /ํ ์์ ๊ธฐ์ ์ ๋ํ ๊ธฐ๋ฐ์ ์ง ์๋ฌด ์๋ฐ ๋ฆฌ์คํฌ๋ฅผ ์ฐจ๋จ. ์๋ฌธ์ ๋ฌธ๋งฅ๊ณผ ์๋ฏธ๋ ์ ์งํ์ฌ AI ์ญ๋ ๊ฐญ ๋ถ์์ ์ ์ ์ํ. |
| ์ง๋ฌด/์ญ๋ ๋ถ์ ๋ฐ์ดํฐ (Allowed Data) | ๋ด๋น ์ ๋ฌด, ๋ณด์ ๊ธฐ์ (Tech Stack), ํ๋ก์ ํธ ๊ฒฝํ, ์ฑ๊ณผ ์งํ, ์ฌ์ฉ ํด ๋ฑ | ์ ์ก ์ ์ง (Extract & Pass) | ์ฑ์ฉ ๊ณต๊ณ ์ ์๊ฒฉ ์๊ฑด/์ฐ๋ ์ฌํญ๊ณผ 1:1 ๋งค์นญ ์ ์ ๋ฐ ์ญ๋ ๊ฐญ(Gap)์ ์ฐ์ถํ๊ธฐ ์ํ ํต์ฌ ๋ฐ์ดํฐ. |
3. ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ ๋ฐ ๊ฐ๋ช ํ ์ํฌํ๋ก์ฐ (Data Flow Lifecycle & Pseudonymization)
3.1. ๋จ๊ณ๋ณ AI ๋ณด์ ๋ฐ ๋น์ฉ ๊ตฌํ ๋ก๋๋งต
- ํ์ฌ ๋จ๊ณ (ํฌํธํด๋ฆฌ์ค / MVP):
- Gemini ๋ฌด๋ฃ API ์ ์ง + ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฐ๋ช ํ & PII ์์ฒ ๋ง์คํน ์ ์ฉ
- ์ปค๋ฆฌ์ดํ์ ํ์ฌ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฐ๋ช ํ(Pseudonymization) ๋ฐ PII ์์ฒ ๋ง์คํน์ ํตํด ๋ฏผ๊ฐ์ ๋ณด๊ฐ AI ํ๋ก๋ฐ์ด๋์ ์ ๋ฌ๋์ง ์๋๋ก ์ค์ง์ ๋ณดํธ ์กฐ์น๋ฅผ ์ํํ๊ณ ์์ต๋๋ค. (๋น์ฉ 0์, ๋นํ์ต ๋ณด์ฅ ์ค์ง์ ๋ฌ์ฑ)
- ์์ฉํ ๋จ๊ณ (Production Roadmap):
- Enterprise Vertex AI + Zero Data Retention (ZDR) ๊ณ์ฝ
- ํฅํ ์์ฉํ ๋จ๊ณ์์๋ Enterprise Vertex AI + Zero Data Retention(ZDR) ๊ณ์ฝ์ ํตํด ๊ณ์ฝ์ ๋นํ์ต ๋ณด์ฅ์ผ๋ก ๊ฒฉ์ํ ์์ ์ ๋๋ค.
3.2. ๊ฐ๋ช ํ(Pseudonymization) ์ฒ๋ฆฌ ๋ฐ ์ญ๋งคํ ๋ฉ์ปค๋์ฆ
sequenceDiagram autonumber actor User as ๊ตฌ์ง์ (Client) participant Client as Client-Side Pseudonymizer participant Storage as Local Mapping Storage (IndexedDB/LocalStorage) participant AI as Google Gemini AI (๊ฐ๋ช ํ ํ ์คํธ ์ ์ก) User->>Client: 1. ์ด๋ ฅ์ ์๋ฌธ ์ ๋ ฅ Client->>Client: 2. ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฐ๋ช ํ ์ฒ๋ฆฌ Note over Client: โข ๊ธฐ์ ๋ช โ [ํ์ฌA], [ํ์ฌB]<br/>โข ๋งค์ถ/์์น โ [์์นA], [์์นB]<br/>โข ๋ด๋ถ ์์คํ ๋ช โ [์์คํ A] Client->>Storage: 3. ๋งคํ ํ ์ด๋ธ ๋ก์ปฌ ๋ณด๊ด (์๋ฒ ๋ฏธ์ ์ก) Client->>AI: 4. ๊ฐ๋ช ํ๋ ํ ์คํธ๋ง AI ์ ์ก AI-->>Client: 5. ๊ฐญ ๋ถ์ ๊ฒฐ๊ณผ ์์ (๊ฐ๋ช ํ ์ํ) Client->>Storage: 6. ๋งคํ ํ ์ด๋ธ ์กฐํ Client->>Client: 7. ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์ญ๋งคํ (์๋ฌธ ๋ณต์) Client-->>User: 8. ๋ณต์๋ ๊ฐญ ๋ถ์ ๊ฒฐ๊ณผ ํ๋ฉด ํ์
๊ฐ๋ช ํ ๋ณํ ๋ฐ ๋ณต์ ์์:
- [์ด๋ ฅ์ ์๋ฌธ]:
โA๊ธฐ์ ERP ๊ณ ๋ํ ํ๋ก์ ํธ์์ ์ฐ๊ฐ ๋งค์ถ 120์ต ๋ฌ์ฑ์ ๊ธฐ์ฌโ
- [๊ฐ๋ช
ํ ํ AI ์ ์ก]:
โ[ํ์ฌA] [์์คํ B] ๊ณ ๋ํ ํ๋ก์ ํธ์์ ์ฐ๊ฐ ๋งค์ถ [์์นC] ๋ฌ์ฑ์ ๊ธฐ์ฌโ
- [๋งคํ ํ
์ด๋ธ - ์ค์ง ๋ก์ปฌ์๋ง ๋ณด๊ด (์๋ฒ ๋ฏธ์ ์ก)]:
{ "ํ์ฌA": "A๊ธฐ์ ", "์์คํ B": "ERP", "์์นC": "120์ต" } - [๊ฐญ ๋ถ์ ๊ฒฐ๊ณผ ์์ ๋ฐ ๋ก์ปฌ ์ญ๋งคํ]:
- Gemini AI๋ก๋ถํฐ
"[ํ์ฌA] [์์คํ B] ํ๋ก์ ํธ ์ฑ๊ณผ๊ฐ ์ฐ์ํจ..."๋ฆฌํฌํธ ์์ ์, ํด๋ผ์ด์ธํธ ๋จ์์ ๋งคํ ํ ์ด๋ธ๋ก ์ญ๋งคํํ์ฌ ๊ตฌ์ง์ ํ๋ฉด์๋"A๊ธฐ์ ERP ํ๋ก์ ํธ ์ฑ๊ณผ๊ฐ ์ฐ์ํจ..."์ผ๋ก ์๋ฌธ ๋ณต์ํ์ฌ ๋ ธ์ถ.
- Gemini AI๋ก๋ถํฐ
4. ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ธ๋ถ ํ์ดํ๋ผ์ธ (Data Pipeline Steps)
Step 1. ์ ๋ ฅ๋จ ๋น์๋ณํ & ๊ฐ๋ช ํ (Client/Edge Regex Parsing & Pseudonymization)
- ์ฌ์ฉ์๊ฐ ์ด๋ ฅ์๋ฅผ ์
๋ก๋ํ๊ฑฐ๋ ํ
์คํธ๋ฅผ ๋ถ์ฌ๋ฃ๋ ์ฆ์, ํด๋ผ์ด์ธํธ ๋จ์์ ์ ๊ทํํ์(Regex)์ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฆ, ์ฐ๋ฝ์ฒ, ์ด๋ฉ์ผ ๋ฑ ์ง์ ์๋ณ ์ ๋ณด(PII)๋ฅผ ํ ํฐํ(
[USER_NAME],[PHONE],[EMAIL])ํ๊ณ , ๊ธฐ์ ๋ช ยท์ค์ ์์นยท๋ด๋ถ ์์คํ ๋ช ์ ๊ฐ๋ช ํ ํฐ([ํ์ฌA],[์์นA],[์์คํ A])์ผ๋ก ๋ณํํฉ๋๋ค.
Step 2. 1ํ์ฑ ๋ถ์ ์์ฒญ (LLM API Call)
- ๊ฐ๋ช ํ ์ฒ๋ฆฌ๋ ์์ โ์ง๋ฌด/ํ๋ก์ ํธ ํ ์คํธโ๋ง ํ๋กฌํํธ์ ํฌํจํ์ฌ LLM์ผ๋ก ์ ์กํฉ๋๋ค.
- ํฌํธํด๋ฆฌ์ค ๋จ๊ณ์์๋ Gemini ๋ฌด๋ฃ API + ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฐ๋ช ํ ์กฐ์น๋ก ๋ฏผ๊ฐ์ ๋ณด ์ ์ถ ๋ฐ ํ์ต ์ํ์ ์ค์ง์ ์ผ๋ก ์ฐจ๋จํฉ๋๋ค.
Step 3. ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ์ญ๋งคํ (De-pseudonymization) & ์๋ฌธ ๋ณต์
- AI๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฐญ ๋ถ์ ๋ฆฌํฌํธ ์์ ์ฆ์ ๋ก์ปฌ์ ๋ณด๊ด๋ ๋งคํ ํ ์ด๋ธ์ ์ฐธ์กฐํ์ฌ ํด๋ผ์ด์ธํธ ํ๋ฉด์ ์๋ฌธ์ผ๋ก ์ญ๋งคํํ์ฌ ํ์ํฉ๋๋ค.
Step 4. ์ธ์ ์ข ๋ฃ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ๊ธฐ (Immediate Memory Destruction)
- ๋ถ์์ ์ํด Supabase Edge Function์ ๊ฒฝ์ ํ ์์ ์ฒ๋ฆฌ ํ ์คํธ(๊ฐ๋ช ํ๋ ํ ์คํธ ํฌํจ)๋ ๊ฐญ ๋ถ์ ๊ฒฐ๊ณผ ๋ ๋๋ง ์๋ฃ ์ฆ์ ์๋ฒ/์ธ์ ๋ฉ๋ชจ๋ฆฌ์์ ํ๊ธฐ๋ฉ๋๋ค.
- ๋งคํ ํ
์ด๋ธ์ ์ฌ์ฉ์ ๋ก์ปฌ ์ํธํ ๋ณด๊ด์(
localStorage)์๋ง ์ ์ง๋๊ณ ์๋ฒ/์ธ์ ๋ฉ๋ชจ๋ฆฌ์๋ ์ผ์ ๋จ์ง ์์ต๋๋ค. - โป ์ฌ์ฉ์๊ฐ ์ง์ ๋ฑ๋กํ ์ด๋ ฅ์ ์๋ณธ์ ๋ธ๋ผ์ฐ์
localStorage์ XOR+Base64 ์ํธํ ์ํ๋ก ๋ณ๋ ๋ณด๊ด๋์ด ์ถํ ๊ณต๊ณ ์ฌํ์ฉ ์ ์ฌ์ฌ์ฉ๋ฉ๋๋ค. (์๋ฒ ์ ์ก ์์, ๋ก์ปฌ ์ํธํ ๋ณด๊ด ์ง์)
5. ๋ก์ปฌ ๋ฐ์ดํฐ ๋ณด๊ด ๋ฐ ๋ณด์ ๋ฉ์ปค๋์ฆ (Local Data Storage Security)
- ์๋ฒ DB ๋ฏธ์ ์ฅ (Pure LocalStorage): ์ปค๋ฆฌ์ดํ์ ๊ตฌ์ง์์ ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ์ค์ ์๋ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ์ง ์์ต๋๋ค.
- XOR + Base64 ํด๋ผ์ด์ธํธ ์ํธํ: ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ (
localStorage)์ ์ด๋ ฅ์ ์ ๋ณด๋ฅผ ๋ณด๊ดํ ๋ XOR ์ํธํ ๋ฐ Base64 ์ธ์ฝ๋ฉ(ENC_V1_...)์ ๊ฑฐ์ณ ๋ณด๊ด๋๋ฏ๋ก, ํ ์ฌ์ดํธ๋ ๋ฌผ๋ฆฌ์ ์คํ ๋ฆฌ์ง ๋ฌด๋จ ์ ๊ทผ ์์๋ ๋ฐ์ดํฐ ์์ ์ฑ์ ์ ๊ณตํฉ๋๋ค.
6. ๋ฒ์ ๊ณ ์ง ๋ฐ ๋ฐ์ดํฐ ์ฑ ์ ํ๊ณ (Disclaimer)
IMPORTANT
์ปค๋ฆฌ์ดํ ๋ฐ์ดํฐ ํ๋ผ์ด๋ฒ์ ๊ท์ ๊ณ ์ง:
- [ํ์ฌ ๋จ๊ณ (ํฌํธํด๋ฆฌ์ค / MVP)]: ์ปค๋ฆฌ์ดํ์ ํ์ฌ ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๊ฐ๋ช ํ(Pseudonymization) ๋ฐ PII ์์ฒ ๋ง์คํน์ ํตํด ๋ฏผ๊ฐ์ ๋ณด๊ฐ AI ํ๋ก๋ฐ์ด๋์ ์ ๋ฌ๋์ง ์๋๋ก ์ค์ง์ ๋ณดํธ ์กฐ์น๋ฅผ ์ํํ๊ณ ์์ต๋๋ค (๋นํ์ต ํจ๊ณผ ์ค์ง์ ๋ฌ์ฑ).
- [ํฅํ ์์ฉํ ๋จ๊ณ (Production Roadmap)]: ์์ฉํ ์ ํ ์ Enterprise Vertex AI + Zero Data Retention(ZDR) ๊ณ์ฝ์ ์ฒด๊ฒฐํ์ฌ ๊ณ์ฝ์ ๋นํ์ต ๋ณด์ฅ ๋ฐ ๋ฐ์ดํฐ 0์ผ ๋ณด๊ด(ZDR)์ ๋ช ์์ ์ผ๋ก ๊ตฌ์ฒดํํ ์์ ์ ๋๋ค.