action과 콘텐츠 파트별 분석 결과인 input_results를 포함한 HTTP 200을 반환합니다. Starfort는 Guardian의 응답 본문을 그대로 반환합니다 — 래퍼나 필드 재구성이 없습니다.
action 모델
action 집합은 정책 타입에 따라 다릅니다:- PII 정책은
PASS/MASK/BLOCK을 반환합니다. - Topic 정책은 2가지 상태입니다:
PASS또는BLOCK을 반환합니다(unsafe로 분류된 토픽은 차단되고, 그 외에는 모두 통과합니다).
action은 탐지된 모든 항목 중 가장 높은 심각도입니다: BLOCK > MASK > PASS. Actions를 참고하세요.
최상위
각
input_results[] 항목:
MASK 예시 (PII)
[<MASK_WORD>_<n>], 발생 순서대로 번호가 매겨집니다([PHONE_NUMBER_1], [PHONE_NUMBER_2], …).
처리본 전달 원칙 — 외부로 보내는 것은 항상 processed_content
v1.4부터 외부 AI 서비스로 나가는 콘텐츠는 호출자가 제출한 원본이 아니라, Guardian이 내용을 실제로 확인하고 재구성한 처리본(processed_content)으로 통일됩니다:
- PASS — 처리본을 전달합니다. 마스킹 대상이 없어 내용은 원문과 같더라도, 전달되는 것은 Guardian이 재구성한 처리본입니다.
- MASK — 마스킹된 처리본을 전달합니다.
- BLOCK — 전달이 없습니다(
processed_content는null). - 처리본을 만들 수 없는 입력(미지원 파일, 파싱·디코드 실패) — Guardian이 내용을 확인하지 못했으므로
null이며, 원본을 대신 전달해서는 안 됩니다(fail-closed).
v1.3까지와 달라진 점 — v1.3까지
processed_content는 MASK일 때만 채워졌고, PASS는 호출자 원본이 그대로 나가는 모델이었습니다(필드는 null). v1.4부터는 PASS에서도 처리본이 채워지며, 원본 대신 처리본을 전달하는 것이 계약입니다.BLOCK 예시 (Topic)
detected_items — PII vs. Topic
필드는 정책 타입에 따라 다릅니다:
최상위
action을 먼저 읽으세요. PASS와 MASK에서는 원본이 아니라 processed_content를 전달하세요(위의 처리본 전달 원칙). BLOCK일 때는 모델을 호출하지 마세요. Actions를 참고하세요.PASS는 항상 “분석 완료, 아무것도 탐지되지 않음”을 의미합니다
results가 비어 있는 PASS는 결코 모호하지 않습니다: 이는 Guardian이 분석을 완료했고 아무것도 발견하지 못했음을 의미하며, 분석에 실패했다는 뜻이 아닙니다. Guardian이 분석할 수 없는 요청은 열화된 200이 아니라 HTTP 오류를 반환하므로(Guardian fail-closed), 실패가 깨끗한 결과로 오인될 수 없습니다. 오류 및 상태를 참고하세요.