← 목록
공개 범위 안내 — 이 사이트는 도구 설계·기획 문서만 공개합니다. 분석 대상 원문(수행안내서 전문, 제안요청서, 제안서 판독본)과 특정 제안서에 대한 분석 결과는 포함하지 않습니다. 문서에 남은 실명·연락처는 마스킹 처리했습니다.

PIA-Auditor — 상용 서비스 전환 요건 정의서

출처 문서 06_기술스택선정_및_개발기획서.md v1.0
문서 버전 v1.0 · 2026-08-04
목적 06 문서는 사내 도구를 전제로 작성되었다. 그 전제를 상용 서비스로 바꿀 때 무엇이 깨지고, 무엇이 새로 필요한가를 식별·기록한다.


0. 이 문서의 출발점 — 06 문서에 박혀 있는 전제

06 문서는 여러 결정을 "사내 도구니까" 라는 근거로 내렸다. 그 전제가 사라지면 아래 결정들이 함께 무너진다.

06 문서의 서술 상용 전환 시
§4.2 "사내 도구는 무방하나 배포·SaaS 전환 시 소스 공개 의무가 발생한다" P0 블로커 — §1
§4.8 "서버를 늘리지 않는다… 다중 사용자 웹이 필요해지면 그때 바꾼다" 그때가 지금 — §3
§2.3 "기본 모드는 로컬 처리" SaaS는 정의상 로컬이 아니다 — §2
§6.4 R3 "기준문서 개정 → M4-F05 버전 diff" 사내는 늦어도 되지만 상용은 SLA — §5
부록 B "AGPL·GPL 2건이 이 스택의 유일한 법적 리스크다" 법적 리스크는 3건 더 있다 — §1.2, §2

06 문서에 없는 가장 큰 리스크 두 가지: 기준문서(수행안내서)의 저작권과, 도구가 스스로 개인정보 수탁처리자가 된다는 사실. 아래 §1.2와 §2에서 다룬다.


1. 법무 — P0 블로커

1.1 오픈소스 라이선스 (06 §4.2·부록B 확장)

패키지 라이선스 사내 도구 상용 SaaS 상용 온프렘 배포
PyMuPDF AGPL-3.0 무방 AGPL §13 네트워크 조항 — 이용자에게 전체 소스 제공 의무 ❌ 배포 = 소스 공개
pyhwp GPL 무방 프로세스 격리 시 완화(다툼 여지) ❌ 링크 시 감염
pdfplumber, pypdfium2, anthropic, pydantic, typer, jinja2, xlsxwriter, structlog MIT·BSD·Apache-2.0 무방 무방 무방
BGE-M3 MIT 무방 무방 무방
PaddleOCR Apache-2.0 무방 무방 무방

AGPL은 "배포하지 않으니 괜찮다"가 통하지 않는다. GPL과 달리 AGPL 제13조는 네트워크를 통한 이용만으로 소스 제공 의무를 발생시킨다. SaaS가 정확히 그 경우다.

선택지 3개 — 반드시 하나를 고른다

# 방안 비용 리드타임 비고
A Artifex PyMuPDF 상용 라이선스 구매 연간 라이선스료 계약 수 주 코드 변경 없음. 가장 빠름
B 대체 백엔드로 전환 (pdfplumber + pypdfium2) 개발 2~3주 즉시 착수 가능 06 §4.2가 이미 대비해 둔 경로. 표 추출 품질 저하 감수
C AGPL 준수 (전체 소스 공개) 상용 제품에서 통상 선택 불가

1.2 ⚠️ 기준문서 저작권 — 06 문서에 없는 리스크

수행안내서 원문(변환본 p.5)에 다음이 명시되어 있다.

저작권 표시 — 본 안내서 내용의 무단전재를 금하며, 가공·인용할 때는 출처를 밝혀 주시기 바랍니다.
* 출처 : 개인정보보호위원회 「개인정보 영향평가 수행안내서」 2025.10.

