Problem
한국의 공공 서비스, 복지, 상권 현장에는 공통된 문제가 있다. "기록은 있지만 증명은 없다."
아동 발달 재활 센터는 매 세션마다 수기로 치료 기록을 남기고, 바우처 잔여 횟수를 엑셀로 관리한다. 복지관은 수급자 자격을 수동으로 확인하고, 감사 요청이 오면 수주간 자료를 뒤진다. 상권 쿠폰 사업은 월말에 수동 정산을 돌리고, 정산 분쟁이 반복된다.
이 세 현장의 공통 구조는 동일하다.
| 구분 | 현장의 현실 | 결과 |
|---|---|---|
| 기록 방식 | 수기, 엑셀, 개별 파일 | 분실 위험, 위변조 취약 |
| 증빙 생산 | 사후 수집, 수동 정리 | 감사 대응 2주 이상 |
| AI 개입 추적 | 없음 | 책임 소재 불분명 |
| 정산/승인 투명성 | 월 단위 후처리 | 분쟁 빈번, 신뢰 저하 |
Cronozen은 이 세 가지 현장에서 **Decision Proof Unit(DPU)**를 핵심으로, 발생 즉시 증빙 체인을 생성하는 시스템을 구축했다. 아래는 실제 코드베이스에 구현된 세 가지 Use Case다.
Use Case 1: 아동 발달 재활 증빙 자동화
Solution
Cronozen의 Rehab Vertical은 아동 발달 재활 치료의 전 과정을 증빙 체인으로 연결한다. 바우처 발급에서 치료 세션 진행, 보호자 확인, 진행 추적까지 — 모든 단계에서 DPU가 자동 생성된다.
Architecture
Rehab Vertical의 핵심 구조는 다음과 같다.
데이터 모델 4층 구조:
| 계층 | 구성요소 | 역할 |
|---|---|---|
| Actor Layer | Parent-Child 관계, Guardian 연결 | 보호자-아동 관계 추적, 서명 권한 관리 |
| Voucher Layer | voucher_documents, voucher_balances, voucher_usage_logs | 바우처 발급-사용-잔여 관리 |
| Routine Layer | routines, routine_sessions | 치료 계획 및 세션 관리 |
| Proof Layer | DecisionProofUnit (domain: rehab_care) | 모든 판단에 대한 증빙 생성 |
정책 가드 적용:
Rehab 도메인에는 MEDIUM 티어 정책(AI-REHAB-v1.0)이 적용된다.
- Human Review 필수 (치료사 승인 없이 DPU 생성 불가)
- AUTONOMOUS AI 모드 차단
- 최소 Evidence Level: PARTIAL
- PHI(Protected Health Information) 데이터는 AUDIT_READY만 허용
Flow
Before Cronozen:
치료사가 수기로 기록 작성
--> 보호자에게 종이 서명 요청
--> 엑셀에 바우처 잔여 횟수 입력
--> 분실/누락 발생 시 재작성
--> 감사 요청 시 파일 뒤져서 수집 (2주+)
After Cronozen:
세션 시작 (routine_session 생성)
--> 치료 기록 입력 + AI 분석 보조
--> DPU 자동 생성 (5-Guard 통과)
- Guard 1: rehab_care 정책 존재 확인
- Guard 2: Evidence Level 충족 확인 (PARTIAL 이상)
- Guard 3: 치료사 Human Review 확인
- Guard 4: Risk Threshold + PHI 제약 확인
- Guard 5: 정책 위반 시 DENY 로그 기록
--> Hash Chain 링크 생성 (SHA-256 체인 연결)
--> 보호자 앱에서 확인 + 서명
--> 바우처 잔여 자동 차감 (voucher_balances)
--> 감사 요청 시 JSON-LD Export 즉시 (2분)
Example
실제 시나리오: 5세 아동 "김하늘"의 언어치료 8회차 세션
| 단계 | 기존 방식 | Cronozen |
|---|---|---|
| 세션 기록 | 종이 차트에 수기 작성 | 디지털 입력 + AI 보조 분석 |
| 바우처 차감 | 엑셀 수동 입력 | voucher_usage_logs 자동 생성 |
| 보호자 확인 | 대면 서명 | 앱 내 실시간 서명 + DPU 연결 |
| 증빙 생성 | 없음 (사후 수집) | DPU 즉시 생성 (Evidence Level: PARTIAL) |
| 진행 추적 | 치료사 기억에 의존 | routine_sessions 기반 자동 추적 |
| 감사 대응 | 파일 수집 2주 | JSON-LD Export 2분 |
DPU 생성 시 정책 스냅샷:
DPU가 생성되는 순간, 해당 시점의 정책이 통째로 스냅샷되고 SHA-256 해시가 기록된다. 나중에 정책이 변경되더라도 "당시 기준"으로 재검증이 가능하다. 이것이 Cronozen의 시간적 불변성(Temporal Immutability) 원칙이다.
Result
| 지표 | Before | After |
|---|---|---|
| 증빙 생성 시간 | 사후 수일 | 실시간 자동 |
| 감사 대응 시간 | 2주+ | 2분 |
| 바우처 관리 오류율 | 수동 입력 오류 빈번 | 자동 차감, 오류 0% |
| 보호자 확인 | 대면 방문 필수 | 앱 내 원격 서명 |
| 위변조 위험 | 파일 수정 가능 | Hash Chain으로 변조 감지 |
Use Case 2: 복지 급여 추적 시스템
Solution
Cronozen의 Welfare Vertical은 복지관 사례관리의 전 과정 — 접수부터 종결까지 — 을 DPU 기반 증명 체인으로 관리한다. Auto Decision Engine이 신뢰도 기반 자동 승인을 수행하고, 경계 사례(Edge Case)는 사람에게 에스컬레이션한다.
Architecture
Welfare Vertical 핵심 구조:
| 계층 | 구성요소 | 역할 |
|---|---|---|
| Need Assessment | welfare_need_categories (우선순위 기반) | 복지 욕구 분류 및 우선순위 관리 |
| Service Matching | welfare_services (법적근거, 자격요건 연결) | 수급 자격 매칭 |
| Decision Engine | AutoDecisionEngine (confidence-based) | 자동 승인/거부/에스컬레이션 |
| Consent Layer | actor_consents (personal, sensitive, third-party, guardian) | 세분화된 동의 관리 + 감사 로그 |
| Proof Layer | welfare-case-dpu.ts (domain: welfare_case) | 상태 전이마다 DPU 생성 |
Auto Decision Engine 작동 원리:
| 점수 범위 | 결정 | 실행 방식 |
|---|---|---|
| 80점 이상 + 신뢰도 90%+ | Approval | 시스템 자동 실행 |
| 60~80점 | Approval 또는 Escalation | 개별 항목 점수에 따라 판단 |
| 40~60점 | Defer | 추가 정보 요청 |
| 40점 미만 | Rejection | 사유와 함께 거부 |
핵심: 신뢰도 90% 이상일 때만 시스템이 자동 실행하고, 나머지는 반드시 사람이 최종 판단한다. 모든 자동 결정에는 DPU가 생성되어 "왜 자동 승인했는지"가 증명된다.
Flow
사례관리 상태 전이 + DPU 매핑:
접수 --> 사정 --> 계획 --> 계약 --> 진행중 --> 평가 --> 종결
| | | | | | |
DRAFT DRAFT PARTIAL PARTIAL AUDIT_ PARTIAL AUDIT_
READY READY
각 상태 전이에서 welfare-case-dpu.ts의 mapStatusToEvidenceLevel() 함수가 자동으로 적절한 Evidence Level을 매핑한다.
접수,사정단계: Evidence Level = DRAFT (기본 기록)계획,계약,평가,종결준비: Evidence Level = PARTIAL (부분 검증)진행중,종결: Evidence Level = AUDIT_READY (감사 대응 가능)
동의(Consent) 관리:
Cronozen은 단순 체크박스가 아닌, 4종 분리 동의를 추적한다.
| 동의 유형 | 내용 | 감사 추적 |
|---|---|---|
| personal_info | 개인정보 수집/이용 동의 | consent_audit_logs |
| sensitive_info | 민감정보 처리 동의 | consent_audit_logs |
| third_party | 제3자 제공 동의 | consent_audit_logs |
| guardian_info | 법정대리인 동의 | consent_audit_logs |
동의 철회 시에도 withdrawn_at 타임스탬프가 기록되어, "언제 동의했고 언제 철회했는지"에 대한 완전한 감사 추적이 가능하다.
Example
실제 시나리오: 저소득 가구 "박OO"의 긴급복지 신청
| 단계 | 기존 방식 | Cronozen |
|---|---|---|
| 자격 확인 | 담당자 수동 확인 (소득, 장애등급, 연령) | Auto Decision Engine 자동 평가 |
| 승인 결정 | 담당자 주관적 판단 | 점수 기반 객관적 결정 + DPU 기록 |
| 동의 수집 | 종이 동의서 | 4종 디지털 동의 + 감사 로그 |
| 급여 지급 | 수동 처리 | 자동 실행 (신뢰도 90%+) 또는 에스컬레이션 |
| 이의 신청 대응 | 기록 뒤지기 | DPU 조회 즉시 (결정 근거, 점수, 정책 스냅샷) |
Auto Decision Engine의 실제 평가 항목 (바우처 승인 기준):
| 평가 항목 | 배점 | 평가 내용 |
|---|---|---|
| Completeness | 0~25점 | 필수 필드 완성도 |
| User Trust | 0~25점 | 과거 승인 이력 기반 신뢰도 |
| Policy Compliance | 0~25점 | 정책 준수 여부 (날짜, 금액 검증) |
| Anomaly Score | 0~25점 | 이상 징후 감지 (중복 요청 등) |
Result
| 지표 | Before | After |
|---|---|---|
| 자격 심사 시간 | 3~5일 | 즉시 (자동 승인) 또는 1일 (에스컬레이션) |
| 동의 관리 | 종이 동의서, 분실 위험 | 4종 디지털 동의 + 감사 로그 |
| 결정 투명성 | "담당자가 판단했습니다" | 점수, 근거, 정책 버전 모두 DPU에 기록 |
| 이의 신청 대응 | 서류 수집 수일 | DPU 기반 즉시 재현 |
| AI 책임 소재 | 불분명 | ai_responsibility: "suggestion" 명시 |
Use Case 3: 상권 쿠폰 정산 증명
Solution
Cronozen의 Market Vertical은 쿠폰의 전체 생명주기 — 템플릿 생성, 발급, 사용, 정산, 환불 — 를 DPU 기반으로 추적한다. 매 정산 트랜잭션에 DPU가 연결되어, "누가, 언제, 어떤 근거로 이 금액을 정산했는가"가 즉시 증명된다.
Architecture
Market Vertical 핵심 구조:
| 계층 | 구성요소 | 역할 |
|---|---|---|
| Template Layer | coupon_templates (할인유형, 수량, 사용조건) | 쿠폰 정책 정의 |
| Instance Layer | coupon_instances (시리얼번호, 보안해시, QR) | 개별 쿠폰 발급 및 위조 방지 |
| Usage Layer | coupon_usage_logs (매장, 할인금액, dpu_id) | 사용 내역 + DPU 연결 |
| Settlement Layer | settlements, settlement_items, revenue_share | 정산 계산 + 수익 배분 |
| Verification Layer | store_qr_codes (QR, 보안키, 사용횟수) | 매장 검증 인프라 |
쿠폰 보안 체계:
각 쿠폰 인스턴스에는 serial_number(고유번호), security_hash(보안 해시), qr_code_data(QR 데이터)가 부여된다. 사용 시 verification_token으로 검증하며, verification_attempts가 추적되어 무차별 대입 시도를 감지한다.
Market 도메인 정책(AI-MARKET-v1.0):
| 항목 | 설정 |
|---|---|
| 데이터 민감도 | PUBLIC |
| Human Review | 불필요 (자동 승인 가능) |
| 최소 Evidence Level | DRAFT |
| AI 모드 제한 | 없음 (모든 모드 허용) |
| 자동 승인 조건 | risk_level < MEDIUM AND ai_confidence > 0.8 |
Market은 LOW 티어 정책이 적용되어 빠른 처리가 가능하지만, 모든 트랜잭션에 DPU가 연결되므로 사후 감사 대응은 동일하게 보장된다.
Flow
Before Cronozen:
쿠폰 발행 (수동)
--> 매장에서 종이쿠폰 수거
--> 월말 수동 집계
--> 정산 금액 계산 (엑셀)
--> 분쟁 발생 시 증빙 없음
--> 수익 배분 불투명
After Cronozen:
쿠폰 템플릿 생성 (coupon_templates)
--> 인스턴스 발급 (serial_number + security_hash + QR)
--> 이벤트 연결 (coupon_events, 기간/수량 제한)
--> 매장 QR 스캔으로 사용 (store_qr_codes 검증)
--> coupon_usage_logs 기록 + DPU 생성 (dpu_id 연결)
--> 정산 자동 계산 (settlements + settlement_items)
--> 수익 배분 (revenue_share_settlements)
--> 모든 단계 JSON-LD Export 가능
정산(Settlement) 구조:
| 필드 | 설명 |
|---|---|
| settlement_type | 정산 유형 (강사비, 쿠폰 정산 등) |
| period_month | 정산 월 (YYYY-MM) |
| total_amount | 총 정산 금액 |
| status | pending -> submitted -> approved -> paid |
| settlement_items | 개별 세션/거래 항목 (날짜, 시간, 금액) |
| version | Optimistic Locking (동시 수정 방지) |
정산 레코드에는 @@unique([instructor_id, center_id, period_month, settlement_type]) 제약이 걸려, 동일 기간 중복 정산이 구조적으로 불가능하다.
Example
실제 시나리오: 서초구 상권활성화 쿠폰 "서초로 할인쿠폰" 3월 정산
| 단계 | 기존 방식 | Cronozen |
|---|---|---|
| 쿠폰 발급 | 종이 쿠폰 인쇄/배포 | 디지털 발급 (QR + 보안해시) |
| 위조 방지 | 없음 | security_hash + verification_token |
| 사용 확인 | 매장 수기 수거 | QR 스캔 + 실시간 검증 |
| 정산 집계 | 월말 엑셀 수동 | settlement_items 자동 집계 |
| 분쟁 대응 | "우리가 더 많이 팔았다" | coupon_usage_logs + DPU로 즉시 증명 |
| 수익 배분 | 협의 기반 (불투명) | revenue_share_settlements (publisher_share_rate 명시) |
DPU + 쿠폰 사용 로그 연결:
coupon_usage_logs 테이블과 coupon_event_claims 테이블 모두 dpu_id 필드를 가진다. 이는 "이 쿠폰 사용/클레임이 어떤 DPU에 의해 증명되는가"를 직접 연결한다. 정산 분쟁 시 해당 DPU를 조회하면 사용 시점, 매장 정보, 할인 금액, 검증 방법이 모두 포함된 JSON-LD를 즉시 추출할 수 있다.
Result
| 지표 | Before | After |
|---|---|---|
| 정산 주기 | 월 1회 수동 | 실시간 자동 집계 |
| 정산 분쟁 | 월 3~5건 | DPU 기반 즉시 해결 |
| 쿠폰 위조 | 종이쿠폰 위조 가능 | security_hash + QR 이중 검증 |
| 수익 배분 투명성 | 구두 합의 | publisher_share_rate 설정 + 자동 계산 |
| 감사 대응 | 수동 정리 수일 | JSON-LD Export 즉시 |
3개 Use Case 통합 비교
| 비교 항목 | Rehab (재활) | Welfare (복지) | Market (상권) |
|---|---|---|---|
| 도메인 정책 | AI-REHAB-v1.0 (MEDIUM) | AI-WELFARE-v1.0 (HIGH) | AI-MARKET-v1.0 (LOW) |
| 데이터 민감도 | PHI | PII | PUBLIC |
| Human Review | 필수 (치료사) | 조건부 (에스컬레이션 시) | 불필요 |
| Evidence Level 최소 기준 | PARTIAL | PARTIAL | DRAFT |
| AI 모드 제한 | AUTONOMOUS 차단 | AUTONOMOUS 차단 | 제한 없음 |
| 핵심 증빙 대상 | 치료 세션, 바우처 | 자격 심사, 급여 지급 | 쿠폰 사용, 정산 |
| Hash Chain | rehab_care 도메인 | welfare_case 도메인 | market 도메인 |
| 자동 승인 | 불가 (항상 치료사 확인) | 신뢰도 90%+ 시 자동 | 자동 승인 기본 |
공통 인프라:
세 Use Case 모두 동일한 DPU 인프라 위에서 작동한다.
- 5-Guard 정책 검증 시스템
- SHA-256 Hash Chain (도메인별 독립 체인)
- Evidence Level 단계적 진행 (DRAFT -> PARTIAL -> AUDIT_READY)
- 정책 스냅샷 + 해시 (시간적 불변성)
- JSON-LD Export (감사 대응)
- Responsibility Graph (집행자-승인자-증빙 3자 관계)
하나의 코드베이스, 하나의 DPU 시스템, 세 가지 현장. 이것이 Cronozen의 Multi-Vertical 증명 인프라다.