결정
현재 FOWOCO 데모에서는 PII 마스킹·치환·차단 기능을 적용하지 않습니다.
HR 원문과 Agent가 문서 작성에 요구한 field 값은 ***, OOO로 바꾸지 않고 원본 그대로 AI Runtime에 전달합니다. 이 결정은 실제 근로자가 아닌 가상 데모 데이터 사용을 전제합니다.
왜 바꾸나요?
- 마스킹된 값은 Agent가 실제 HWP/HWPX 문서에 사용할 수 없음
***에서 원본을 복원할 수 없음
- 현재 목표는 개인정보 플랫폼 고도화보다 HWP/HWPX 데모 흐름 완성
- Agent가 요구한 값을 Server가 전달할 수 있어야 문서 생성 테스트 가능
전송 계약
maskedInput → analysisInput
maskedInstruction → instruction
- HR 자연어 원문 전달
- Worker의 표시 이름·국적·언어·근무상태·체류기간·계약기간 전달
- Agent가 요구한 실제 값을
requestedFields에 원본으로 전달
- 응답의 허용된
extractedSlots도 PII 값이라는 이유만으로 거부하지 않음
계속 차단하는 값
다음은 근로자 업무정보가 아니라 서비스 탈취로 이어지는 인증정보이므로 계속 차단합니다.
- API Key
- JWT
Authorization: Bearer ...
- 비밀번호·Service Secret
- Worker Link 원본 token
DB 영향
없습니다. 전송 JSON 계약 변경이므로 Flyway V9를 사용하지 않습니다. V9는 실제 DB schema 변경이 필요한 작업에 남겨 둡니다.
완료 조건
구현
2026-08-03 후속 연결
- #74가 Agent의
requiredFieldKeys를 받아 Server DB에서 값을 조회하고, 이 이슈에서 정의한 analysisInput.workers[].requestedFields로 AI Runtime을 재호출합니다.
- 가상 데모 원본값 전달 정책은 유지하지만 Agent가 SQL이나 임의 DB column을 요청하도록 허용하지 않습니다.
- 정확한 field key 목록과 JSON naming은 #74에서 fowoco/ai·fowoco/knowledge와 versioned fixture로 확정합니다.
- Client 진행 상태 SSE는 #75의 선택적 후속이며 원본 데이터 전달 계약과 분리합니다.
결정
현재 FOWOCO 데모에서는 PII 마스킹·치환·차단 기능을 적용하지 않습니다.
HR 원문과 Agent가 문서 작성에 요구한 field 값은
***,OOO로 바꾸지 않고 원본 그대로 AI Runtime에 전달합니다. 이 결정은 실제 근로자가 아닌 가상 데모 데이터 사용을 전제합니다.왜 바꾸나요?
***에서 원본을 복원할 수 없음전송 계약
maskedInput→analysisInputmaskedInstruction→instructionrequestedFields에 원본으로 전달extractedSlots도 PII 값이라는 이유만으로 거부하지 않음계속 차단하는 값
다음은 근로자 업무정보가 아니라 서비스 탈취로 이어지는 인증정보이므로 계속 차단합니다.
Authorization: Bearer ...DB 영향
없습니다. 전송 JSON 계약 변경이므로 Flyway V9를 사용하지 않습니다. V9는 실제 DB schema 변경이 필요한 작업에 남겨 둡니다.
완료 조건
AnalysisInput이 HR 원문을 전달합니다.WorkerContext.requestedFields가 Agent 요청 원본값을 전달할 수 있습니다.fowoco/ai가 동일한analysisInput계약을 반영합니다.requestedFields를 구성합니다.구현
template_id,format,values를 받으므로 AI팀은requestedFields를 template field로 매핑합니다.2026-08-03 후속 연결
requiredFieldKeys를 받아 Server DB에서 값을 조회하고, 이 이슈에서 정의한analysisInput.workers[].requestedFields로 AI Runtime을 재호출합니다.