문제의 구조 — 이 제품의 핵심 자산인 지식베이스(121개 지표 + 12개 체크리스트 + 산식) 는 이 안내서를 가공한 파생물이다. 사내 참고용이면 문제되지 않지만, 그것을 내장한 제품을 판매하면 성격이 달라진다.

확인한 사실
- 문서 내 공공누리(KOGL) 유형 표시가 없다 (전문 검색 결과 0건). 즉 "자유이용"이 명시적으로 보장되어 있지 않다.
- 발간등록번호 11-1790365-100028-14 — 정부간행물이다.

해야 할 일 (P0)

# 조치
1 개인정보보호위원회에 상용 제품 내 가공·수록 가능 여부를 서면 질의하고 회신을 보관한다
2 「공공데이터법」·공공저작물 자유이용 대상 여부를 법무 검토한다
3 제품 UI·리포트·문서 전체에 출처 표기를 강제한다 (선택 아닌 필수 렌더링)
4 회신이 부정적일 경우의 대체 설계를 미리 준비한다 — 지표 전문을 내장하지 않고 지표 번호·분야명만 참조하고 원문은 고객이 직접 보유한 안내서를 가리키는 구조

판단: 회신을 받기 전까지 지표 전문 내장을 전제로 한 영업·데모를 하지 않는다. 조치 4의 대체 설계는 제품 가치를 크게 훼손하지 않는다 — 판정 로직은 유지되고 원문 인용만 링크로 바뀐다.

1.3 고객 문서의 소유권·비밀유지

입력물(RFP·제안서·산출물)은 고객 자산이며 상당수가 미공개 사업정보다.

항목 요건
학습 이용 일절 금지를 약관에 명시. Anthropic API는 기본적으로 학습에 쓰이지 않으나, 이를 계약 문구로 보증
보관 기간 분석 완료 후 N일 자동 파기. 고객이 기간을 지정 가능
격리 테넌트 간 물리적/논리적 격리 (§3)
비밀유지 제안서에는 경쟁사 제안 내용이 들어간다. 평가 담당자 계정 단위 접근통제 필수

1.4 책임 한계

항목 요건
성격 고지 "본 도구의 판정은 법률 자문이 아니며, 최종 판단은 이용자 책임" — 리포트 모든 페이지에 렌더링
오탐·미탐 책임 한계를 약관에 규정. INSUFFICIENT_EVIDENCE 3값 판정이 이를 뒷받침하는 설계 근거
기준 최신성 지식베이스 버전과 기준일을 리포트에 명시. 개정 반영 지연에 대한 책임 범위를 SLA에 규정 (§5)
감사 누가·언제·어떤 지식베이스 버전으로 판정했는지 전량 기록

2. 개인정보 — 도구가 스스로 규제 대상이 된다

이 제품의 가장 아이러니한 요건이다. 개인정보 준거성을 점검하는 도구가, SaaS가 되는 순간 스스로 개인정보처리자·수탁처리자가 된다.

2.1 입력물에 실제로 들어있는 개인정보 (실측)

문서 개인정보
RFP 발주기관 담당자 실명 + 직위 + 직통번호 (정보보안센터 고○○ 센터장 02-***-****, 권○○ 과장 02-***-****)
제안서 투입인력 6명 실명 + 경력 + 보유자격, 자문위원 4명 실명 + 사진, 수탁사 18개사 및 책임자란

가정이 아니라 확인된 사실이다.

2.2 SaaS 사업자의 지위와 의무

지위 근거 파생 의무
수탁처리자 고객(공공기관)의 개인정보를 위탁받아 처리 위·수탁 계약 체결, 재위탁 제한, 관리·감독 수용
개인정보처리자 자사 이용자(고객사 담당자) 계정 정보 처리방침 공개, 동의, 파기

충족해야 할 기준 — 「개인정보의 안전성 확보조치 기준」

