Skip to content

Security: grepp/studio-templates

Security

docs/SECURITY.md

SECURITY.md — 보안 정책 문서

이 문서는 서비스의 보안 적용 내용, 금지사항, 데이터 처리 정책을 기술합니다.


1. 보안 적용 내용

1.1 인증 / 인가

항목 적용 내용
인증 방식 JWT (HS256)
비밀번호 해시 bcrypt (rounds=12)
권한 구분 admin / user
세션 만료 Access Token 1시간, Refresh Token 7일

1.2 데이터 보호

항목 적용 내용
전송 암호화 HTTPS (TLS 1.2+)
저장 암호화 DB 컬럼 레벨 암호화 (민감 필드)
환경 변수 모든 민감정보는 .env / K8s Secret으로 분리

1.3 코드 보안

  • 하드코딩된 비밀번호, API Key, 토큰 없음
  • DB 접속정보 코드 외부 분리
  • SQL Injection 방지: ORM (SQLAlchemy) 사용
  • XSS 방지: 입력값 검증 및 이스케이프 처리

1.4 로그 보안

로그에 포함되지 않는 항목:

  • 비밀번호 (평문 / 해시 모두)
  • JWT 토큰
  • API Key
  • 개인식별정보 (주민등록번호, 전화번호 등)
  • 결제 정보 (카드번호 등)

2. 금지사항

번호 금지 항목 이유
1 코드에 비밀번호 / API Key 직접 포함 유출 시 즉각 보안사고
2 .env 파일 Git 커밋 민감정보 영구 노출
3 로그에 개인정보 출력 개인정보보호법 위반
4 운영 DB 데이터 개발 환경 사용 데이터 유출 위험
5 인증 없이 관리자 기능 노출 무단 접근 위험
6 외부 AI / API로 개인정보 전송 법적 리스크
7 HTTP (비암호화) 프로덕션 사용 데이터 도청 위험
8 환경변수가 아닌 코드에 개인식별정보(예: 이메일, 전화번호) 하드코딩 저장소 유출/공유 시 개인정보 노출

3. 데이터 처리 정책

3.1 수집 데이터

데이터 수집 목적 보존 기간 비고
이메일 계정 식별 탈퇴 시 삭제 암호화 저장
로그인 이력 보안 감사 90일 -

3.2 외부 전송 데이터

외부 서비스 전송 데이터 개인정보 포함 여부 비고
- - 없음 -

개인정보 또는 민감정보는 외부 서비스로 전송하지 않습니다.

3.3 AI 사용 정책

  • AI 생성 결과는 자동으로 업무에 반영하지 않음
  • 반드시 사람이 검토 후 적용
  • AI 서비스로 전송되는 데이터에 개인정보 포함 금지
  • 사용자가 프롬프트에 외부 로그인 정보, API Key, 인증 토큰 등 민감 정보를 실수로 입력했다면 즉시 강력히 경고하고, 해당 정보의 재발급/회수를 제안

4. 보안 취약점 신고

보안 취약점 발견 시 아래 절차를 따르세요:

  1. 공개 이슈 등록 금지 — 취약점은 공개 채널로 공유하지 마세요
  2. 담당자에게 직접 연락 ()
  3. 취약점 내용, 재현 방법, 영향 범위 포함

5. 정기 점검 항목

주기 점검 항목
매월 의존성 취약점 스캔 (pip audit, safety)
매월 불필요한 권한 계정 검토
분기 JWT 서명 키 교체
분기 DB 접근 권한 검토
연간 전체 보안 감사

There aren't any published security advisories