콘텐츠로 이동

엔터프라이즈 제품 전략

상태: 제품 방향의 기준 문서. 최종 검토: 2026-09-16의 프로파일 기준선 413f1a2와 선택적 신원 구현. 릴리스 상태는 알파입니다.

이 문서는 대상 시장·엔터프라이즈 계약·릴리스 조건을 소유합니다. 구현 현황은 로드맵, 현재 시스템은 아키텍처, 구현 결정은 ADR, 요청 흐름은 CLAUDE.md를 따릅니다. ADR과 충돌하면 대체 결정 전까지 ADR이 우선합니다.

아래 모든 P0와 인수 시험을 통과하기 전에는 엔터프라이즈 운영 준비 완료로 설명하면 안 됩니다. 현재 강화 프로그램이 구현된 메커니즘과 남은 계약을 구분합니다. ADR-045 이전 체크아웃의 원장·rate-share 계획을 처음부터 다시 시작하지 마세요.

1. 범위

Claude Code·Codex·OpenCode 같은 기업 코딩 에이전트 트래픽의 거버넌스입니다. 범용 LLM 프록시를 목표로 하지 않습니다. 첫 운영 대상은 inferplaned가 관리하는 개발자 로컬 mayu 집합이며 제어 영역은 추론 경로 밖에 있습니다.

첫 운영 검증 대상은 개발자 로컬 집합입니다. 공유 Postgres 게이트웨이(ADR-046)도 구현되어 있지만 HA DB 엔드포인트와 배포·부하 검증이 별도로 필요합니다. 검증을 나눈다고 프로파일이 없는 것은 아닙니다.

첫 릴리스 비목표는 범용 API 게이트웨이, 공급자·모달리티 수 경쟁, 의미 기반 응답 캐시, 사용자 정의 권한 언어, MCP 라우팅입니다. 구현 시험으로 실제 공유 HA를 추론하지 마세요.

2. 엔터프라이즈 계약

프로파일별 지원과 검증

프로파일 기본·활성화 구현 가용성 한계 엔터프라이즈 상태
SQLite 로컬·기존 CP 독립 기본, CP 선택 로컬 키·팀·요청률·할당량·금전, 기존 CP 허용량은 영속 전역 권한 아님 독립은 CP 불필요. 연결 시 준비 상태·정책 나이·허용량 만료 적용. 로컬 프로세스·저장소 장애 가능 알파, 전체 집합 전역 집행 보장 없음
ADR-045 명시적 영속 권한·저널 전역 정책 금전과 시도별 로컬 예약. 키·요청률·토큰·독립/키별 금전은 로컬 CP·DB 장애 시 새 권한 불가. 기존 권한도 준비·정책 나이·하드 만료·소진까지만 사용 금전 구현 완료, 신원 배포·역할·전체 검증 P0
ADR-046 Postgres 키·집행 저장소 공유 키·팀, 동기 원자적 요청률·토큰·금전 예약 CP만 중단되면 유효 바인딩·준비 상태와 DB로 승인 가능. DB 장애는 거부 공유 구현 완료, 신원·역할·운영 HA/부하 P0

모든 프로파일에 검증된 신원 레지스트리를 선택적으로 적용할 수 있습니다. 기존 귀속·공유 기록만으로 집행되지 않으며 신뢰된 매핑·필수 모드 전환·운영 검증이 필요합니다. 조직·팀 역할 6개는 미구현이고 무조건적인 no-SPOF·엔터프라이즈 준비 보장은 없습니다.

require_sync는 최초 정책 수신, max_policy_age는 오래된 정책 승인 거부를 제어합니다. 영속 권한은 최초 동기화, 공유는 최초 바인딩이 필요하며 하드 권한·윈도 만료·소진은 별도로 적용됩니다. CP 장애는 DB가 살아 있는 경우와 구분해야 합니다. 생성 거부 중 계산은 로컬/200입니다. 공급자·자격 증명 가용성도 별도이며 중개가 침해된 노트북의 우회를 막지는 않습니다.

아래는 남은 제품 계약이며 모든 구성 요소가 미구현이라는 뜻이 아닙니다.

