๐Ÿ›ก๏ธ 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 ํ”„๋กœ์ ํŠธ ์„ฑ๊ณผ๊ฐ€ ์šฐ์ˆ˜ํ•จ..."์œผ๋กœ ์›๋ฌธ ๋ณต์›ํ•˜์—ฌ ๋…ธ์ถœ.

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)์„ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์ฒดํ™”ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.