Gate
한 줄 소개: 의사결정을 증명 가능하게 남기는 거버넌스 서비스. 내부 결재(기안 → 상신 → 승인 → 시행)와 외부 계약 전자서명을 한 화면에서 처리하고, 시행 순간 문서 정본에 전자서명 봉인(CAdES-T)을 붙여 결정 자체를 나중에 되돌릴 수 없게 만든다. 원본 문서는 암호화한 채 같은 기록에 보존한다.
- 웹:
https://gate.axelabs.ai - MCP:
https://gate.axelabs.ai/mcp(Bearer 토큰) - REST:
https://gate.axelabs.ai/api/v1/tools/{name}(조직 API 키)
무엇을 해결하나
계약서를 메일로 주고받고 결재는 메신저로 받는 조직에서는, 반년 뒤 “누가 언제 무슨 근거로 승인했는가”를 재구성할 수 없다. Gate 는 그 흐름을 하나의 레코드로 묶는다.
| 단계 | Gate 가 남기는 것 |
|---|---|
| 기안 | 문서 본문 · 종류 · 금액 · 법인 · 작성자 |
| 상신 | 결재선(전결규정 자동 라우팅 또는 직접 지정) |
| 결재 | 승인 / 반려 / 보류 + 의견 + 시각 |
| 시행 | 정본 바이트에 대한 전자서명 봉인 + 신뢰 타임스탬프 |
| 외부 서명 | 상대방 서명 이력 · 도장 이미지 · 서명 시점 |
| 사후 | 감사증적 인증서 · 봉인 재검증 · 원본 무결성 확인 |
시작하기
gate.axelabs.ai에서 이용약관과 개인정보 처리방침에 동의한다. 동의 사실은 영수증으로 남는다.- 조직을 만든다. 조직 식별자(slug)는 조직명에서 자동 생성된다.
- 조직을 만든 사람이
owner가 된다. 이후설정 → 구성원에서 이메일로 동료를 초대한다. 초대 링크는 7일·1회용이며, 초대받은 이메일로 로그인한 세션만 수락할 수 있다. - 첫 로그인 이후에는 비밀번호 없는 로그인 화면에서 인증 수단을 고른다.
로그인
Gate 는 비밀번호를 쓰지 않는다. /login 에서 아래 중 하나를 고른다.
| 방법 | 대상 |
|---|---|
| Microsoft 365 | 회사 계정으로 로그인하는 조직 구성원 |
| AXE 플랫폼 SSO | 이미 플랫폼에 로그인한 사용자 |
| 이메일 매직링크 | 위 두 가지를 쓰지 않는 조직 내부 사용자 |
외부 계약 상대방은 위 경로를 쓰지 않는다. 계약 서명은 메일로 받은 개인 서명 링크로 바로 열리고(로그인 불필요), 받은 계약을 모아 보려면 /member/login 의 별도 매직링크로 /my 포털에 들어간다. 내부 세션과 외부 서명자 세션은 발급 경로·토큰·권한이 전부 분리되어 있어, 외부 세션으로는 결재 화면이나 API 에 접근할 수 없다.
역할
| 역할 | 권한 |
|---|---|
owner | 조직 소유자. 조직 운영 전반 + 전결규정 관리 |
admin | 조직 관리자. 전결규정 · 구성원 · API 키 · 웹훅 관리 |
member | 조직 구성원. 부여된 결재 · 계약 업무 수행 |
조직 간 데이터는 서로 보이지 않는다. 결재선에 올릴 수 있는 사람은 현재 조직의 구성원뿐이고, 외부 서명자 역시 해당 계약이 속한 조직 경계 안에서만 만들어진다. 로그인 세션의 조직 소속은 요청마다 다시 확인한다.
조직 안에서 무엇이 보이는지는 두 갈래로 정해진다 — 참여자(기안자와 결재선에 오른 사람)는 그 건을 보고, 법인 구성원으로 등록된 사람은 그 법인의 결정 기록 전체를 읽을 수 있다(읽기 전용, 결재 행위는 참여자만). 둘 중 어디에도 해당하지 않으면 목록 자체가 비어 있다.
화면
| 화면 | 하는 일 |
|---|---|
| 대시보드 | 새 기안 주 행동 + 결재 대기 · 작성중 문서 지표, 내 기안 · 승인/완료 현황 |
| 결재함 | 내가 참여 중인 건 + 지금 내 차례 표시 |
| 문서 | 제목 · 종류 · 상태 · 법인으로 좁히는 전체 목록. 상단 검색은 명령 팔레트로 열린다 |
| 계약 | 외부 서명이 걸린 건 모아보기 |
| 워크플로 상세 | 타임라인 · 결재선 · 봉인 · 원본 문서 · 서명자별 상태 · 재발송 |
| 템플릿 | 본문 · 결재선 · 태그를 캡처한 계약서 템플릿, 변수 스키마 |
| 설정 | 구성원 · 전결규정 · API 키 · 웹훅 · 알림 · 사용량 |
가입 직후 대시보드는 빈 숫자 타일 대신 3단계 시작 가이드(첫 기안 · 구성원 초대 · 서명→봉인 흐름)를 보여준다.
우측 패널의 협업 세션
우측 컨텍스트 패널의 “세션” 섹션에 Blueprint 협업 세션 중 service=gate 로 분류된 세션이 컴팩트 한 줄 목록(상태 도트: 진행 = 채운 초록, 완료 = 빈 원)으로 뜬다 (D-bp-collab-3, @axe/ui 0.38.0 레일 v2). 머리행 [+] 는 그 자리에서 새 세션을 만들고(원장은 Blueprint, 귀속은 로그인한 본인), 프리셋 아이콘은 /gate/collab/sessions 목록 페이지로 간다. 행을 누르면 Gate 안의 세션 상세(/gate/collab/sessions/:id)에서 프롬프트와 게재물을 읽는다 — Blueprint 로 이탈하지 않는다. 데이터는 여전히 Blueprint 내부 API 한 곳에서만 나온다.
이 섹션은 연결되어 있을 때만 나타난다. 연동이 설정되지 않았거나 조회가 실패하면 빈 목록이나 오류 상자를 그리는 대신 섹션이 통째로 사라진다 — 비어 보이는 목록은 “세션이 없다”로 읽히기 때문이다. 조회에는 Gate 가 Blueprint 와 이미 주고받을 때 쓰던 내부 주소와 키를 그대로 재사용한다 — 새로 발급하거나 설정할 값이 없다.
우측 패널의 프롬프트 카드
같은 패널 슬롯 ② 에 로컬 AI 에이전트에 붙여넣을 복사 블록이 뜬다 (ContextPanel@1, @axe/ui 0.38.6). Gate 는 이 카드의 첫 소비자(0.33.0)이고, 하단 AI 도크를 실제로 서빙하는 유일한 소비자이기도 하다 — 다른 소비자 화면에는 도크 노드도 그 호스트도 없다. 블록에 기록 본문은 들어가지 않는다: 대상 식별자 하나(대상: gate/workflow <id>)와 그것을 다시 읽는 명령 한 줄(현재 상태: axe ref …)뿐이고, 실제 조회는 붙여넣는 사람의 기기·로그인으로 일어난다. 카드는 조직이 명시로 켤 때만 그려진다 — Gate 는 결재·계약의 기록 원본이라 이 반출 표면이 기본 꺼짐이다. 붙여넣은 에이전트가 쓰는 명령은 axe gate guide 와 axe ref 뿐이다.
기능
내부 결재
기안한 문서에 결재선을 붙여 상신하면 순서대로 승인·반려·보류를 받는다. 결재선은 조직이 등록한 전결규정에서 자동으로 뽑히거나 기안자가 직접 지정한다. 기안자는 시행 전까지 철회할 수 있다.
전자서명 봉인
시행하는 순간, 결정 정본의 바이트에 대해 분리형 CMS 서명(RSA-2048 + SHA-256)을 만들고 RFC 3161 신뢰 타임스탬프를 붙인다(CAdES-T). 이 봉인은 추가만 가능하고 수정·삭제가 막혀 있다. verify_seal 또는 워크플로 상세의 봉인 섹션에서 서명·타임스탬프·해시 일치를 언제든 다시 검증할 수 있다. 시행 시 서명이 박힌 PDF(PAdES-B-T)도 함께 만들 수 있다.
원본 문서 보존
결정 레코드에는 원본 PDF 를 암호화해 첨부한다. 저장 시 원본 평문의 해시를 함께 남기고, 내려받을 때 복호화 후 다시 해시해 저장값과 대조한다. 즉 “봉인된 해시 ↔ 실제 파일”의 고리가 닫힌다. 스캔 날인본처럼 텍스트 레이어가 없는 문서는 전문을 읽을 수 있는 HTML 사본으로 따로 보관한다.
외부 계약 전자서명
- 서명 요청 발송 — 서명자를 지정해 봉투(envelope)를 만들면 메일이 나간다. 순차/병렬 모드, 1~90일 만료를 정할 수 있다.
- 도장 필수 — 봉투 단위로 켜면, 도장이나 서명 이미지를 붙이지 않은 서명은 봉인 전에 거부된다. 서명은 되돌릴 수 없으므로 사후 교정 대신 사전 강제다. 아이폰 기본 포맷(HEIC)을 포함해 PNG·JPEG 를 받아 서버가 정규화한다.
- 재사용 공개 링크 — 문서 하나에서 방문자마다 독립 봉투를 만드는 링크. 방문자가 이름·이메일을 넣으면 그 사람 몫의 문서 사본과 서명 링크가 생긴다. 사용 횟수 상한·만료·비활성을 걸 수 있고, 상한은 동시 접속에서도 초과되지 않는다.
- 리마인더 — 서명 토큰은 평문으로 저장하지 않으므로, 재촉은 곧 링크 교체다(옛 링크 즉시 무효 + 새 링크 발송). 수동 재발송과 조직 기본 일정에 따른 자동 반복을 모두 지원하며, 발송·전달 결과는 이력으로 남는다.
- 감사증적 인증서 — 봉투가 완료되면 봉인·서명·인증·해시 이력을 합성한 인증서를 자동 발급하고, 필요할 때 다시 조회할 수 있다(멱등).
메일 발송 상태는 정직하게 구분된다. accepted 는 메일 공급자가 요청을 접수했다는 뜻이지 수신함 도착 확인이 아니며, unknown 은 타임아웃 등으로 결과를 확정할 수 없었다는 뜻이다. unknown 은 중복 법적 통지를 막기 위해 자동 재발송하지 않는다.
문서 템플릿
자주 쓰는 계약을 본문·결재선·태그째로 저장한다. {{키}} 변수는 스키마로 검증하고 필수값을 지정할 수 있으며, 치환값은 한 번만 평문으로 렌더해 변수 안의 변수가 다시 풀리지 않게 한다. 템플릿 수정 이력과 복제 출처, 그 템플릿으로 기안된 문서가 기록으로 남아 “어느 버전에서 기안했는지”를 재현할 수 있다.
분류 태그
결정 레코드에 테마·프로젝트·당사자 태그를 붙여 나중에 묶어 찾는다. 태그는 봉인된 결정 내용과 무관한 관리용 메타데이터라 언제든 고칠 수 있다.
웹훅
workflow 의 approved/rejected/done, envelope 의 signed/declined/completed 를 HTTPS 로 밀어 준다. 요청에는 X-Gate-Signature (HMAC-SHA256) 서명이 붙고, 실패는 지수 백오프로 재시도한 뒤 이력에 남는다. 리다이렉트는 따라가지 않고 사설 주소는 거부하며, 등록 시점에 DNS 결과를 검증·고정한다. 관리자 화면에서 테스트 발송, 실패 건 재시도, 서명 키 회전, 전달 이력을 다룬다.
조직 API 키 + REST
설정 → API 에서 gxk_ 로 시작하는 키를 발급한다(해시만 저장, 폐기 즉시 차단). 키에는 gate:read · gate:draft · gate:approve · gate:execute · gate:evidence 범위를 명시하고 만료를 걸 수 있다. 사용 내역은 수정 불가능한 감사 원장에 남는다.
POST https://gate.axelabs.ai/api/v1/tools/{tool}
Authorization: Bearer gxk_...
Content-Type: application/json
{ ...도구 인자... }도구 이름과 인자는 아래 MCP 도구표와 동일하다. 단 전결규정 변경(set_doa_policy)은 API 키로 할 수 없다 — 거버넌스 규칙 자체를 바꾸는 행위는 사람이 로그인해서 한다.
사용량
조직 플랜별로 월간 문서 생성 · 외부 서명 요청 · API 호출을 집계한다. 한도 확인과 소비는 한 트랜잭션으로 처리하고, 외부 타임스탬프 호출 전에 미리 예약한다. 한도에 걸리면 서명·시행·워크플로 변경이 함께 되돌아간다. 설정 → 사용량에서 쓴 만큼과 남은 만큼을 본다.
AI 초안 · 수정 (선택)
로그인한 사람이 기안 화면에서 명시적으로 요청할 때만 동작하는 보조 기능이다. 자동 승인·자동 상신·백그라운드 호출 경로는 없다.
- 호출마다 국외이전 고지(제공받는 자·국가·항목·목적·보유기간)와 별도 동의를 확인한다. 동의를 거절해도 수동 기안과 핵심 기능에는 아무 제약이 없다.
- 동의 철회 도달성: 동의 철회는 우측 컨텍스트 패널의 국외이전 고지 안에 있으며, 레일이 접히는 좁은 폭에서는 서랍 사본이 같은 고지·철회 폼을 기본으로 내고 도크 mover 가 도크를 실제로 옮겨 세운 뒤에만 그 폴백을 치우므로, 자바스크립트가 꺼졌든 스크립트 자산이 오지 못했든 철회 경로가 남는다 — 실제 렌더 가시성은 헤드리스 브라우저 게이트가 폭별·차단 시나리오별로 잰다.
- 보내는 항목은 문서 종류·제목·지시문이며, 수정 요청 시 현재 초안 본문이 포함된다. 입력과 출력 모두 자격증명 탐지를 거치고, 걸리면 요청이나 결과를 폐기한다.
- 결과는 정제 후 미리보기로만 돌아온다. 사람이 검토·수정한 뒤 상신한다.
- 본문과 편집 스냅샷은 최초 생성 시점부터 최대 30일 보관하고, 이후에는 원문을 포함하지 않는 최소 메타 기록만 남는다. 연속 수정으로 보관 기한을 늘릴 수 없다.
- AI 도구는 MCP 카탈로그와 REST 에 노출하지 않는다. 조직 간 입력·출력 공유나 학습 축적도 없다.
기본값은 꺼짐이며, 조직 관리자가 별도로 켠다.
법적 문안
현행 이용약관과 개인정보 처리방침은 /legal/terms/<버전일자> · /legal/privacy/<버전일자> 에 게시하며, 이전 버전도 당시 문안과 시행일 그대로 계속 조회된다. 이용약관은 전자문서 및 전자거래 기본법·전자서명법상 당사자 간 전자서명의 효력 조항을 포함한다.
MCP 도구 (26)
https://gate.axelabs.ai/mcp (Bearer). 결재 라이프사이클 → 원본·전문 → 외부 서명 → 메타 → 분류 순.
커넥터에 이 주소를 그대로 넣어라. 예전 안내가 쓰던
https://axe.axelabs.ai/gate/mcp는 위 주소로 307 리디렉트만 돌려준다 — 리디렉트를 따라가지 않는 MCP 클라이언트에게는 도구 목록 대신 빈 응답이 돌아간다.
| 도구 | rw | 용도 |
|---|---|---|
draft_document | write | HTML 기안 문서 생성 |
create_workflow | write | 문서 위에 결재 워크플로 생성 |
submit_workflow | write | 상신 — 결재선 생성 후 검토 상태로 |
act_on_step | write | 결재 — 승인 / 반려 / 보류 |
execute_workflow | write | 시행 — 전자서명 봉인 |
close_authorization | write | 사전 결재 종결 — 승인만 받고 아직 이행되지 않은 건을 이행 또는 포기로 닫는다. 기안자 전용·1회. 봉인과 결정 행은 건드리지 않고 이력 한 줄과 상태 전이만 남는다 |
withdraw_workflow | write | 기안자 철회 |
void_decision | write | 결정 무효 선언 — 잘못 적재된 결정을 폐기한다. 원 기록은 지워지지 않고 무효 선언이 별도 행으로 쌓인다(둘 다 남아야 감사된다). 기안자 전용·1회, 올바른 결정은 새 워크플로로 다시 기록한다 |
set_doa_policy | write | 전결규정(결재선 템플릿) 등록 — API 키로는 호출 불가 |
get_workflow | read | 워크플로 전체 타임라인 조회 |
list_inbox | read | 내 결재함 + 내 차례 표시 |
verify_seal | read | 봉인 암호학적 재검증 |
issue_audit_cert | write | 봉인·서명·인증·해시 이력을 합성한 감사증적 인증서 발급(멱등) |
attach_evidence | write | 결정 기록에 원본 문서 암호화 첨부 |
set_evidence_content | write | 추출한 계약 전문 HTML 저장(덮어쓰기) |
get_evidence | read | 첨부 원본 메타 + 무결성 검증 |
list_evidence | read | 워크플로 첨부 원본 목록 |
create_signing_envelope | write | 외부 서명 요청 생성 · 메일 큐잉 |
create_public_link | write | 방문자별 독립 봉투를 만드는 재사용 공개 서명 링크 생성 |
get_envelope_status | read | 외부 서명 봉투 상태 조회 |
whoami | read | 인증된 사용자 확인 |
list_entities | read | 법인 카탈로그 — 식별자 · 한글/영문 상호 · 법인격 |
add_tag | write | 결정 레코드에 분류 태그 추가 |
remove_tag | write | 분류 태그 제거 |
set_tags | write | 분류 태그 통째 교체 |
list_workflows | read | 가시 레코드 브라우즈 — 태그 · 결정 유형 필터 |
create_signing_envelope 의 응답에서 일회성 서명 URL 과 토큰은 항상 가려진다. 서명 링크는 수신자 본인에게 메일로만 전달된다.
CLI 로 쓰기
웹 없이 터미널에서도 전 과정을 돌릴 수 있다.
설치는 로그인이 필요 없다 — 에이전트 에디션 다운로드는 공개다.
mkdir -p ~/axe-cli
curl -fsSL "https://axe.axelabs.ai/api/cli/download?edition=agent" -o ~/axe-cli/axe
chmod +x ~/axe-cli/axe
alias axe="~/axe-cli/axe" # 셸 rc 에도 추가
axe --version # 여기까지는 계정 없이 된다그 아래부터는 AXE 워크스페이스 계정이 필요하다.
axe login # 브라우저 SSO 1회
# 내부 결재
axe gate inbox # 내 결재함
axe gate show <id> # 상세 — 상태·결재선·봉인·원본
axe gate draft --title "용역 계약" --decision-type contract --kind contract \
--entity <법인> --amount 50000000 --self
axe gate approve <id> --comment "검토 완료" # reject / hold 동일
axe gate execute <id> [--pdf] # 시행 — 봉인 (--pdf 로 서명 PDF 동시 생성)
axe gate verify <id> # 봉인 재검증
axe gate withdraw <id> # 철회
# 외부 계약 전자서명
axe gate sign-send <id> --signer [email protected]:홍길동 \
--mode sequential --expires-days 7 --require-stamp
axe gate sign-status <id>
# 분류 태그 · 조회
axe gate tag <id> --add 프로젝트A # --rm 제거 · --set a,b 통째 교체
axe gate list --tag 프로젝트A # --type contract 도 필터
axe gate entities | whoami | tools인자에 JSON 을 직접 싣기 어려우면 axe gate call <tool> --args-file - 로 표준입력에서 읽는다.
어딘가에 적어 둔 옛 명령이 있다면 버려라. 예전 안내가 쓰던
curl -fsSL <워크스페이스>/cli -o ~/axe-cli/axe는 더 이상 동작하지 않는다 — 공개/cli바이너리 경로는 폐기돼 404 다.curl -f가curl: (56) The requested URL returned error: 404한 줄을 내고 종료하므로 파일은 아예 만들어지지 않고, 뒤에 이어 붙인chmod +x도 실행되지 않는다. 로그인한 사용자는 워크스페이스 대시보드의 ”⤓ CLI 설치” 카드에서 토큰이 박힌 설치 명령(/cli.sh설치기)을 복사해 써도 된다 — 그 설치기는 운영자 에디션까지 받을 수 있어AXE_TOKEN을 요구한다.
관련 문서
- Layer — 문서를 보내고 어떻게 읽혔는지 추적