# Security and trust boundaries ## 1. 주요 자산 - provider credential과 local authentication state - private repository의 source text와 경로 - draft와 내부 decision record - provider raw response와 event log - 최종 독자용 문서 ## 2. Prompt injection 경계 Brief, source chunk, title, URL, note, draft는 모두 untrusted data다. 모든 stage prompt는 source 내부 지시를 따르지 말고 내용으로만 취급하도록 명시한다. 완전한 prompt-injection 제거를 보장하지 않는다. 민감한 저장소에서는 다음을 권장한다. - provider가 읽어도 되는 corpus root만 지정 - `--source-include`로 최소 directory만 허용 - secret, credential, production dump를 corpus에 포함하지 않음 - provider CLI의 sandbox와 조직 정책 사용 - 최종 provenance artifact의 접근 권한 제한 ## 3. Reader-facing data minimization `citation_style=hidden`의 목적은 내부 근거를 없애는 것이 아니라 노출 표면을 줄이는 것이다. 독자용 문서에서 금지: - source ID와 claim/decision ID - absolute/local repository path - access date - frontmatter와 status field - prompt tag - evidence-processing narration 내부 audit artifact에는 이 metadata가 남으므로, run directory 자체는 private data로 취급해야 한다. ## 4. Command execution - Codex 기본 설정은 read-only sandbox다. - writer/reviewer prompt는 shell 실행이나 file mutation을 요구하지 않는다. - `options.command`, provider binary path, extra args는 신뢰된 local config로만 설정한다. - 사용자 또는 source text에서 command option을 동적으로 만들지 않는다. ## 5. Destructive content 문서 안에 `rm -rf`, `DROP DATABASE`, `kubectl delete`, `terraform destroy` 등 파괴적 command가 있으면 주변에 다음이 모두 필요하다. - 영향 경고 - backup/checkpoint/recovery - expected effect - read-only verification 이 검사는 command가 실제 환경에서 안전하다는 보증이 아니다. ## 6. Provenance integrity `manifest.json`은 run artifact의 byte size와 SHA-256을 기록한다. manifest 생성 이후 파일이 바뀌면 재검산에서 드러난다. 전자서명이나 원격 attestation은 제공하지 않는다. ## 7. Provider credentials Credential을 repository, brief, source pack, event log에 저장하지 않는다. Codex/Claude CLI와 Antigravity SDK의 표준 인증 방식을 사용한다. `doctor`는 설치 가능성만 확인하며 로그인, 권한, quota를 증명하지 않는다. ## 8. Known limits - lexical retrieval이 민감한 문서를 선택할 수 있으므로 corpus scope를 운영자가 통제해야 한다. - model이 source text를 재구성하면서 민감 정보를 노출할 수 있다. - hidden citation lint는 알려진 path와 marker pattern을 검사하지만 모든 비밀 문자열을 탐지하지 않는다. - private source에서 공개 가능한 결론을 만드는 책임은 프로젝트 소유자에게 있다.