출구가 없어 홀로 고립된 앰버색 노드 하나가 있는 분쟁 워크플로 다이어그램 — 죽은 상태.
FintechArtificial IntelligenceCompliance

Apple과 Goldman은 아무도 존재를 몰랐던 상태에 수천 건의 분쟁을 잃었다. 그 대가는 8,900만 달러였다.

Ashutosh SinghalAshutosh Singhal2026년 6월 7일13 min

2020년 6월, Apple은 Apple Card 분쟁 처리 흐름에 양식 하나를 추가했다. 사소한 것이었다. 변경 전에는 "문제 신고"를 탭하면 Goldman Sachs와의 메시지 대화로 연결되었고, 분쟁이 접수되었다. 변경 후에는 첫 제출이 들어오면 두 번째 양식을 작성해야 했다.

이 사소한 것이 무슨 일을 했는지 보자. 문제를 메시지로 신고했지만 두 번째 양식을 끝내 작성하지 않으면, 시스템은 당신의 분쟁이 미완료라고 판단했다. 그것은 Goldman에 전송되지 않았다. 아무도 그것을 조사하지 않았다. 접수 확인서는 결코 발송되지 않았다. 그리고 Regulation Z 제1026.13조에 따르면, 그 첫 메시지들 중 상당수는 유효한 청구 오류 통지(Billing Error Notice)였다 — 채권자가 법적으로 30일 이내에 접수 확인하고 두 번의 청구 주기 이내에 해결해야 하는 종류다.

그중 수천 건이 그냥 방치되어 있었다. 제출되었지만 아무 데로도 라우팅되지 않았다. 2024년 10월, 소비자금융보호국(CFPB)은 Apple과 Goldman Sachs에게 8,900만 달러를 그 대가로 지급하라고 명령했고, Goldman이 신뢰할 만한 컴플라이언스 계획 없이 새 신용카드를 출시하는 것을 금지했다. 나는 카드 발급사의 분쟁 운영 부서에서 내 경력의 상당 부분을 보냈고, 그 명령을 읽었을 때 나는 과실을 보지 못했다. 나는 구멍이 뚫린 상태 기계를 보았고, 내가 아는 모든 은행이 지금 자기 워크플로 어딘가에 갖고 있는 그런 구멍을 보았다.

이것이 이 글에서 내가 당신에게 설득하고 싶은 것이다: 당신의 분쟁 시스템에는 아직 발견하지 못한 죽은 상태들이 있고, 당신이 그것들을 발견하지 못한 이유는 그동안 당신이 그것들에 대해 테스트를 해 왔을 뿐, 증명은 하지 않았기 때문이다 — 그것들이 존재할 수 없다는 것을 말이다. 해결책은 대부분의 은행원이 한 번도 제안받아 본 적 없는 기법 — 정형 검증(formal verification) — 이며, 그것이 바로 우리가 Veriprajna의 금융 컴플라이언스 검증 사업부를 그것을 중심으로 구축한 이유다.

8,900만 달러짜리 버그는 실수가 아니라 상태였다

상태 기계 다이어그램: 조사로의 전이가 없는 FormA_Submitted AND FormB_Pending 죽은 상태.

무엇이 잘못되었는지 정확히 짚어 보겠다. 그 정확성이야말로 핵심이기 때문이다.

Apple-Goldman 워크플로에는 한 줄로 설명할 수 있는 도달 가능한 상태가 하나 있었다: 분쟁이 FormA_Submitted AND FormB_Pending 상태에 있었다는 것이다. 그 상태에서 Investigation_Initiated(으)로의 전이는 없었다. 전혀. 첫 메시지 이후 멈춘 소비자는 그곳에 영구히 머물렀다 — 법적으로는 접수 확인을 받을 자격이 있었지만, 시스템 자체 논리상으로는 아무 자격도 없었다.

분쟁들은 사라진 게 아니었다. 그것들은 시스템이 둔 바로 그 자리에 정확히 있었다. 시스템은 단지 "여기"가 분쟁이 죽을 수 있는 곳이라는 사실을 결코 알지 못했을 뿐이다.

