# 전자계약 자동화 기능 - 로빙 통합 아키텍처

## 작성일: 2025-09-09
## 작성자: Claude (51123 서버 관리자)

## 1. 개요
플렉스 등 HR 솔루션의 유료 전자계약 기능(월 1천원/인)을 로빙이 슬랙 네이티브로 무료 제공.
법적 효력을 갖춘 전자계약을 슬랙 내에서 완결하는 차별화된 서비스.

## 2. 비즈니스 가치
- **비용 절감**: 10명 스타트업 기준 월 1만원, 연 12만원 절약
- **효율성**: 슬랙 내에서 모든 계약 프로세스 완결
- **자동화**: 직원 정보 자동 입력, 템플릿 기반 빠른 생성
- **추적성**: 모든 계약 히스토리를 로빙이 기억

## 3. 법적 요구사항

### 3.1 전자서명법 준수
- 공인전자서명 또는 사설인증서 필수
- 서명자 신원 확인 (카카오인증/PASS/토스인증)
- 서명 시점 타임스탬프 (KISA TSA 연동)

### 3.2 문서 보관 의무
- 근로계약서: 퇴직 후 3년
- 비밀유지계약: 계약 종료 후 5년
- 위변조 방지: SHA-256 해시 + 블록체인 기록

### 3.3 개인정보보호
- 주민번호, 급여 정보 암호화 (AES-256)
- 접근 권한 관리 (당사자/관리자만)
- 열람 로그 기록

## 4. 기술 아키텍처

### 4.1 시스템 구성
```
┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│   Slack     │────▶│   rb8001     │────▶│ skill-contract  │
└─────────────┘     └──────────────┘     └─────────────────┘
                                                   │
                    ┌──────────────────────────────┼──────────────────┐
                    │                              │                  │
            ┌───────▼────────┐         ┌──────────▼────────┐   ┌─────▼──────┐
            │  PostgreSQL    │         │  File Storage     │   │ External   │
            │ (메타데이터)    │         │ (/mnt/hdd/)      │   │   APIs     │
            └────────────────┘         └───────────────────┘   └────────────┘
```

### 4.2 skill-contract 서비스 (신규)
- **포트**: 8506
- **기능**: 계약 생성/서명/관리
- **의존성**: PostgreSQL, ChromaDB, 외부 인증 API

## 5. 데이터베이스 설계

### 5.1 PostgreSQL 스키마
```sql
-- 계약 템플릿
CREATE TABLE contract_templates (
  id UUID PRIMARY KEY,
  name VARCHAR(100),
  type VARCHAR(50), -- 'employment', 'nda', 'service'
  template_content TEXT, -- Jinja2 템플릿
  variables JSONB, -- 필요 변수 목록
  created_by UUID,
  created_at TIMESTAMP
);

-- 계약 인스턴스
CREATE TABLE contracts (
  id UUID PRIMARY KEY,
  template_id UUID REFERENCES contract_templates(id),
  creator_id UUID,
  recipient_id UUID,
  status VARCHAR(50), -- 'draft', 'sent', 'signed', 'completed'
  contract_data JSONB, -- 실제 입력된 데이터
  pdf_path TEXT,
  hash VARCHAR(64),
  signed_at TIMESTAMP,
  expires_at TIMESTAMP
);

-- 서명 기록
CREATE TABLE contract_signatures (
  id UUID PRIMARY KEY,
  contract_id UUID REFERENCES contracts(id),
  signer_id UUID,
  signature_method VARCHAR(50), -- 'kakao', 'pass', 'toss'
  signature_data TEXT, -- 암호화된 서명 이미지
  ip_address INET,
  timestamp TIMESTAMP,
  certificate TEXT -- 인증서 정보
);
```

### 5.2 파일 저장 구조
```
/mnt/hdd/contracts/
├── templates/
│   ├── employment_contract_v1.html
│   └── nda_template_v1.html
├── signed/
│   ├── 2025-09/
│   │   ├── {contract_id}_original.pdf
│   │   └── {contract_id}_signed.pdf
│   └── 2025-10/
└── temp/
    └── {session_id}_draft.pdf
```

## 6. 구현 플로우

### 6.1 계약 생성 프로세스
```
1. CEO: "@로빙 김철수 근로계약서 보내줘"
2. 로빙: slack_user_mapping에서 김철수 정보 조회
3. 템플릿에 자동 입력 (이름, 부서, 직급, 입사일)
4. 프리뷰 생성 및 확인 요청
5. CEO 확인 후 발송
6. 김철수에게 DM으로 서명 링크 전송
```

### 6.2 서명 프로세스
```
1. 서명 링크 클릭 (JWT 토큰, 30분 유효)
2. 본인인증 (카카오/PASS/토스)
3. 계약서 내용 확인
4. 전자서명 (터치/마우스 서명)
5. PDF 생성 + 타임스탬프
6. 양 당사자에게 완료 PDF 전송
```

## 7. 슬랙 인터페이스

### 7.1 계약 생성
```slack
CEO: @로빙 김철수 근로계약서 준비해줘

로빙: 📝 김철수님 근로계약서를 준비했습니다.
     ┌─────────────────────────┐
     │ 성명: 김철수             │
     │ 부서: 개발팀             │
     │ 직급: 대리               │
     │ 입사일: 2025-10-01       │
     │ 급여: ****만원           │
     └─────────────────────────┘
     [✅ 발송] [✏️ 수정] [❌ 취소]
```

### 7.2 서명 요청 (김철수 DM)
```slack
로빙: 📮 근로계약서 서명 요청이 도착했습니다.
     
     발신: 홍길동 대표
     문서: 근로계약서
     만료: 2025-09-10 18:00
     
     [📝 서명하기] [📄 내용 확인]
```

## 8. 보안 및 컴플라이언스

### 8.1 보안 조치
- HTTPS 전용 통신
- 서명 페이지 CSRF 토큰
- Rate limiting (분당 10회)
- 민감정보 마스킹 처리

### 8.2 감사 로그
```python
audit_log = {
    "action": "contract_signed",
    "user_id": "uuid",
    "contract_id": "uuid",
    "ip": "192.168.1.1",
    "timestamp": "2025-09-09T10:00:00Z",
    "details": {...}
}
```

## 9. 외부 서비스 연동

### 9.1 전자서명 인증
- **카카오인증**: REST API 연동
- **PASS**: 통신3사 인증
- **토스인증**: 간편인증 API

### 9.2 타임스탬프
- KISA TSA 서버 연동
- RFC 3161 표준 준수

### 9.3 블록체인 (선택)
- Klaytn 메인넷 활용
- 문서 해시만 기록 (비용 최소화)

## 10. 차별화 기능

### 10.1 AI 기반 계약 검토
- 불공정 조항 자동 감지
- 법률 용어 쉬운 설명
- 유사 계약 비교 분석

### 10.2 자동 갱신 관리
- 만료 30일 전 알림
- 자동 갱신 조항 추적
- 갱신 협상 가이드

### 10.3 다국어 지원
- 영문 계약서 자동 번역
- 이중 언어 병기 옵션

## 11. 예상 개발 일정
- Phase 1 (2주): 기본 템플릿 및 PDF 생성
- Phase 2 (2주): 전자서명 API 연동
- Phase 3 (1주): 슬랙 인터페이스
- Phase 4 (1주): 보안 및 테스트

## 12. ROI 분석
- 개발 비용: 6주 * 1명 = 약 3000만원
- 절감 효과: 100개 회사 * 월 10만원 = 월 1000만원
- 투자 회수: 3개월