이 문서는 서비스의 보안 적용 내용, 금지사항, 데이터 처리 정책을 기술합니다.
| 항목 |
적용 내용 |
| 인증 방식 |
JWT (HS256) |
| 비밀번호 해시 |
bcrypt (rounds=12) |
| 권한 구분 |
admin / user |
| 세션 만료 |
Access Token 1시간, Refresh Token 7일 |
| 항목 |
적용 내용 |
| 전송 암호화 |
HTTPS (TLS 1.2+) |
| 저장 암호화 |
DB 컬럼 레벨 암호화 (민감 필드) |
| 환경 변수 |
모든 민감정보는 .env / K8s Secret으로 분리 |
- 하드코딩된 비밀번호, API Key, 토큰 없음
- DB 접속정보 코드 외부 분리
- SQL Injection 방지: ORM (SQLAlchemy) 사용
- XSS 방지: 입력값 검증 및 이스케이프 처리
로그에 포함되지 않는 항목:
- 비밀번호 (평문 / 해시 모두)
- JWT 토큰
- API Key
- 개인식별정보 (주민등록번호, 전화번호 등)
- 결제 정보 (카드번호 등)
| 번호 |
금지 항목 |
이유 |
| 1 |
코드에 비밀번호 / API Key 직접 포함 |
유출 시 즉각 보안사고 |
| 2 |
.env 파일 Git 커밋 |
민감정보 영구 노출 |
| 3 |
로그에 개인정보 출력 |
개인정보보호법 위반 |
| 4 |
운영 DB 데이터 개발 환경 사용 |
데이터 유출 위험 |
| 5 |
인증 없이 관리자 기능 노출 |
무단 접근 위험 |
| 6 |
외부 AI / API로 개인정보 전송 |
법적 리스크 |
| 7 |
HTTP (비암호화) 프로덕션 사용 |
데이터 도청 위험 |
| 8 |
환경변수가 아닌 코드에 개인식별정보(예: 이메일, 전화번호) 하드코딩 |
저장소 유출/공유 시 개인정보 노출 |
| 데이터 |
수집 목적 |
보존 기간 |
비고 |
| 이메일 |
계정 식별 |
탈퇴 시 삭제 |
암호화 저장 |
| 로그인 이력 |
보안 감사 |
90일 |
- |
| 외부 서비스 |
전송 데이터 |
개인정보 포함 여부 |
비고 |
| - |
- |
없음 |
- |
개인정보 또는 민감정보는 외부 서비스로 전송하지 않습니다.
- AI 생성 결과는 자동으로 업무에 반영하지 않음
- 반드시 사람이 검토 후 적용
- AI 서비스로 전송되는 데이터에 개인정보 포함 금지
- 사용자가 프롬프트에 외부 로그인 정보, API Key, 인증 토큰 등 민감 정보를 실수로 입력했다면 즉시 강력히 경고하고, 해당 정보의 재발급/회수를 제안
보안 취약점 발견 시 아래 절차를 따르세요:
- 공개 이슈 등록 금지 — 취약점은 공개 채널로 공유하지 마세요
- 담당자에게 직접 연락 ()
- 취약점 내용, 재현 방법, 영향 범위 포함
| 주기 |
점검 항목 |
| 매월 |
의존성 취약점 스캔 (pip audit, safety) |
| 매월 |
불필요한 권한 계정 검토 |
| 분기 |
JWT 서명 키 교체 |
| 분기 |
DB 접근 권한 검토 |
| 연간 |
전체 보안 감사 |