우리 팀이 화이트보드에서 이것을 처음 차근차근 짚어 보았을 때, 한 엔지니어가 뻔한 말을 했다 — 그저 버그일 뿐이며 테스트에서 잡았을 종류라고. 나는 그에게 어떻게 잡았겠냐고 물었다. Apple-Goldman 흐름은 두 시스템 사이의 하나의 통합 지점이었다. 내가 함께 일해 본 대부분의 대형 발급사는 단일 분쟁 하나에 10~15개의 시스템이 관여한다 — Visa VROL 포털, Mastercard의 GCMS, 케이스 관리 플랫폼, 코어 뱅킹 원장, 통지서 생성 시스템, 신용평가기관 피드, 잠정 크레딧 엔진, 그리고 한 움큼의 내부 라우팅 큐. 모든 API 변경, 모든 파트너 통합, 모든 신규 제품 기능이 그 미로를 관통하는 새로운 경로를 연다.

테스트는 당신이 적어 두려고 떠올린 경로들을 확인한다. 그것은 정의상 당신이 이미 상상한 실패들의 목록이다. Apple-Goldman의 죽은 상태는 아무도 상상하지 못한 실패였고, 바로 그래서 어떤 테스트도 그것을 포함하지 못했다. 그릴 수조차 없는 문제를 테스트로 빠져나올 수는 없다. 그것은 프로세스의 실패가 아니다. 그것은 수학적 한계다.

우리는 왜 그냥 테스트를 더 많이 작성할 수 없었을까?

나는 이 논쟁에 오후 하나를 통째로 날렸으니, 당신에게는 그 오후를 아껴 주겠다.

그 엔지니어의 반론은 합리적이었다: 테스트 케이스를 더 많이 작성하라. 더 많은 경로를 커버하라. 커버리지를 높여라. 그래서 나는 그것을 그려 보였다. 분쟁 워크플로는 선이 아니라 그래프다 — 분쟁 유형에 따른 분기, 네트워크에 따른 분기, 잠정 크레딧이 발급되었는지에 따른 분기, 어떤 기한 체계가 적용되는지에 따른 분기, 파트너 시스템이 인계를 접수 확인했는지에 따른 분기. 각 분기는 이전 것을 곱한다. 수십 개의 결정 지점을 가진 워크플로는 당신이 평생 작성할 테스트보다 더 많은 도달 가능한 상태를 갖는데, 위험한 것들은 아무도 앉아서 열거하지 않는 조합들이다 — 실제로 벌어지기 전까지는 터무니없어 보이기 때문이다.

그는 한동안 계속했다. 그러다 내가 조합적 폭발을 그렸다 — 상태의 수가 두 배가 되고, 다시 두 배가 되는 것을 — 그러자 그는 멈췄다. 상태 공간을 테스트로 이길 수는 없다. 상태가 바닥나기 전에 동전이 먼저 바닥난다.

이것이 내가 정형 기법(formal methods)을 진지하게 읽기 시작한 순간이며, 여기서 중요한 기법은 쉬운 설명을 갖는다. 모델 검사기(model checker)는 당신의 워크플로 모델과 불변식(invariant) — 항상 성립해야 하는 속성 — 을 받아, 그런 다음 도달 가능한 모든 상태를 남김없이 탐색하며, 속성이 깨지는 상태를 찾는다. 불변식을 "제출된 모든 분쟁은 30일 이내에 접수 확인에 도달한다"로 작성하고, 검사기를 Apple-Goldman 흐름에 겨누면, 그것은 몇 초 만에 죽은 상태를 반환한다 — 당신을 그곳에 이르게 하는 정확한 단계별 경로와 함께. TLA+ 같은 도구는 분산 시스템에 대해 이것을 하며, 동일한 논리가 엄격한 기한을 가진 규제 워크플로에 깔끔하게 적용된다.

테스트는 당신이 상상한 경로들을 표본으로 뽑는다. 모델 검사기는 당신이 상상하지 못한 경로들을 방문한다.

아무도 책임지지 않는 타임라인 충돌

하나의 분쟁에서 충돌하는 Reg Z, Reg E, Visa VCR, Mastercard의 기한을 보여 주는 네 개의 겹쳐진 타임라인 막대.

분쟁 관리자들을 밤새 잠 못 이루게 하는 부분은 하나의 죽은 상태보다 더 나쁘다.

하나의 듀얼 네트워크 카드 분쟁은 서너 개의 규제 및 네트워크 시계를 동시에 작동시킬 수 있다. Reg Z는 30일 이내의 서면 접수 확인과 두 번의 청구 주기(최대 90일) 이내의 해결을 요구한다. Reg E는 직불 및 전자 이체 오류를 규율하는데, 완전히 다른 일정으로 돌아간다 — 영업일 10일 이내의 잠정 크레딧과 해결, 그리고 45일(달력일)의 연장. Visa Claims Resolution은 Allocation 케이스를 최대 70일, Collaboration 케이스를 최대 100일까지 운영한다. Mastercard의 분쟁 프레임워크는 주기에 따라 45일에서 120일까지 운영되며, 업계는 그 도입이 Visa의 것보다 훨씬 더 소화하기 어려웠다고 표현했다.