계약 요구 상태
영속 신원 조직 내 검증된 issuer·subject 또는 유도된 서비스 신원. 교체·재로그인·기기가 같은 회계 참조 유지. 이메일·owner·키 ID는 증거 아님 선택적 구현, 신뢰된 과거 매핑·운영 전환 P0
직무 분리 platform-admin, policy-admin, provider-admin, budget-admin, auditor, team-admin의 조직·팀 범위. 모든 관리 API에 인증 후 권한 검사. 공개·머신 경로는 별도 계약. 변경에 actor·capability·scope·전후 해시·세대 기록 P0
사용자 예산 풀 2개 같은 명시적 윈도의 프리미엄 풀·총 하드 한도. 프리미엄 소진 시 승인 집합의 첫 호환 모델, 총량 소진 시 외부 호출 전 거부. 토큰 할당량의 전환·차단은 명시 P0
호출 전 개인정보 정책 형식화 탐지 결과를 정책이 external-unmodified/external-masked/internal-only/blocked 중 선택해 외부 처리 상한으로 전달. 뒤 단계는 좁힐 수만 있음. 탐지·마스킹 실패 거부. 원문 외부 전송은 전체 탐지 완료·보호 정보 없음이 필요 ADR-043/044 검사·차단·내부·마스킹·재검사 구현, 탐지·배포 검증 남음
전체 집행 정확성 영속 원장의 최소 org·UserID·pool·windowID 키. 전달 전에 중앙 권한 예약, 증명된 미사용만 반환, 만료만으로 환급 금지. 요청률·할당량이 복제본 수에 비례해 늘면 안 됨 ADR-045/046·선택적 신원 구현, 필수 전환·풀 계약·운영 P0
가드레일·지역 모든 외부 경로에 설정된 가드레일·지역 제한, 라우팅 설정으로 해제 불가 거부 보호 구현, 전체 적용·검증 P0
비용 설명 불변 가격 버전으로 관측 사용량 정산, 모든 요청 변환 기록. 캐시 읽기·5m/1h 쓰기·적중·미재사용·마스킹/모델 전환 손실 보고 부분 구현

하드 한도는 버전 가격표에 대한 승인을 제한하며 외부 청구서 일치를 보장하지 않습니다. 조정으로 차이를 보고해야 합니다. 보수적 상한을 계산할 수 없는 목적지는 승인하지 않고 차단해야 합니다.

3. 현재 상태

보존해야 할 기반

노드 로컬 데이터 영역·제어 영역 분리, 가상 키와 모델 허용 목록, 팀·사용자 모델 정책과 라우팅 후 RBAC 재검사, 리전 제한, 예산 티어·폴백·회로 차단기, 정수 microUSD·round-half-even, 중단된 스트림을 포함한 캐시 read/5m/1h 회계, OIDC·단기 키·STS 중개, 해시 감사·선택적 암호화 본문·S3 앵커, 선택적 Postgres 사용 분석입니다.

정책 라우팅과 코딩 클라이언트 · ADR-043/044/047

유한한 로컬 검사가 모든 시도의 목적지를 제한하고 독립 컨텍스트 선호는 Shadow로 시작합니다. 기존 ADR-043 Enforce는 이력·도구·미디어·추론·구조화 출력 없는 단일 사용자 턴입니다. 입력 임계값은 적격성 제외가 아닌 simple/complex 선택이고 큰 요청도 호환 complex를 고를 수 있습니다. 개인정보는 항상 집행합니다.

ADR-044는 일반 등급, 호환 도구·이력 세션, 실제 성공 목적지의 유한 로컬 고정, 엄격 예산 목적지, 정책 Mask·독립 재검사를 추가합니다. InternalOnly·Mask를 함께 적용하며 알 수 없거나 안전하지 않은 내용을 깨끗하다고 표시하지 않습니다. 경계는 운영자 선언이고 탐지기는 유한합니다. 기존 마스킹 플러그인이 개인정보 구현의 전부가 아닙니다.

Responses와 네이티브·무상태 어댑터가 구현되어 있습니다. ADR-047의 Bedrock 호환·모델 메타데이터·설치 클라이언트 시험은 로컬 가짜 엔드포인트의 이식 가능한 프로토콜 계약을 확인합니다. 모든 모델 품질·불투명 이력 이동·백엔드 도구/effort 지원 보장은 아닙니다. 적응형 라우팅을 참고하세요.

Enforce 전에 작업 성공, 콜드 캐시·재시도 포함 총비용, p95 지연, 개인정보 부정 사례를 사전 기준과 비교합니다. 통과한 테스트만으로 절감·운영 준비를 주장하지 않습니다. 바이너리·CRD 업그레이드와 첫 정책 전 require_sync가 필요합니다. 가이드를 참고하세요.

P0 · 엔터프라이즈 준비 주장을 막는 항목

재현된 리다이렉트 이탈은 수정했습니다. Anthropic·Chat 팩토리가 HTTP 클라이언트 복사본의 리다이렉트를 끄고 생성·Anthropic 계산의 3xx를 고정 JSON 502로 바꿉니다. 클라이언트에 Location·본문을 전달해 원래 요청을 재생하도록 하지 않습니다. 네이티브 Responses도 거부·Location 제거를 합니다. 한정된 수정 계획은 루프백 재현과 회귀 매트릭스이며 실제 침해 주장이 아닙니다. 확인한 전송 경로를 닫은 것이지 모든 배포의 네트워크·지역 검증은 아닙니다. 최종 업스트림 주소를 직접 구성하세요.