조항 요건 설계 반영
접근권한 관리 계정·권한 부여/변경/말소 기록 3년 보관 RBAC + 권한 변경 로그
접근통제 인터넷 구간 접속 제한, 세션 타임아웃 IP 제한 옵션, 세션 정책
암호화 저장 시·전송 시 DB 암호화(TDE 또는 컬럼), TLS 1.2+
접속기록 보관·점검, 최소 1년(고유식별정보·민감정보 처리 시 2년) 감사 로그 별도 스토리지, 위변조 방지
악성프로그램 방지 업로드 파일 스캔
재해·재난 대비 10만명 이상 시 백업·복구 절차

공공기관 고객이 10만명 이상 보유하거나 시스템이 공공시스템에 해당하면 제15~17조(공공시스템운영기관 특례)까지 파급될 수 있다. 계약 전 실사에서 확인할 항목이다.

2.3 ⚠️ 국외이전 — LLM API를 쓰는 순간 발생

Claude API는 미국 소재 Anthropic이 처리한다. 문서에 개인정보가 포함된 채로 전송하면 「개인정보 보호법」 제28조의8 국외이전에 해당한다.

대응 3안

# 방안 장단
A 국외이전 동의·공개 절차 이행 공공기관 고객은 이를 꺼리는 경우가 많다
B 전송 전 개인정보 비식별화 — 실명·연락처를 토큰으로 치환 후 전송, 리포트 렌더 시 복원 기술적으로 가능하고 가장 현실적. 단 판독(M3)에는 적용 곤란(이미지)
C 온프레미스 SKU — 외부 전송 0 (§6) 공공 조달에서 가장 잘 팔리는 형태

2.4 CSAP

공공기관 대상 SaaS는 클라우드보안인증(CSAP) 이 사실상 진입 요건이다.
- SaaS 간편등급 또는 표준등급 판단 → 준비 기간 6~12개월, 비용 수천만 원대
- 온프렘 SKU를 먼저 내면 CSAP 없이 공공 시장에 진입할 수 있다 — 상용화 순서 결정에 직접 영향


3. 아키텍처 — 06의 "서버를 늘리지 않는다"를 뒤집는 지점

06 §4.8은 "다중 사용자 웹이 필요해지면 그때 바꾼다" 고 명시했다. 상용화가 그 시점이다.

영역 06 (사내) 상용 요건
저장소 SQLite 단일 파일 PostgreSQL + RLS(행 수준 보안) 또는 테넌트별 DB. 벡터는 pgvector
문서 원본 로컬 파일 객체 스토리지(S3 호환) + 서버측 암호화 + 수명주기 정책
실행 CLI 동기 작업 큐 + 워커. 분석 1건 최대 30분(06 §6.3)이므로 동기 HTTP 불가
인증 없음 SSO(SAML/OIDC), RBAC — 평가담당/검수담당/관리자 분리
테넌시 없음 조직 → 프로젝트 → 실행 3계층. 경쟁사 제안서 격리가 계약 요건(§1.3)
캐시 콘텐츠 해시 (06 §4.9) 유지하되 테넌트 키를 캐시 키에 포함 — 교차 유출 방지

유지할 것 — 06 §4.9의 콘텐츠 해시 캐시는 상용에서 더 중요해진다. 재실행 비용이 0이면 고객이 파라미터를 바꿔가며 반복 실행해도 원가가 늘지 않는다.


4. 운영

4.1 LLM 의존성 — 06에 대응 계획이 없는 영역

상황 요건
429 레이트리밋 백오프 + 큐 재투입. 테넌트별 쿼터로 상호 영향 차단
529 과부하 / 5xx 재시도, 지속 시 폴백 모델
stop_reason: "refusal" 안전 분류기 거부 시 처리 경로 필요. 보안 문서를 다루는 도구이므로 오탐 가능성 있음. fallbacks: "default" 옵션 검토
모델 폐기(deprecation) 모델 ID를 설정 한 곳에 격리(06 §6.4 R2). 마이그레이션 시 골든셋 회귀로 검증
단가 변동 원가 = 변동비 → 마진 재계산 트리거