그 체계들이 하나의 분쟁에서 충돌할 때, 컴플라이언스는 그날 아침 어떤 기한이 적용되는지를 기억하는 분쟁 데스크의 누군가에게 달리게 된다. 나는 한 선임 분석가가 Reg Z 청구 오류에 Reg E 타이밍을 적용하는 것을 지켜본 적이 있다 — 물량 속에서 둘이 뒤섞이기 때문이다 — 그리고 바로 그 혼동이 CFPB 조사관들이 찾는 위반 중 하나다. Citizens Bank는 부분적으로, 선서진술서 누락을 이유로 청구 오류 통지를 거부한 것 때문에 지적을 받았다. 기한은 무르지 않다. 그것은 이진법이다. 당신은 30일 이내에 접수 확인을 했거나, 하지 않았거나 둘 중 하나다.

그리고 이것이 정형 검증이 내가 떠올릴 수 있는 거의 어떤 다른 영역보다도 금융 컴플라이언스에 더 잘 맞는 조용한 이유다: 그 규칙들은 이미 수학이다. 30일은 재량적 판단이 아니다. "영업일 10일 이내의 잠정 크레딧"은 분위기 같은 게 아니다. 이것들은 상태 기계 위의 시간적 제약이며, 시간 논리(temporal logic)는 바로 이런 종류의 속성을 증명하기 위해 만들어졌다 — 분쟁이 취할 수 있는 모든 가능한 경로에 걸쳐, 어떤 시계도 결코 놓치지 않는다는 것을.

나는 처음에 잘못된 것을 만들었다

나는 우리가 출시했지만 작동하지 않았던 버전에 대해 이야기하고 싶다. 그것이 시장 대부분이 여전히 팔고 있는 버전이기 때문이다.

우리의 첫 본능은 모니터링이었다. 모든 분쟁을 추적하고, 기한을 지켜보다가, 하나가 위반되려 할 때 빨갛게 켜지는 시스템을 만드는 것. 대시보드. 알림. 카운트다운하는 잠정 크레딧 큐 — 9일, 23시간, 시작. 그것은 아름답게 시연되었다. 나는 그것이 자랑스러웠다.

그런 다음 나는 그것을 파일럿 은행의 컴플라이언스 책임자에게 보여 주었고, 그녀는 정중한 어깨 으쓱임으로 반응했다. 그 으쓱임을 이해하는 데 며칠이 걸렸다. 모니터는 분쟁이 죽어 가고 있다고 알려 준다 — 그것이 죽는 동안에 말이다. 그것은 연기 경보기다. 그것은 애초에 분쟁이 추적될 수 있도록 시스템에 들어왔다고 가정한다 — 그런데 그것이 바로 Apple-Goldman이 산산조각 낸 그 하나의 가정이다. 왜냐하면 그 분쟁들은 애초에 전혀 추적되지 않았기 때문이다; 그것들은 추적기가 지켜볼 줄 몰랐던 상태에 있었다. 모니터링은 사후 고백이다. 그것은 은행이 조사관보다 조금 더 일찍 자기 자신의 실패를 발견하는 것이다. 그것도 가치가 있지만, 그녀가 이사회 앞에 내놓아야 하는 것은 아니었다.

모니터링은 조사관보다 며칠 앞서 실패를 안겨 준다. 하지만 그것은 결코 일어날 수 없는 실패를 안겨 주지는 못한다.

그 어깨 으쓱임은 우리에게 재구축이라는 대가를 치르게 했고, 그것은 제품에 일어난 최고의 일이었다. 시장은 내가 처음 만든 그것으로 붐빈다. FINBOA는 Reg E 기한을 추적하고 잠정 크레딧을 자동화한다; 그것을 잘한다. Quavo는 분쟁 처리를 자동화하고 실제 수치를 내놓는다 — 어느 신용조합은 한 달 안에 87%의 자동화율을 달성했다. FIS는 네트워크 포털을 통해 차지백을 처리한다. 이들 각각은 시스템에 들어오는 분쟁을 자동화하거나 지켜본다. 그러나 그중 누구도 분쟁이 들어오기 전에 사라질 수 없음을 증명하지는 않는다.

실제로 무언가를 증명하고 있는 사람이 또 있는가?

