Apache-2.0 · TypeScript · PostgreSQL 16

Turn signed Kakao inquiries into duplicate-safe booking leads.

A runnable reference pipeline for teams evaluating travel inquiry automation. Inspect the trust boundaries, run a synthetic message, and reuse the parts that fit.

서명된 카카오 여행 문의를 검증하고 PostgreSQL 고객·예약 리드로 변환하는 실행 가능한 오픈소스 예제입니다.

Reference implementation, not a hosted service. Real CRM and Google Sheets adapters are intentionally not claimed.

Implemented path
  1. 01 · Input Kakao webhook HMAC + 256 KiB boundary
  2. 02 · Parse Typed reservation Zod + deterministic rules
  3. 03 · Store PostgreSQL 16 Identity + lease fencing
  4. 04 · Output CRM-ready lead External adapter boundary
Release v0.1.1 published CI Coverage gates enforced Database PostgreSQL 16 verified Security CodeQL on every change

Evaluate locally

One synthetic message. No account or API key.

The demo runs the real parser, idempotency boundary, customer creation, booking decision, and fake downstream adapters. It never sends data to a hosted service.

Terminal Node.js 22
git clone https://github.com/cstion-ai/cstion.git
cd cstion
npm ci
npm run demo

Expected: a redacted created result from synthetic input.

Inspect before adopting

Claims link to their proof.

Implemented means code and tests exist. It does not mean the project has passed production load or live-service validation.

Verified in the repository

  • Webhook boundaryRaw-body HMAC verification, schema parsing, and body limits.
  • Duplicate safetyEvent leases, stable booking IDs, and token-fenced completion.
  • Identity ownershipDeterministic locks and conflicting-owner rejection.
  • PostgreSQL upgradeRecorded migration and concurrency scenarios on PostgreSQL 16.
Read the PostgreSQL evidence

Not claimed yet

  • Production readinessStartup remains fail-closed while external adapters are fake.
  • Live CRM or Sheets syncInterfaces exist; real provider implementations do not.
  • Hosted demoThis repository provides code, not a managed customer-data service.
  • Verified adoptersNo third-party deployment is listed without permissioned evidence.
Review remaining risks

Adoption path

Evaluate it, adapt it, then tell us what happened.

Create an independent copy, keep all fixtures synthetic, and share the evaluation stage and outcome. Public reports are listed only with the reporter’s permission.