콘텐츠로 이동

데이터 거버넌스 정책

문서 역할

  • 역할: 규범
  • 문서 종류: policy
  • 충돌 시 우선 문서: 이 문서
  • 기준 성격: as-is

목적

  • 개인정보/민감정보의 수집-저장-조회-삭제 전 과정을 표준화해 보안/운영 리스크를 줄인다.

적용 범위

  • coupler-api, coupler-admin-web, coupler-mobile-app
  • 회원 데이터, 결제 데이터, 알림 데이터, 운영 로그 데이터

단일 SoT

필수 규칙

1) 데이터 분류

  • 데이터는 최소 일반, 내부, 민감 3단계로 분류한다.
  • 비밀번호, 결제 식별자 원문, 인증 토큰은 민감으로 분류한다.
  • 분류 없는 신규 저장 필드는 운영 배포를 금지한다.
  • 전체 물리 schema baseline/lock과 migration SQL은 내부로 분류하고 private 서비스 저장소에서만 관리한다.
  • DB 접속 정보, 계정, 권한, host/topology, 운영 row 또는 민감 데이터가 포함된 dump는 민감으로 분류한다.
  • 공개 docs에는 논리 엔티티·관계·소유권·분류·불변 조건·보관/삭제 생명주기만 기록한다. 서비스 업무 스키마의 전체 테이블·컬럼 설명, 실행 가능한 DDL, 운영 row 샘플은 공개하지 않는다.
  • 공개 논리 엔티티의 분류는 논리 데이터 모델 정책의 소유 문서 표에서 엔티티가 포함하는 데이터 중 가장 높은 등급으로 기록한다.
  • 물리 식별자 이름 자체를 접근 통제 수단으로 간주하지 않는다. 비공개 schema 관리와 별개로 인증, 권한, 네트워크 통제, 암호화, 감사 로그를 적용한다.

2) 최소 수집/최소 보관

  • 기능 수행에 필요한 최소 데이터만 수집한다.
  • 보관 기한이 끝난 데이터는 지연 없이 삭제 또는 익명화한다.
  • 테스트/분석 목적으로 운영 원문 민감정보 복제를 금지한다.
  • schema 구조 검증은 private schema-only baseline을 기본으로 하며 운영 원문 dump를 사용하지 않는다.
  • 단, backfill·cutover·contract의 데이터 보존 검증 때문에 운영 원문 dump 반입이 불가피할 때만 본 문서의 운영 원문 dump 로컬 반입 예외를 따른다.
  • 로컬·개발계 화면 검증용 데이터는 운영 원문을 변형하지 않은 합성 데이터만 사용하며, 생성·식별·초기화 기준은 테스트용 개발 데이터 정책을 따른다.
  • 개발 데이터의 suite·catalog·reference time은 합성 DB actor의 embedded manifest 하나만 소유한다. owner와 유지 종료일은 DB·filesystem에 별도 registry/history로 저장하지 않고 접근 통제된 QA 작업 기록에서 관리한다.
  • 알림 발송 이력은 활성 회원의 알림함 제공 기간 동안 보관한다. 탈퇴(LEAVE)·차단(BLOCK) 회원은 status_date 기준 30일 경과와 auto_delete=NORMAL 조건의 개인정보 자동 정리에서 수신자 연결과 표시 문구를 함께 삭제하며, 알림 이력을 별도 예외로 더 오래 보관하지 않는다.
  • 알림 표시 문구에 대화 원문을 포함할 수 있는 타입은 기존 2:2 채팅 MEET_SEND_CHAT(37)과 N:N 그룹미팅 GROUP_MEETING_CHAT_MESSAGE(82)뿐이다. 두 타입의 원문 미리보기에도 위와 같은 알림 이력 보관·삭제 기준을 적용하고, 그 밖의 타입은 대화 원문을 알림 이력에 저장하지 않는다.

3) 접근 통제

  • 민감 데이터 조회/수정은 역할 기반 권한(RBAC)으로 제한한다.
  • 운영자 조회는 목적/사유/수행자를 감사 로그로 남긴다.
  • 공유 계정 사용과 권한 공유를 금지한다.

4) 전송/저장 보호

  • 민감정보는 전송 구간 암호화(HTTPS/TLS)를 기본으로 한다.
  • 저장 시 평문 보관이 필요한 경우를 제외하고 암호화/해시를 적용한다.
  • 백업 데이터도 원본과 동일한 접근 통제를 적용한다.

5) 로그/마스킹

  • 로그에는 비밀번호, 카드번호, 토큰, 주민식별정보를 남기지 않는다.
  • 식별자 노출이 필요한 경우 마스킹 규칙을 적용한다.
  • 로그 샘플 공유 시 민감 필드를 사전 제거한다.

6) 삭제/정정/사고 대응

  • 삭제 요청 처리 시 원천 테이블, 파생 저장소, 캐시를 함께 정리한다.
  • 정정 요청은 변경 전/후 이력과 처리자를 기록한다.
  • 유출/오남용 사고는 탐지 즉시 차단, 영향 범위 분석, 복구 및 재발 방지 조치를 수행한다.