재구축 후 나는 지켜보는 게 아니라 증명하는 다른 누군가를 찾아 나섰고, 그 답은 거의 아무도 없다는 것이었다.

유일하게 진지한 이름은 Imandra다. 그들은 금융 서비스에서 진짜 정형 검증을 한다 — 정확성에 대한 수학적 증명 — 그리고 그들의 고객에는 Goldman Sachs 자신이 포함된다. 하지만 그들의 세계는 자본 시장이다: 거래소 매칭 로직, 트레이딩 프로토콜. 소비자 컴플라이언스, Reg Z, 분쟁 워크플로 — 그것은 그들이 겨누고 있는 곳이 아니며, 총 약 500만 달러의 자금으로 그들은 그곳을 겨누지 않았다.

한편 자본은 컴플라이언스의 다른 구석으로 쏟아져 들어가고 있다. Bretton AI, 옛 Greenlite는 7,500만 달러 시리즈 B를 2026년 2월에 유치했고 OCC 규제 은행들에 서비스를 제공한다 — KYC, 자금세탁방지, 온보딩을 위해. SymphonyAI의 Sensa 플랫폼은 어느 스페인 은행의 제재 스크리닝에서 오탐을 91.8% 줄였다. Alloy는 800개가 넘는 기관에 걸쳐 신원을 오케스트레이션한다. 진짜 돈, 진짜 엔지니어링 — 그 전부가 금융 범죄와 온보딩을 겨냥하며, 그중 무엇도 당신의 분쟁 해결이 규제를 위반할 수 있는지는 겨냥하지 않는다.

그것이 격차이고, 좁은 격차가 아니다. 분쟁 업무에 가장 가까운 플레이어들(FINBOA, Quavo)은 그것을 검증하지 않고 자동화한다. 유일한 검증자(Imandra)는 다른 시장에서 일한다. 그 둘을 합치면, 내가 아는 한 아무도 서 있지 않은 이 분야의 한 구석이 나온다: 소비자 분쟁 컴플라이언스를 겨눈 정형 검증. 그것이 우리가 걸어 들어간 구석이다.

우리의 제안을 다시 세운 한 문장

그 가치를 마침내 나에게 와닿게 만든 것은 엔지니어에게서 나오지 않았다. 그것은 내가 마주 앉았던 한 전직 조사관에게서 나왔다.

나는 그녀에게 청구 오류 검토 자리에서 실제로 무엇을 원하는지 물었다. 그녀는 "좋은 대시보드"라고 말하지 않았다. 그녀는 대략, 은행이 자사 프로세스가 기한을 결코 어길 수 없음을 보여 줄 수 있다는 것을 알고 싶다고 말했다 — 보통은 어기지 않는다는 게 아니라. 전체 태도가 바로 그 한 단어에서 뒤집힌다. "우리는 그것을 테스트했고 통과했다"라고 적힌 이사회 증빙 슬라이드는, 당신이 떠올린 경로만 확인했다는 자백이다. 증명은 범주적으로 더 강한 무언가를 말한다: 워크플로가 허용하는 모든 경로에 걸쳐, 불변식이 성립한다.

그리고 규제 당국은 스스로 조용히 이쪽으로 걸어오고 있다. OCC Bulletin 2025-26은 리스크 또는 컴플라이언스 결정을 실질적으로 좌우하는 모든 정량적 방법이 "모델"임을 분명히 했다 — 그리고 그 회보는 AI나 머신러닝의 정교함이 그것을 검증에서 면제해 주지 않는다고 명시한다. 그것을 주의 깊게 읽어라: 자동화된 분쟁 라우터는 이제 단순한 운영 도구가 아니라 모델로서 검사 대상이 된다. 그리고 정형 검증은 존재하는 가장 강력한 모델 검증이다. 그것은 행동을 표본으로 뽑지 않는다. 그것은 속성을 증명한다.

대서양 건너편에서는, EU AI Act이 신용 및 신용도 관련 AI를 고위험으로 분류하며, 엄격한 컴플라이언스 기한은 2026년 8월 2일이고, EU 시장에 서비스를 제공하는 미국 공급업체까지 끌어들이는 역외 적용 범위를 갖는다. 고위험 분류는 당신이 증명 가능한 시스템 속성 — 정확성, 견고성, 감독 — 을 입증해야 함을 의미한다. 이것은, 다시 말하지만, 증명이 제공하고 테스트가 제공할 수 없는 바로 그것이다.

이것은 분쟁 큐에 과잉 아닌가?

