프로젝트

PROJECT / 2026

KYvC

법인 KYC 신청·서류 심사, VC 발급, Wallet 보관, VP 제출·검증을 구현한 법인 인증 프로젝트

프로젝트 설명

반복되는 법인 KYC 심사

법인 고객을 받는 금융·핀테크 서비스는 사업자등록증과 법인등기사항전부증명서 등 여러 증빙을 확인하고, 법인 정보와 제출서류가 일치하는지 사람이 반복해서 검토해야 합니다.

기관마다 다시 제출되는 증빙

한 기관에서 심사를 마쳐도 다른 기관에서는 기존 결과를 그대로 신뢰하기 어려워 같은 법인 정보와 서류를 다시 제출받는 경우가 많습니다. 법인은 제출을 반복하고 심사기관은 이미 확인된 항목을 다시 검토하게 됩니다.

검증 결과를 자격증명으로 활용

KYvC는 제출서류를 OCR·LLM으로 분석한 뒤 관리자 심사를 거쳐 확인된 법인 정보를 VC로 발급합니다. 법인은 Wallet에 보관한 자격증명을 VP로 제출하고, 검증기관은 원본 서류 전체를 다시 받지 않고 필요한 정보와 자격증명 상태를 확인할 수 있도록 설계했습니다.

기술 스택 · 성과

기술 스택

- 본인 개발 영역

  • Next.js
  • React
  • TypeScript
  • Java
  • Spring Boot
  • Python
  • FastAPI
  • PostgreSQL
  • MySQL
  • Docker
  • Docker Compose
  • Nginx
  • Linux
  • GitHub Actions
  • GHCR
  • XRPL

성과

  1. KFIP Toss 특별상 수상
  2. Toss PoC 협의 단계 진입
  3. BKL 법률 검토 단계 진입

직접 담당한 개발 영역

  1. PL

    • KYC 신청·심사·VC 발급·VP 검증의 서비스 경계와 책임 정의
    • Frontend, Backend, Admin, Core 간 API 호출 방향과 데이터 책임 기준 수립
    • 개발 일정과 담당 영역 조율
    • DEV / PROD 배포 기준과 브랜치 운영 정책 정리
  2. Backend

    • 법인·사용자·KYC·제출문서·Credential 업무 API 설계·구현
    • KYC 심사 상태와 보완 제출, VC 발급 상태를 업무 DB 기준으로 관리
    • CoreAdapter를 통한 OCR·LLM·DID·VC·VP 처리 요청과 결과 반영
    • Backend와 Backend Admin의 업무 책임 분리
    • PostgreSQL Schema와 Flyway Migration 관리
  3. Infra

    • DEV / PROD Docker Compose·Network·Database 분리
    • Synology DSM Reverse Proxy와 Nginx의 외부·내부 라우팅 책임 분리
    • 서비스별 Docker Image와 GHCR Registry 운영
    • develop / main 기준 GitHub Actions 배포 Workflow 구성
    • Self-hosted Runner에서 서비스별 배포와 Health Check 수행

아키텍처

KYvC 시스템 아키텍처
인프라 / 실행 환경
외부 도메인의 진입점은 Synology DSM Reverse Proxy에 두고, 애플리케이션 라우팅과 정적 파일 처리는 Nginx, 서비스 실행은 Docker Compose가 담당하도록 역할을 나눴습니다. NAS의 외부 네트워크 설정은 유지하면서 애플리케이션 포트는 내부에 한정하고, 서비스별 Container를 독립적으로 교체할 수 있는 구조를 우선했습니다.
인프라 / 배포
서버에서 소스를 직접 Build하지 않도록 GitHub Actions에서 서비스별 Docker Image를 만들고 GHCR에 저장한 뒤 Self-hosted Runner가 배포하도록 구성했습니다. develop과 main의 DEV·PROD 배포 기준을 분리하고 동일한 Image 단위로 버전을 관리해 여러 서비스의 배포 절차와 재배포 기준을 일정하게 유지하는 것을 우선했습니다.

기술적 문제 해결