7) 회원/프로필 자동 정리 기준

  • 탈퇴(LEAVE) 또는 차단(BLOCK) 회원의 개인정보 자동 정리는 t_member.status_date 기준 30일 경과와 auto_delete=NORMAL을 조건으로 한다.
  • 자동 정리는 개인정보와 파생 개인정보 저장소를 대상으로 하며, 매칭/서비스 이용 기록처럼 운영 정산과 감사에 필요한 비개인 기록은 별도 보관 목적과 접근 통제를 유지한다.
  • 프로필 버전 자동 정리는 review_finalized_at 기준 90일 이상 지난 이전 버전을 대상으로 하며, 현재 t_member.profile_version_id가 가리키는 활성 버전은 삭제하지 않는다.
  • 자동 정리 작업의 작업 목록과 실행 주기는 Cron 작업에서 설명하되, 보관 기한과 삭제 예외 판단은 이 문서를 우선한다.

운영 절차

  1. 설계: 신규 데이터 필드의 분류/보관 기간/접근 권한을 정의한다.
  2. 구현: 저장/조회/로그 경계에 마스킹과 접근 통제를 반영한다.
  3. 검증: 권한 없는 접근 차단, 로그 민감정보 노출 여부를 점검한다.
  4. 배포: DB/운영 변경 근거와 롤백 절차를 릴리스 문서에 남긴다.
  5. 사후: 주기적으로 보관 만료 데이터 정리 결과를 점검한다.

운영 원문 dump 로컬 반입 예외

  • 적용 목적: schema-only baseline과 합성 fixture만으로 backfill·cutover·contract의 데이터 보존을 검증할 수 없는 경우에 한해 운영 원문 dump의 로컬 반입을 허용한다.
  • 허용 범위: 최신 운영 원문 dump를 로컬 MySQL에 일시 복원하는 행위만 허용한다. 테스트 데이터 생성, 분석용 추출, 개인 보관 용도는 금지한다.
  • baseline 원칙: 물리 스키마 SoT와 일반 DDL replay는 private schema-only baseline을 사용한다. 운영 원문 dump는 데이터 보존 검증용 일시 fixture이며 baseline/lock 산출물로 커밋하지 않는다.
  • 최소화 원칙: 전체 dump보다 익명화·부분 추출·합성 fixture로 같은 검증이 가능하면 원문 반입을 금지한다.
  • 접근 통제: 반입 주체는 작업 수행자 본인으로 한정하고, 공유 계정/공유 저장소/공용 장비 반입을 금지한다.
  • 저장 통제: dump 파일과 복원 DB는 로컬 암호화 저장소에만 둔다. 클라우드 동기화 폴더, 외부 공유 드라이브, 메신저/이메일 전송을 금지한다.
  • 2차 확산 금지: 검증 중 생성된 추가 export, 스크린샷, 로그, 샘플 CSV에 운영 원문 민감정보를 남기지 않는다.
  • 로그 통제: migration 검증 로그에는 민감정보 원문 대신 Gate 결과, count, hash, diff 요약만 남긴다.
  • 보관 기한: 검증 종료 즉시 dump 파일, 복원 DB, 임시 SQL, 임시 로그를 삭제한다. 작업 지연이 있더라도 24시간을 넘겨 보관하지 않는다.
  • 삭제 확인: PR 또는 작업 기록에 반입 목적, 사용 기간, 삭제 완료 시각을 남긴다.
  • 사고 대응: 분실/오남용/오반입이 발생하면 즉시 반입 파일 격리, 추가 복제 차단, 영향 범위 기록, 삭제 및 재발 방지 조치를 수행한다.

증빙/추적

  • PR 본문에 아래를 필수로 남긴다.
    • 데이터 분류 결과(신규/변경 필드)
    • 접근 권한 변경 내역
    • 로그 마스킹 검증 결과
    • 삭제/정정/복구 절차 영향 범위
  • 운영 원문 dump를 로컬에 반입한 경우 아래를 추가로 남긴다.
    • 반입 목적, 검증에 사용한 마이그레이션 소스 커밋과 대상 filename/checksum
    • 반입 시각, 삭제 완료 시각
    • 저장 위치와 접근 통제 방식
  • DB 구조 변경의 실행 기록은 DB Migration 유지보수 정책릴리스 프로세스를 따른다. 이 문서는 별도 환경별 plan/execution artifact를 추가로 요구하지 않는다.

체크리스트

  • [ ] 신규/변경 데이터 필드의 분류와 보관 기간이 정의됐는가?
  • [ ] 민감 데이터 조회/수정 경로에 역할 기반 접근 통제가 적용됐는가?
  • [ ] 로그/모니터링 출력에서 민감정보가 마스킹 또는 제거됐는가?
  • [ ] 삭제/정정 요청 처리 시 파생 저장소/캐시까지 반영되는가?
  • [ ] PR/릴리스 기록에 데이터 거버넌스 증빙이 포함됐는가?
  • [ ] 운영 원문 dump를 로컬에 반입했다면 예외 조건, 삭제 시각, 접근 통제 기록이 남았는가?

관련 문서