본문으로 건너뛰기

데모 · 목업 데이터로 재현

연결하면 실제로 무엇이 바뀌는지
직접 눌러서 확인하세요

아래 세 장면은 Cainer가 실제로 하는 동작을 목업 데이터로 재현한 것입니다. 계정도, 외부 호출도 필요 없습니다. 버튼을 눌러 단계를 진행하세요.

안내 이 화면은 데모 데이터입니다. 실제 워크스페이스의 대화·승인·감사 기록이 아니며, 어떤 외부 서비스도 호출하지 않습니다.

전과 후

요청이 흩어지던 일이 한 흐름으로

지금

  • 요청은 메신저, 결과는 다른 창, 승인은 구두
  • 어떤 도구가 실행됐는지 나중에 알 수 없음
  • 에이전트를 끊어도 토큰이 살아 있음

Cainer

  • 요청·회신·상태가 같은 스레드에 남음
  • 승인이 필요한 호출은 게이트에서 멈춤
  • 철회는 즉시, 기록은 해시 체인

1. 승인 카드 왕복

신뢰할 수 없는 입력에서 시작된 외부 쓰기를 사람이 어떻게 막는가?

에이전트가 GitHub 이슈 생성을 요청하면, 정책이 강제(ENFORCE)이거나 Rule of Two에 걸릴 때 승인 카드가 뜨고 승인 전에는 실행되지 않습니다.

0 / 4 단계

  1. 1. 에이전트가 도구를 호출

    에이전트가 작업 도구를 호출합니다. 위험 등급은 서버가 정하고, 요청 본문의 값은 신뢰하지 않습니다.

    → tools/call { name: "workproduct.github_issue", arguments: { threadId, messageId, title, content } }
  2. 2. 게이트가 승인을 요구

    정책(기록만/강제)과 Rule of Two를 평가합니다. 승인이 필요하면 실행 대신 승인 요청이 만들어지고 10분 뒤 만료됩니다.

    ← { status: "approval_required", approvalId: "apr_…", expiresInS: 600 }
  3. 3. 오너가 카드에서 결정

    대화 화면의 승인 카드에서 「이번 한 번만」을 고릅니다. 승인 결정은 감사 체인에 남고, 승인 없이는 도구가 실행되지 않습니다.

    ← { status: "allowed", decision: "once", approvalId: "apr_…" }
  4. 4. 승인된 호출만 실행되고 감사로 남음

    승인이 소비된 뒤에만 외부 호출이 일어나고, 시도·판단·결과가 감사 로그에 기록됩니다.

    ← { ok: true, workProductId: "wp_…" }   audit: workproduct.github_issue → allowed

2. 연결 철회 즉시 차단

에이전트를 끊으면 언제부터 막히는가?

연결을 철회하면 그 연결의 토큰·승인·구독이 함께 무효가 됩니다. 다음 호출은 즉시 401입니다.

0 / 3 단계

  1. 1. 연결이 살아 있을 때

    에이전트 토큰은 연결·에이전트 상태가 모두 active일 때만 통과합니다.

    → tools/call { name: "messenger.list_inbox" }  ← 200 ok
  2. 2. 오너가 연결을 철회

    에이전트 화면에서 연결을 철회합니다. 철회는 삭제가 아니라 상태 전이이며 감사에 남습니다.

    → PATCH connection { status: "revoked" }  ← 200 ok
  3. 3. 같은 토큰으로 다시 호출

    철회된 연결의 토큰은 사용 시점에 거부되고 부작용이 없습니다. MCP 세션의 refresh도 함께 무효입니다.

    → tools/call { name: "messenger.list_inbox" }  ← 401 unauthorized

3. 감사 체인 검증

기록이 조용히 바뀌지 않았다는 걸 어떻게 확인하는가?

워크스페이스 감사 로그는 이전 기록의 해시에 연결되어 있습니다. 검증 화면이 체인을 다시 계산해 끊긴 지점을 알려줍니다.

0 / 3 단계

  1. 1. 운영 화면에서 감사 열기

    워크스페이스 운영 → 감사. 50건 단위로 페이지가 나뉘고 작업자·종류·결과로 거릅니다.

    GET /app/<workspace>/ops/audit  ← 200 (50 rows/page)
  2. 2. 체인 검증 실행

    검증은 저장된 각 행의 해시를 다시 계산해 이전 행과의 연결을 확인합니다.

    POST /app/<workspace>/ops/audit/verify  ← { ok: true, checked: 1234 }
  3. 3. 내보내기(JSONL, 최대 5MB)

    오너는 감사 기록을 JSONL로 내려받아 외부 보관·대조에 쓸 수 있습니다.

    GET /app/<workspace>/ops/audit/export  ← application/x-ndjson

다음

내 계정으로 실제 연결하기

데모는 여기까지입니다. 실제 연결은 워크스페이스를 만든 뒤 연결 가이드를 따라 진행합니다. 어떤 클라이언트가 어디까지 검증됐는지는 지원표에 그대로 적혀 있습니다.