---
title: "5만 달러짜리 수작업 포렌식 감사를 결정론적 Python 엔진으로 대체한 사례"
published: 2026-03-14T21:36:13.000Z
canonical: https://jeff.news/article/567
---
# 5만 달러짜리 수작업 포렌식 감사를 결정론적 Python 엔진으로 대체한 사례

이혼 소송에서 공동 계좌 내 별도 재산을 증명하는 포렌식 회계 작업을 자동화한 Exit Protocol. LIBR(최저 중간 잔액 규칙)을 상태 머신으로 구현하고, Spatial-Grid OCR로 은행 PDF를 처리하며, Daubert 기준 충족을 위해 AI를 의도적으로 배제한 결정론적 파이프라인임.

## 이혼 소송용 포렌식 회계를 자동화한 결정론적 Python 엔진 — AI를 의도적으로 배제한 이유

**Show HN**에 올라온 [Exit Protocol](https://exitprotocols.com)은 이혼 소송에서 공동 계좌 내 별도 재산(separate property)을 수학적으로 증명하는 포렌식 회계 자동화 엔진임.

## 문제: 5만 달러짜리 수작업 감사

- 공동 계좌에 혼재된 25만 달러의 별도 재산을 증명하려면, 포렌식 CPA가 시간당 500달러를 받으며 수년치 은행 PDF를 엑셀에 옮겨 추적하는 작업이 필요함
- 통상 수주가 소요되며 비용이 5만 달러를 넘기는 경우가 허다함
- 개발자는 법원이 사용하는 **LIBR(Lowest Intermediate Balance Rule)** 기준을 분석한 결과, 이것이 회계 문제가 아니라 **분산 시스템의 상태 머신 문제**라는 점을 깨달음

## 핵심 아키텍처

### 1. Spatial-Grid OCR 파이프라인

- 은행 명세서는 병합 셀, 겹치는 차변/대변 컬럼 등으로 "OCR의 최종 보스"로 불림
- 기존 선형 OCR(Tesseract 등)로는 처리가 불가능함
- **Azure Document Intelligence**를 메인으로, **Surya OCR**을 로컬 폴백으로 사용하는 공간 그리드 OCR 파이프라인을 구축함
- 페이지의 기하학적 구조를 매핑하여 "지옥에서 온 PDF"에서도 테이블 원장을 완벽히 복원함

### 2. 결정론적 LIBR 엔진

- LIBR 알고리즘은 **단방향 래칫(one-way ratchet)**으로 작동함
- 계좌 잔액이 별도 재산 청구액 아래로 떨어지면, 청구액은 해당 바닥값으로 영구 상한이 설정됨
- 이후 혼인 기간 입금이 있어도 청구액이 복원되지 않음 ("보충 오류/replenishment fallacy")
- 수천 건의 거래를 시간순으로 재생하며 다음 공식을 지속 평가함:

> **`S_t = min(S_{t-1}, B_t)`**

### 3. 타임스탬프 모호성 해결

- 은행 PDF는 날짜만 제공하고 타임스탬프는 제공하지 않음
- 같은 날 1만 달러 입금과 1만 달러 출금이 발생하면 순서에 따라 결과가 달라짐
- **Worst Case**(출금 먼저 처리) vs **Best Case** 시뮬레이션 토글을 구현하여, 수학적으로 반박 불가능한 **"Zone of Truth"**를 합의 협상에 제공함

### 4. 암호학적 증거 관리 체인 & Sovereign Mode

- 생성된 모든 PDF 보고서에 기저 데이터 스냅샷의 **SHA-256 해시**를 봉인하여, 생성 이후 변조되지 않았음을 판사에게 증명함
- 클라우드 SaaS 유출을 우려하는 법률 사무소를 위해, 전체 모놀리스(**Django 5.0 / PostgreSQL / Celery**)를 Docker로 컨테이너화한 **"Sovereign Mode"** 제공
- 에어갭 환경의 자체 하드웨어에서 독립 실행이 가능함

## 왜 AI를 쓰지 않았는가

> 지금 수백 개의 리걸테크 스타트업이 LLM으로 은행 데이터를 요약하려 하고 있지만, 법정에서 GenAI는 치명적 약점임. LLM이 단 하나의 거래를 할루시네이션하면, **Daubert 기준**에 따라 전체 원장이 증거능력을 상실함.

- **Daubert standard**: 미국 연방법원에서 전문가 증언·과학적 증거의 신뢰성을 판단하는 기준
- 법정 제출 가능한 결과물을 만들기 위해 파이프라인 전체를 **엄격히 결정론적(strictly deterministic)**으로 설계함
- 같은 입력에 항상 같은 출력이 보장되어야 하므로 확률적 모델을 의도적으로 배제한 것임

---

> [!NOTE]
> AI 만능론이 지배하는 시기에, "왜 AI를 쓰지 않았는가"를 명확히 설명하고 결정론적 접근을 택한 사례로서 주목할 만함. 법적 증거능력이 요구되는 도메인에서는 할루시네이션 리스크가 곧 시스템 전체의 무효화로 이어진다는 점을 잘 보여줌.

## 핵심 포인트

- LIBR 알고리즘을 S_t = min(S_{t-1}, B_t) 단방향 래칫 상태 머신으로 구현
- Azure Document Intelligence + Surya OCR 폴백의 공간 그리드 OCR 파이프라인으로 은행 PDF 처리
- LLM 할루시네이션이 Daubert 기준에서 전체 원장의 증거능력을 무효화할 수 있어 AI를 의도적으로 배제
- SHA-256 해시 기반 증거 관리 체인과 에어갭 배포용 Docker 컨테이너화 Sovereign Mode 제공
- Django 5.0/PostgreSQL/Celery 기반 모놀리스 아키텍처

## 인사이트

AI 만능론 시대에 법적 증거능력이 요구되는 도메인에서는 결정론적 접근이 필수적이며, 할루시네이션 리스크가 곧 시스템 전체의 신뢰성 붕괴로 이어진다는 점을 보여주는 역설적 사례임.
