Skip to content

feat(privacy): LLM 발화 차원 privacy — confidence + project scope + irrelevant isolation + PII filter #28

Description

@luke-n-alpha

Why

사용자 통찰 (2026-05-08):

"프라이버시 유출은 llm의 발화가 문제구나.."

Cross-review 의 cross-project leak 위험은 데이터 저장 차원 이 아니라 LLM
발화 차원
. naia-memory 에 fact 가 저장되어 있는 것 자체는 OK, naia-agent
잘못된 query 에 personal fact inject → LLM 발화에 사용자 원치 않은 정보
노출이 진짜 문제.

기존 benchmark 카테고리 `abstention` + `irrelevant_isolation` 이 같은 의도.
모두 R5-R14 에서 fail. 미구현.

5 차원 책임 분리

차원 무엇 책임 관련 issue
(1) Confidence threshold cosine < 0.6 retrieval 결과 0 naia-memory #9 + 신규 #(retrieval ranking)
(2) Project scope hard partition EncodingContext.project 로 cross-project fact 차단 naia-memory 본 issue
(3) Irrelevant isolation query 의도 와 fact 의도 매칭 (업무 query 시 personal fact 제외) naia-memory + naia-agent 본 issue
(4) PII redaction fact 안의 전화번호/이메일/주소 자동 mask naia-agent 본 issue (naia-agent 측 mirror 신설)
(5) Source monitor + pragmatic gate 어떤 fact 발화 적절한가 LLM 판단 naia-agent naia-agent#26

본 issue = (2) + (3) 의 naia-memory 측 작업. (4) 는 naia-agent 측 별도 issue 신설.

(2) Project scope hard partition

현재: `EncodingContext.project` 옵션 있으나 strict 강제 X.

변경:

  • recall 시 project 가 명시되면 오직 그 project 의 fact 만 검색
  • project 가 명시 안 되면 명시 안 된 (cross-project) fact 만 검색 (default 보호)
  • explicit `crossProject: true` 옵션 시만 cross-project 회상 (사용자 의도 명확)

(3) Irrelevant isolation

기존 benchmark 카테고리 위에서 새 mechanism:

  • query 의 intent classification — 사용자가 "업무" / "개인" / "기술" / ... 어느 영역?
  • fact 의 category metadata — encode 시 category 추론
  • query intent 와 fact category mismatch 시 score penalty

옵션:

  • (a) LLM 으로 intent + category 추론 (cost ↑)
  • (b) keyword pattern 으로 heuristic (precision 낮음)
  • (c) hybrid

변경 양 (~250 LOC)

단계 LOC
Project scope strict 강제 ~50
Intent classification (encode + recall) ~100
Category metadata (Fact 의 추가 field) ~30
Penalty 적용 in retrieval ~50
Tests ~20

벤치마크

기존 카테고리 위에서 측정:

새 axis:

  • G-1 Cross-project leak rate — "개인" project fact 가 "업무" query 결과에 포함된 비율 (목표: 0%)
  • G-2 Within-project recall — 같은 project 내 recall 정확도 변화 (degradation 5pp 미만)
  • G-3 Intent precision — query intent classifier 정확도

dataset:

  • 합성 multi-project ledger (개인 / 업무 / 기술 영역 × 50 fact each)
  • 50 cross-project test query

테스트

  • Unit: project scope filter, intent classifier
  • Integration: cross-project leak 시나리오 (개인 fact + 업무 query)
  • Regression: 단일 project 사용 시 동작 변경 X

우선순위

P2-medium. cross-project leak 은 daily 1-project 사용자 에서 risk
작음. multi-project 사용 (예: 가족 / 일 분리) 사용자에게 P1 격상.

관련

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1핵심 기능 갭 (다음)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions