---
status: PRODUCTION_DATA_REPLICA_PLAN_GATE_STAGED_NOT_PROVISIONED
authenticated_replica_candidates: 0
production_backup_read: false
external_transfers_made: false
activation_allowed: false
current_continuity: false
production_changed: false
---

# Production 데이터 replica plan gate

불특정 PC에 production Mongo 접속정보나 평문 backup을 전달하지 않으면서 독립 PC를 복구·데이터 후보로 준비하기 위한 default-OFF plan gate를 추가했다.

## 강제 조건

- node key·network failure domain·control-plane failure domain이 서로 다른 노드 3개 이상
- private transport와 mutual TLS
- endpoint certificate SPKI commitment
- 디스크 암호화와 격리 restore workspace
- MongoDB 8.2.x 및 최소 20 GiB 여유공간
- `writeConcern: majority`, `readConcern: majority`, `requireTLS`, authorization 필수
- production 인증자료가 설치되지 않은 preflight 상태
- validator 역할과 data replica 역할 분리
- encrypted backup only, plaintext backup 금지
- 목표 RPO 300초, RTO 1,800초
- URI, connection string, password, token, private key와 keyfile 필드 거부

합성 자체시험은 독립 3-node plan을 통과하고 activation true, secret 필드, 중복 failure domain, public transport와 plaintext backup을 거부했다.

## 현재 경계

실제 replica 후보는 아직 0개다. production DB를 읽거나 연결하지 않았고 외부 ciphertext 전송도 하지 않았다. 이 gate는 사용자의 별도 승인 전에는 production backup read, 외부 전송, application write switch와 non-secret write canary까지 모두 false로 유지한다.

읽기 전용 live inventory에서는 fresh PC 5대 중 저장공간·지속 supervisor 조건을 만족한 PC 4대가 3개 독립 network failure domain에 분포해 `inventoryTopologyReady: true`였다. PC 수와 저장공간 topology는 준비됐지만 mTLS, 디스크 암호화, 격리 restore workspace의 authenticated evidence는 각각 0대이므로 live replica plan은 아직 false다.

따라서 다음 live 단계는 독립 PC 3대에 private authenticated transport·암호화 저장소·격리 restore workspace를 실제로 준비한 뒤, 별도 승인된 encrypted production backup restore rehearsal을 수행하는 것이다.

증거: `evidence/production-data-replica-plan-stage-redacted.json`

live inventory: `evidence/production-data-replica-readiness-redacted.json`