4.2 관측·SLA

항목 요건
가용성 목표 SLA 정의(예 99.5%). 큐 기반이므로 "접수 성공"과 "완료"를 분리 정의
처리 시간 06 §6.3 "≤30분" → 문서 크기별 등급 SLA로 재정의
비용 관측 테넌트별 토큰·원가 대시보드. 06 §4.10에서 Phase 1 필수로 지정한 토큰 회계가 여기서 과금 근거가 된다
알림 실패율, 큐 적체, 비용 급증, 인용 검증 실패율
감사 로그 §1.4·§2.2 요건. 애플리케이션 로그와 분리 저장, 위변조 방지

4.3 지원


5. 기준문서 최신성 — 상용의 핵심 가치이자 최대 부채

06 §6.4 R3은 이를 "중" 등급 리스크로 뒀다. 상용에서는 최상위다. 고객이 돈을 내는 이유의 절반이 "최신 기준으로 봐준다"이기 때문이다.

항목 사내 (06) 상용
반영 주체 "담당자 지정" (06 §6.6) 전담 인력 + 프로세스
반영 속도 규정 없음 SLA로 약속 (예: 고시 개정 후 30일 내)
추적 대상 안내서 안내서 + 보호법·시행령 + 안전성 확보조치 기준 + 보호수준 평가 편람 + 관련 고시
산출물 지표 diff 릴리스 노트 + 영향받는 기존 리포트 목록 통지
재현성 버전 고정 실행 — 고객이 "작년 기준으로 다시 돌려보기"가 가능해야 한다

버전 고정은 기능이 아니라 계약 요건이 될 가능성이 높다. 평가 시점의 기준으로 판정했음을 사후 입증해야 하는 상황이 발주기관에게 실제로 발생한다. 06 §4.9의 콘텐츠 해시 캐시에 지식베이스 버전을 캐시 키로 포함해 두면 자연스럽게 충족된다 — 설계 단계에서 반영해야 나중에 공짜다.


6. 제품 형태 — 이 결정이 나머지를 지배한다

SaaS 온프레미스 라이선스 판매
CSAP 필요 (§2.4) 불필요 불필요
국외이전 이슈 (§2.3) 없음(로컬 LLM) 또는 고객 책임 고객 책임
AGPL 가장 엄격 (§13 발동) 배포 = 소스 공개 배포 = 소스 공개
멀티테넌시 필수 (§3) 불필요 불필요
기준 최신성 자동 배포 업데이트 채널 필요 고객이 갱신
GPU 불필요 로컬 LLM 시 필요 고객 환경
매출 반복(구독) 구축 + 유지보수 일시 + 유지보수
진입 속도 느림(인증) 빠름 빠름

권고 순서 — ① 온프레미스로 공공 시장에 먼저 진입(CSAP·국외이전 우회) → ② 레퍼런스 확보 후 SaaS 준비. 단 어느 쪽이든 AGPL은 먼저 해결해야 한다(§1.1). 온프렘은 SaaS보다 오히려 배포 조항에 더 직접적으로 걸린다.

온프렘의 추가 과제: 외부 LLM을 못 쓰는 고객에게는 로컬 LLM이 필요하다 → GPU 요구사항 발생 → 06 §2.1에서 확정한 "로컬 VLM은 범위 밖" 결정이 상용에서는 다시 열린다.


7. 우선순위와 게이트

7.1 P0 — 착수 전에 결론이 나야 하는 것

# 항목 결정하지 않으면
P0-1 PyMuPDF 라이선스 (§1.1 A/B/C 중 택1) Phase 1 설계를 다시 해야 함
P0-2 안내서 저작권 회신 (§1.2) 제품 핵심 자산을 못 쓸 수 있음
P0-3 제품 형태 (§6) 인증·아키텍처·GPU 요구가 전부 달라짐
P0-4 국외이전 방침 (§2.3 A/B/C) LLM 배치(06 §4.5)가 성립하지 않을 수 있음

