DSHS.APP 가이드 Help

보유기간 정책

보유기간의 단일 기준은 백엔드 상수 파일 apps/backend/src/privacy/retention.constants.ts이며, 이용자에게 공개되는 값은 개인정보 처리방침 제4조와 항상 일치해야 합니다. 값을 바꾸려면 방침을 먼저 개정합니다.

보유기간 표

대상

기간

상수

근거

학생·교직원 계정·생성 정보

이용 자격 상실 후 1년

USER_AFTER_ELIGIBILITY_LOSS_DAYS = 365

처리방침 §4 (학교 확정값)

학부모 계정

연결 해제 후 6개월

PARENT_AFTER_UNLINK_DAYS = 180

처리방침 §4

파기 예약 유예

예약 후 7일

SCHEDULED_PURGE_GRACE_DAYS = 7

오승인 취소 여유

감사 기록(접속기록)

2년

AUDIT_LOG_TTL_DAYS = 730

안전성 확보조치 기준 제8조

웹서버 접속 로그

3개월

ACCESS_LOG_TTL_DAYS = 92

통신비밀보호법 제15조의2

시트 동기화 변경 스냅샷

1년 후 스크럽

USER_SYNC_CHANGES_TTL_DAYS = 365

내부 최소화

알림

1년

NOTIFICATION_TTL_DAYS = 365

내부 최소화

검색 기록

180일

SEARCH_HISTORY_TTL_DAYS = 180

내부 최소화

실패 로그

1년

FAIL_LOG_TTL_DAYS = 365

내부 최소화

만료 토큰·코드·패스키 챌린지

만료 후 30일

EXPIRED_CREDENTIAL_ARTIFACT_TTL_DAYS = 30

내부 최소화

파기 절차 (자동)

파기는 하드 삭제가 아닌 제자리 익명화(스크럽) 방식입니다. 하드 삭제는 수십 개 관계를 연쇄 삭제하여 다른 이용자의 게시물·수업 자료까지 파괴하므로, 계정 행을 익명화(purged-<id>@deleted.invalid, '탈퇴한 사용자')하고 개인정보 위성 데이터(비밀번호·패스키·토큰·기기 토큰·알림·검색 기록·바코드·학부모 이메일 등)만 삭제합니다.

  • 파기 대상 지정: 이메일(/contact)로 접수된 삭제 요청을 관리자가 확인한 뒤 파기를 예약 (→ scheduledPurgeAt 설정). 모든 학생 연결이 해제된 학부모는 자동으로 6개월 후 파기가 예약됩니다.

  • 주간 크론 privacy-purge-users (월요일 02:00 KST): scheduledPurgeAt이 지난 계정을 스크럽합니다. 임시 이용 배제(ghost) 계정은 예약 표시가 없으면 절대 건드리지 않습니다.

  • 일간 크론 privacy-purge-logs (01:45 KST): 위 표의 TTL을 집행합니다.

  • 두 크론 모두 ?dryRun=true를 지원하며, 실행 결과는 감사 기록에 남습니다.

  • 학부모 계정 즉시 삭제(본인 요청·관리자)는 기존 하드 삭제 경로를 사용합니다(연쇄 삭제 범위가 좁음).

분리 보관에 관하여

학사 기록의 원천 시스템은 NEIS이며, 법정 보존 의무가 있는 항목 중 이 서비스에만 존재하는 것은 없습니다. 따라서 별도 분리 보관 테이블은 두지 않으며, 학교가 법정 보존 항목을 지정하는 경우에만 추가합니다.

Last modified: 22 August 2026