오프테이블 Wiki

결정 기록 · 결정 기록

ADR-0019: 빠른 검증 우선과 실제 서비스 전 보안 게이트

고객 검증 중에는 Discord·Hermes 통합 제어와 개발 속도를 우선하고 실제 서비스 개발·배포 전에 보안 체계를 수립한다.

상태
확정
신뢰도
높음
근거
1개
업데이트

맥락#

현재 목표는 실제 고객에게 서비스를 운영하는 것이 아니라 회원 주도 식사 만남의 신청·확정·출석 가능성을 빠르게 검증하는 것이다. 프로젝트 오너는 이 단계에서 보안 체계 확장보다 개발 속도와 운영 편의가 중요하며, 신뢰된 운영자가 Discord를 통해 Hermes의 개발·GitHub·인프라 기능을 통합 제어할 수 있어야 한다고 결정했다. [1]

보안을 지금 완성하려 하면 아직 검증되지 않은 제품 구조에 맞춰 인증·권한·감사·운영 체계를 선행 설계하게 된다. 반대로 보안 작업의 시작 조건을 남기지 않으면 검증용 편의 설정이 실제 서비스에 그대로 넘어갈 수 있다.

결정#

  • MVP 고객 검증 단계에서는 빠른 검증과 빠른 개발을 우선한다.
  • 명시적으로 허용된 신뢰 운영자는 Discord와 Hermes를 통해 저장소, 개발 도구, GitHub와 현재 인프라 작업을 통합 제어할 수 있다.
  • 고객 검증 완료 뒤 실제 고객 대상 서비스 개발·배포를 진행하기로 결정한 시점을 보안 전환 게이트로 삼는다.
  • 보안 게이트의 구체적인 통제와 법적 의무는 전환 당시의 데이터, 배포 구조, 플랫폼 기능과 최신 법령을 기준으로 다시 조사하고 확정한다.
  • 검증 단계에서 실제 개인정보, 결제, 외부 고객 계정 또는 쓰기 가능한 공개 API를 먼저 도입한다면 고객 검증 완료를 기다리지 않고 해당 기능 개발 전에 보안 게이트를 앞당긴다.

현재 단계에서 유지하는 최소선#

속도 우선은 아래 기본 규칙을 없애는 결정이 아니다.

  • 자격증명과 토큰은 저장소, Wiki, raw와 배포 산출물에 커밋하지 않는다.
  • raw/private/의 개인정보와 민감 자료는 공개 Wiki에 노출하지 않는다.
  • 프로토타입의 가상 로그인과 브라우저 저장 상태를 실제 접근 제어라고 표현하지 않는다.
  • 실제 고객 데이터가 필요해지기 전까지 fixture, 비식별 데이터와 수동 운영 기록을 우선한다.
  • 되돌리기 어려운 인프라 변경과 운영 데이터 삭제는 사람의 명시적 판단을 거친다.

현재는 Discord/Hermes 전체 제어를 축소하거나 운영용 보안 제품을 추가하는 작업을 완료 조건으로 삼지 않는다.

보안 전환 게이트#

실제 서비스 개발을 시작하기 전에 아래 결과물을 현재 구조에 맞게 확정한다.

  1. 데이터와 법적 범위: 수집 데이터 목록, 민감도, 이용 목적, 보존·삭제 기준, 사용자 권리 대응과 한국 개인정보보호법상 의무를 최신 근거로 확인한다.
  2. 인증과 권한: 고객·호스트·운영자 역할, 계정 복구, 관리자 접근, Supabase RLS와 서버 전용 권한 경계를 설계하고 권한 우회 테스트를 만든다.
  3. 자격증명과 환경: 개발·Preview·운영 자격증명을 분리하고 최소 권한, 회전, 폐기 절차를 정한다. Hermes와 Discord가 보유한 운영 자격증명도 이때 별도 검토한다.
  4. 애플리케이션 보호: 입력 검증, 속도 제한, 파일·메시지 처리, 의존성 점검, 보안 헤더와 오류 응답 기준을 실제 API와 데이터 흐름에 맞춘다.
  5. 데이터 복구와 운영: 백업·복구 시험, 개인정보를 남기지 않는 로그, 이상 징후 알림, 사고 대응 담당과 배포·롤백 절차를 정한다.
  6. 출시 검증: 위협 모델, 핵심 권한 테스트, 개인정보 노출 점검과 배포 체크리스트를 통과한 뒤 외부 고객에게 쓰기 가능한 운영 환경을 연다.

세부 도구와 수치는 지금 확정하지 않는다. 검증 결과로 제품 흐름과 데이터가 바뀌면 보안 설계도 달라지기 때문이다.

게이트 완료 조건#

  • 실제 수집 데이터와 외부 시스템을 포함한 데이터 흐름도가 있다.
  • 고객·호스트·운영자 권한이 구현과 자동 테스트에서 일치한다.
  • 운영 자격증명과 배포 권한이 개발·Hermes 편의 설정과 분리됐거나, 유지 이유와 보완 통제가 명시돼 있다.
  • 개인정보 보존·삭제, 백업·복구와 사고 대응 담당이 정해져 있다.
  • 출시 전 점검에서 남은 고위험 항목이 없거나 프로젝트 오너가 만료일과 함께 예외를 승인했다.

결과#

현재 팀은 검증되지 않은 운영 구조를 미리 고도화하지 않고 제품 가설과 행동 증거에 집중할 수 있다. 대신 실제 서비스 전환 결정에는 보안 게이트 작업량과 일정이 반드시 포함된다. 현재의 편의 설정은 검증 단계의 의도된 선택이며 운영 기본값으로 자동 승격되지 않는다.

재검토 조건#

  • 검증 단계에서 실제 개인정보, 결제 또는 외부 고객 계정을 수집해야 한다.
  • 공개 API나 관리자 화면이 운영 데이터를 쓰거나 삭제할 수 있게 된다.
  • 신뢰 운영자 범위를 넓히거나 Discord/Hermes 제어 채널을 외부 협력자와 공유한다.
  • 고객 검증을 통과하고 실제 서비스 개발·배포 진행 결정을 내린다.

관련 문서: 프로젝트 개요, 초기 MVP 기술 스택, 프로젝트 오너 결정

제목, 요약, 태그, 본문을 검색합니다.