사람들이 이것의 어떤 버전을 끊임없이 나에게 묻기에, 세 가지 솔직한 반론을 정면으로 다뤄 보겠다.

첫 번째는 비용이다. 검증은 과학 프로젝트처럼 들리고, 컨설팅 대안 — 당신의 프로세스를 재설계하는 Big 4 회사 — 은 50만 달러에서 수백만 달러가 들며 아무도 수학적으로 검증하지 않은 재설계된 프로세스를 건네준다. 그것을 하방 위험과 견주어 보라. Apple-Goldman은 8,900만 달러였다. Wells Fargo의 동의명령은, 분쟁 처리를 포함한 여러 실패에 걸쳐, 37억 달러에 달했다. 당신은 SaaS 라이선스 비용에 맞서 검증을 사는 게 아니다; 당신은 꼬리 위험에 맞서 그것을 사는 것이다.

두 번째는 "우리 물량은 괜찮다"이다. 전 세계 차지백은 2026년까지 연간 3억 3,700만 건에 도달하고, 2028년까지 24% 상승할 것으로 전망되며, 완전히 새로운 유형의 분쟁이 도래하고 있다 — 고객이 결코 승인하지 않은 것을 구매하는 자율 AI 에이전트로부터의 분쟁을 포함해서. 오늘날 그것을 "처리한다"는 수작업 데스크는, Wolters Kluwer의 2026년 1분기 보고서에 따르면 여전히 42%의 기관이 수작업 프로세스로 컴플라이언스를 운영하는 바로 그 데스크다. 늘어나는 물량에 수작업 기억이 더해지면, 죽은 상태가 4년 동안 눈에 띄지 않게 되는 것이다.

세 번째는 "우리는 지난 검사를 통과했다"이다. Apple과 Goldman도 아마 통과했을 것이다 — 통과하지 못하게 되기 직전까지는. 검사를 통과했다는 것은 조사관이 당신의 경로를 표본으로 뽑았고 고장 난 경로를 건드리지 않았다는 뜻이다. 그것은 테스트와 똑같은 표본 추출 문제이며, 단지 다른 배지를 달고 있을 뿐이다.

지금 내가 믿는 것

나는 컴플라이언스가 성실함의 규율이라고 생각하며 분쟁 운영에 발을 들였다 — 신중한 사람들, 좋은 체크리스트, 지켜진 기한. 나는 성실함이 이런 형태의 문제에는 잘못된 도구라는 확신을 안고 그곳에서 나왔다. 누군가 기능을 출시할 때마다 두 배가 되는 상태 공간을 커버할 만큼 충분히 성실할 수는 없다. Apple과 Goldman의 신중한 사람들은 부주의로 그 분쟁들을 잃은 게 아니다. 그들은 아무도 그리지 않은 상태를 통해 그것들을 잃었다.

그래서 분쟁 데스크를 운영하는 누구에게든 내가 던질 질문은 "당신의 사람들이 신중한가"가 아니다. 그것은 그보다 더 좁고 더 차갑다: 당신의 다음 놓친 분쟁이 죽을 상태를 그릴 수 있는가? 그릴 수 없다면 테스트할 수 없고, 테스트할 수 없다면 남은 유일하게 정직한 일은 그것이 존재할 수 없음을 증명하는 것이다. 그것이 바로 그 일이다 — 조사관이 당신이 놓친 경로를 찾아내기 전에, 모든 경로에서 당신의 분쟁 워크플로가 Reg Z, Reg E, 그리고 네트워크 타임라인을 위반할 수 없음을 증명하는 것. 그것이 당신에게 실제로 필요한 보증이라면, 그것이 바로 우리가 만드는 것이다.

Apple은 수천 명의 엔지니어를 두고도 죽은 상태를 가졌다. 엔지니어는 결코 빠진 변수가 아니었다. 빠진 것은 증명이었다.

관련 연구

다른 채널에도 게시됨

확신을 가지고 AI를 구축하세요.

차세대 엔터프라이즈 AI 구축에 깊은 경험을 갖춘 팀과 협업하세요. 신뢰할 수 있는 AI 전략을 설계하고 구축하며 배포할 수 있도록 지원해 드리겠습니다.

Veriprajna 딥테크 컨설팅 은(는) 헬스케어, 금융, 규제 분야를 위한 안전 필수 AI 시스템 구축을 전문으로 합니다. 당사의 아키텍처는 확립된 프로토콜에 따라 검증되며 포괄적인 규정 준수 문서를 갖추고 있습니다.