Mantle 가드레일은 적용 대신 거부합니다. 원래 guardrailFor가 Converse·Invoke에만 있어 Mantle 설정으로 보호를 건너뛰면서 감사에는 적용했다고 남길 수 있었습니다. mantleGuardrailCheck가 외부 호출 전 충돌 400을 반환하도록 수정해 우회·잘못된 증거를 제거했습니다. 다만 Mantle에 가드레일 인수가 없어 모든 경로에서 실제 적용한다는 계약은 미완료입니다. 별도 평가 경로를 구현하거나 영구 거부 정책을 명시적으로 수용하기 전에는 보호 팀이 Mantle 전용 모델을 사용할 수 없습니다.

Mantle의 200 무정산 경로를 차단했습니다. JSON 변환 실패로 Parsed가 nil인데 응답을 제공하면 비용·사용량을 기록하지 못했습니다. 파싱 불가 2xx는 502, 파싱 프레임 없는 스트림은 오류로 처리합니다. 앞으로 JSON을 다시 파싱하는 새 경로도 이를 지켜야 하며 모든 경로를 구조적으로 강제하는 일반 불변 테스트는 남은 과제입니다.

신원은 선택적이며 운영 전환은 별도 조건입니다. SQLite·Postgres 레지스트리, 검증된 사람 발급, 특권 서비스 발급, 다이제스트 감사, 필수 동기화 지문이 구현되었습니다. 명시적 신뢰 바인딩으로 기존 회계 참조를 유지하며 선택적 귀속은 새 개인 계정 경계를 집행하지 않습니다. 폐기 키만 있는 비어 있지 않은 owner도 포함해야 하고 활성 빈-owner 키는 폐기·재발급합니다. issuer 추측·계정 병합·감사 별칭으로 정책 대체·과거 회계 재작성·환급으로 활성화를 통과시키면 안 됩니다. 신원 가이드를 참고하세요. 프로파일별 범위·장애 계약은 그대로입니다.

완전한 사용자 풀은 미완료입니다. 기존 티어는 선택적 의미를 유지합니다. strict enforceTargets는 100%를 포함해 모든 시도를 제한하고 목적지가 없으면 거부합니다. 소프트 전환 계량과 별도 하드 한도를 같이 사용할 수 있지만 이것만으로 형식화된 개인의 프리미엄·총풀·승인 집합·관리 계약이 완성되지는 않습니다.

관리 권한은 아직 거칩니다. authnWrite는 하트비트와 쓰기를 분리하고 recordMutation은 행위자·작업·해시를 기록합니다. 공급자·모델 쓰기에 관리자 검사가 있습니다. 조직·팀 역할 6개와 전후 상태·세대를 포함한 트랜잭션 연계 영속 변경 증거는 미완료입니다.

집행 보장은 프로파일에 따릅니다. 기존 메모리·리스 한계는 남습니다. ADR-045는 Postgres에 권한을 확정하고 로컬에 시도별 예약을 기록하며 만료 환급은 없습니다. ADR-046은 동기 공유 키 조회·원자적 요청률·토큰·금전 예약을 합니다. Helm은 명시적 공유 모드에서만 다중 복제를 허용합니다. 로컬 권한 내 지속과 DB 장애 시 공유 거부는 서로 다른 계약이고 실제 HA DB 배포나 침해된 장비의 우회 방지를 뜻하지 않습니다.

개인정보 검증은 부분적입니다. 형식화 검사·InternalOnly/Block/Mask·재검사가 구현되어도 탐지기는 유한하고 불투명 내용은 거부될 수 있으며 경계 라벨은 선언입니다. 규정 준수 주장 전에 탐지 범위·실제 목적지 통제를 입증해야 합니다. 테스트는 보편적 PII 탐지를 증명하지 않습니다.

