본문으로 건너뛰기

형사 docKind 3 종 .docx 템플릿 작성 가이드 (Pack 6.8)

ADR 0045 Pack 6.8 — 사무소가 변호인 선임서·의견서·양형 자료 3 종 .docx 템플릿을 작성·업로드하여 형사 사건의 1-click 서류 생성을 활성화하는 절차.

대상 docKind

docKind라벨한국어 docType용도
criminal-defense-appointment변호인 선임서변호인선임서검찰·법원 제출 선임 서류
criminal-opinion변호인 의견서 (검찰)변호인의견서검찰 단계 의견 진술
criminal-sentencing-materials양형 자료양형자료1심 공판 양형 자료

공용 기본 템플릿 (자동 생성)

Pack 6.11 부터 apps/web/public/docxTemplates/criminal-*.docx 3 종이 repo 동봉. 생성 스크립트:

NODE_PATH=apps/web/node_modules npx tsx scripts/generate-criminal-docx-templates.ts

스크립트 변경 후 위 명령으로 .docx 재생성. placeholder 명세 수정 시 buildCriminalDocxRenderData 와 양쪽 동시 수정 필요. 검증:

node /tmp/verify-criminal-templates.mjs # docx-templates createReport 로 sample data 렌더

업로드 위치 (Cloud Storage)

public/docxTemplates/{kind}.docx ← 공용 기본 템플릿
tenants/{tenantId}/docxTemplates/{kind}.docx ← 사무소 커스텀 (우선)

tenants/{tid}/docxTemplates/criminal-defense-appointment.docx 가 있으면 자동으로 공용 기본 대신 사용. 업로드 UI 는 사무소 설정 페이지 (owner 권한, 5 MB 한계, .docx MIME).

Placeholder 규약 — 3 docKind 공통

criminal-docgen-placeholders.tsbuildCriminalDocxRenderData 가 채우는 placeholder. {{변수명}} 형식.

공통 placeholder (3 docKind 모두 적용)

placeholder의미예시 값
{{filingDate}}작성일 (YYYY-MM-DD KST)2026-05-17
{{attorneyName}}변호인 이름·법무법인 명법무법인 너홀로
{{attorneyAddress}}사무소 주소서울특별시 서초구 서초대로 1234
{{attorneyNumber}}변호사 번호 (선택)12345
{{defendantName}}의뢰인(피의자·피고인) 이름홍길동
{{defendantAddress}}의뢰인 주소서울특별시 강남구 ...
{{chargeName}}죄명사기 / 특정경제범죄법위반(사기)
{{caseNumber}}사건번호2026고단123 / 2026형제45678
{{prosecutorOffice}}담당 검찰청서울중앙지검
{{court}}담당 법원서울중앙지법
{{phaseLabel}}9 단계 한국어 라벨1심 공판
{{referralDate}}송치일 (YYYY-MM-DD)2025-12-01
{{indictmentDate}}기소일 (YYYY-MM-DD)2026-01-15
{{crimeEndDate}}범죄 행위 종료일 (공소시효 기산)2025-10-15
{{aggravatedLabel}}가중처벌 여부 라벨예 (특경법 §3 가중) / 아니오 / 미입력
{{detainedLabel}}구속 여부 라벨구속 / 불구속 / 미입력
{{coreFacts}}핵심 사실 (자유 기술)피해자 3명, 총 5,000만원 편취
{{note}}메모동종 전과 없음, 합의 진행 중

변호인 선임서 (criminal-defense-appointment) 전용

placeholder의미예시
{{appointmentDate}}선임 일자 (= filingDate)2026-05-17
{{appointmentScope}}선임 범위전 절차 (수사·기소·1심·항소·상고)

변호인 의견서 (criminal-opinion) 전용

placeholder의미예시
{{opinionTitle}}표제변호인 의견서
{{addresseeOffice}}수신 기관 (검찰청, 미입력 시 "수사 기관")서울중앙지검

양형 자료 (criminal-sentencing-materials) 전용

placeholder의미예시
{{sentencingHeading}}표제양형 자료
{{mitigatingFactors}}양형 인자 (note 와 동일)동종 전과 없음, 합의 진행 중

템플릿 작성 예시 — 변호인 선임서

Word 에서 새 문서 작성 후 placeholder 를 그대로 본문에 삽입:

변 호 인 선 임 서

피의자(피고인): {{defendantName}}
주 소: {{defendantAddress}}

죄 명: {{chargeName}}
사 건 번 호: {{caseNumber}}
담 당 기 관: {{prosecutorOffice}} {{court}}
현 재 단 계: {{phaseLabel}}

위 사건에 관하여 다음과 같이 변호인을 선임합니다.

- 다 음 -

선 임 인 : {{defendantName}} (인)
변 호 인 : {{attorneyName}} (인)
사 무 소 명: {{attorneyName}}
사 무 소 주소: {{attorneyAddress}}
변 호 사 번호: {{attorneyNumber}}
선 임 일 자: {{appointmentDate}}
선 임 범 위: {{appointmentScope}}

{{filingDate}}

템플릿 검수 체크리스트

  1. placeholder 오타 검증{{}} 짝 일치, 변수명 위 표 그대로
  2. 반복 블록 없음 — 형사 3 docKind 는 list/repeat 미사용 (민사 evidenceList 와 다름)
  3. PII 직접 삽입 금지 — 사건 데이터는 placeholder 로만. 템플릿 자체에 실명·주민번호 박지 말 것
  4. A4 1~2 페이지 — 변호인 의견서는 상세, 선임서·양형 자료는 1 페이지 권장
  5. 결재 인 위치{{attorneyName}} (인) 처럼 placeholder 옆에 (인) 명시

업로드 절차

  1. apps/web 의 사무소 설정 → 서식 템플릿 섹션
  2. owner 권한 필요 (staff 는 disabled 표시)
  3. .docx 파일 선택 → 5 MB 이하, MIME application/vnd.openxmlformats-officedocument.wordprocessingml.document
  4. 업로드 성공 시 즉시 모든 구성원의 docgen 호출에 반영 (공용 기본 자동 폴백)

검수 후 실 사용 흐름

변호사
→ 사건 상세 → 서류 생성 → "변호인 선임서" 선택
→ generateDocxAction (weight 1)
→ buildCriminalDocxRenderData(CaseData + AttorneyInfo)
→ 템플릿 우선순위: tenants/{tid}/.docx → public/.docx
→ docx-templates 렌더 → Cloud Storage 저장 → signed URL 15분 만료
→ 변호사 다운로드 → 수기 확인 → 출력·제출

한계

  • 변호인 선임서·의견서·양형 자료 외 후속 형사 docKind (구속집행정지 신청서 등) 은 별도 ADR 후 추가
  • 양형 자료의 reference 첨부 (탄원서·합의서 등) 는 별도 attachment 업로드 흐름 (후속 Pack 6.9)
  • 형사 사건 PII (피해자 이름·전과·구속 사실 등) 의 portal 노출 정책은 별도 ADR 필요

참고

  • ADR 0045 — Pack 6 형사 사건 도메인 정의
  • docgen 일반 가이드 — 민사 docKind 5 서면 템플릿 작성 패턴
  • buildCriminalDocxRenderData 단위 테스트 — apps/web/app/(workspace)/docs/_lib/__tests__/criminal-docgen-placeholders.test.ts