7.2 P1 — v1.0 상용 출시 전

멀티테넌시·인증·RBAC(§3) / 접속기록·암호화·감사 로그(§2.2) / 큐·워커(§3) / LLM 장애 대응(§4.1) / 테넌트별 비용 관측(§4.2) / 기준문서 갱신 프로세스·SLA(§5) / 책임 한계 약관·고지 렌더링(§1.4) / 버전 고정 실행(§5)

7.3 P2 — 확장

CSAP(SaaS 시) / 비식별화 파이프라인(§2.3-B) / 온프렘 로컬 LLM(§6) / 오탐 피드백 루프(§4.3) / 기준문서 확장(보호수준 평가 편람, ISMS-P 인증기준)

7.4 결정 게이트

   P0-3 제품 형태 ─┬─→ 온프렘  ─→ P0-1(B: 대체 백엔드 필수) ─→ GPU 요구 재검토
                   └─→ SaaS    ─→ P0-1(A 또는 B) + CSAP 착수 + P0-4 필수

   P0-2 저작권 회신 ─┬─→ 긍정 → 지표 전문 내장
                     └─→ 부정 → 지표 번호·분야명만 참조하는 대체 설계

P0-2와 P0-3의 회신·결정 전에는 영업·데모를 하지 않는다. 둘 다 제품의 형태 자체를 바꾸므로, 먼저 약속하면 되돌릴 수 없다.


8. 06 문서에 대한 정정·보완

06 위치 보완
부록 B "AGPL·GPL 2건이 유일한 법적 리스크" 틀렸다. 기준문서 저작권(§1.2), 개인정보 수탁처리(§2), 국외이전(§2.3)이 추가된다. 사내 도구 전제에서만 성립하는 서술이었다
§6.4 R3 기준문서 개정 = 심각도 "중" 상용에서는 "높음". 제품 가치의 절반이 여기 걸린다 (§5)
§2.1 "로컬 VLM은 범위 밖으로 확정" 온프렘 SKU에서는 재검토 대상 (§6)
§4.4 --offline = 보안 제약 대응 상용에서는 독립 SKU로 승격 (§2.3-C)
§6.3 성공지표 상용 지표 추가 필요 — 가용성, 테넌트별 원가/마진, 오탐 신고율, 기준 반영 리드타임

부록. 상용화 체크리스트

법무
- [ ] PyMuPDF 라이선스 방안 확정 (A/B/C)
- [ ] pyhwp 격리 또는 대체
- [ ] 개인정보보호위원회 저작권 서면 질의·회신 보관
- [ ] 출처 표기 강제 렌더링 구현
- [ ] 이용약관·책임한계·SLA 초안
- [ ] 위·수탁 계약서 표준안

개인정보
- [ ] 국외이전 방침 확정 및 절차 이행
- [ ] 안전성 확보조치 기준 항목별 대응표
- [ ] 접속기록 1년(해당 시 2년) 보관 체계
- [ ] 파기 정책·자동 파기 구현
- [ ] 개인정보 처리방침 공개
- [ ] (SaaS) CSAP 등급 판단 및 착수

기술
- [ ] PostgreSQL + RLS 전환
- [ ] 객체 스토리지 + 암호화
- [ ] 큐·워커 아키텍처
- [ ] SSO + RBAC
- [ ] 테넌트 키 포함 캐시
- [ ] 지식베이스 버전 고정 실행
- [ ] LLM 장애·거부·폐기 대응
- [ ] 테넌트별 비용 관측·쿼터

운영
- [ ] 기준문서 모니터링 담당·프로세스·SLA
- [ ] 릴리스 노트 체계
- [ ] 오탐 신고 → 골든셋 반영 루프
- [ ] 온보딩 절차