P1 · 운영 경쟁력

  • 변환 설명: Converse·Mantle에 서로 다른 필드명의 계열별 예외와 회귀 시험이 있습니다. 버전별 실제 기능 탐색 근거·요청별 변환 증거가 필요합니다. temperature=0 제거도 샘플링을 바꾸며 모델별 한 번 로그로 개별 변환을 설명할 수 없습니다. 가격 검사처럼 명시적인 기능 검증 절차가 필요합니다.
  • 경로별 캐시: Anthropic·Claude Invoke는 cache_control을 보존하지만 Converse cachePoint는 미구현입니다. 기존 VolatileStore는 미사용이며 ADR-044 로컬 어피니티는 영속 교차 노드 고정이 아닙니다.
  • 캐시 결과 지표: 토큰은 측정하지만 적중률·미재사용 쓰기·접두부 분할·모델 전환 손실 귀속은 없습니다.
  • 신원 감사 전환: 관리 기록에 정규 신원·발급자/주체 다이제스트를 추가하고 회계 참조·기존 인코딩을 유지합니다. 완전한 기업 귀속 주장 전 소비자·마이그레이션 검증이 필요합니다.
  • Mantle 모델 폴백: isModelNotFound가 ValidationException에 의존하나 OpenAI 형식 오류에는 없을 수 있습니다.
  • 운영 검증: CI는 정적 빌드·race/vet/형식·CRD·하네스·Postgres·취약점을 검사합니다. 두 DB DSN과 필수 시험 7개·패키지 완료를 확인해 누락·스킵·실패를 거부합니다. 과거 키 저장소 18개 스킵을 녹색으로 보지 않습니다. 공유 Helm은 독립 감사 영속성·안티어피니티·중단 예산을 제공하지만 용량·네트워크·DB 장애 조치/부하·서명 릴리스·배포 검증은 운영 과제이며 리소스 요청도 설정해야 합니다.

4. 전달 순서

신뢰 경계 순서로 각 단계를 별도 설계·계획으로 다룹니다. 전부 미구현이라는 뜻이 아닙니다. ADR-044/045/046은 일부를 다른 순서로 구현했으며 남은 실행은 현재 강화 프로그램을 따릅니다.

단계 작업 종료 조건
0a 불변 조건 제어 적용 불가 시 거부·정확 기록, 시도별 관측·불확실성, 리다이렉트·기능 근거 제어·회계 누락 없음, 부분 스트림 의무 유지, 계산 로컬/200
0b 신원·관리 신뢰 issuer/sub·서비스, 자격 증명 참조, 조직/팀 역할, 모든 관리 권한·변경 감사 키 교체·두 기기 동일 정책/감사, 교차 역할 부정 시험
1 사용자 예산 상태 영속 윈도·원장, 프리미엄/총풀, 원자 예약/정산/해제, 승인 호환 폴백, 명시적 할당량 동작, 겹치지 않는 권한 동시성·재시작·교체·두 데이터 영역에서 지출 부활·총한도 우회 없음
2 외부 호출 전 PII 형식화 탐지·변환, 중앙 행동 선택, 목적지 분류, 실패 거부, 개인정보 없는 관측·감사 타임아웃·변환 실패·모든 행동에서 원문 보호 정보 외부 전송 없음
3 캐시·비용 효율 cachePoint, 적중·쓰기·낭비·분할, 전환·마스킹 손실, 경로별 쓰기/읽기 실측, 청구 조정 프롬프트를 읽지 않고 비용 변화를 설명
4 전체 운영·릴리스 전역 정확성, 버전·배포·진단, 패키징·네트워크, race/취약점/서명/릴리스, SLO·절차 깨끗한 체크아웃에서 시나리오·공급망 기준 통과

5. 인수 시험

고립된 단위 시험만으로 충분하지 않습니다. 실제 목적지, 집행 원장, 사용량 원장, OTel, 감사가 일치해야 합니다.

신원: 같은 팀의 두 사용자는 별도 잔액, 한 사용자의 두 기기는 같은 원장, 키 재발급으로 예산·할당량·감사 신원이 초기화되지 않아야 합니다.

예산: 한도 근처 동시성 우회 금지, 상한이 잔액을 넘으면 외부 호출 전 거부, 프리미엄 소진 시 승인 호환 목적지, 대안이 없으면 프리미엄을 주지 말고 거부, 총량 소진 시 호출 0회, 폴백 별도 예약, 취소 후 미확정 금액 유지, CP 중단·윈도 전환으로 지출 부활 금지입니다.

개인정보: 변환 가능한 데이터는 되돌릴 수 없게 마스킹하고 메타데이터만 증명합니다. 내부 처리 데이터는 승인 내부 목적지로만 보내며 예산·공급자 폴백에서도 외부로 나가지 않아야 합니다. 탐지·마스킹 실패에 원문 외부 호출이 없어야 합니다.

외부 제어: 모든 경로가 가드레일·리전을 적용하거나 거부하고 라우팅으로 해제할 수 없어야 합니다. 모든 요청 변환을 감사에 남깁니다.

비용: 같은 모델의 안정적 접두부에서 쓰기 후 읽기를 측정하고 마스킹·전환 손실을 귀속합니다. 과금 시도마다 관측 비용·미확정 의무를 명시합니다. 중단된 스트림의 HTTP 200으로 최종 사용량을 만들어 내거나 환급하면 안 됩니다. 정상적인 반올림 0·무료는 허용되며 로컬 비과금 계산은 이 청구 조건 밖입니다.

관리: 금지 작업은 거부·증거를 남기고 정책·공급자·예산 변경마다 행위자·범위·차이 해시·세대를 기록합니다.