보험 도메인 심화 · 보존 기간과 파기, 그리고 보존 명령 · 실습
보존기간이 지난 개인정보 파기하기
목표
보존기간 표와 보존 명령을 데이터로 두고, 기간이 지난 개인정보를 예행과 실제 파기로 나누어 지운다. 파기 증적을 남기고, 지워진 사람의 정보가 정말 읽히지 않는지, 백업에는 무엇이 남았는지까지 확인한다.
왜 중요한가
개인정보는 지우지 않아도 사고고 잘못 지워도 사고다. 보유기간이 지나면 지체 없이 파기해야 하지만, 분쟁이나 감독기관 요구로 보존 명령이 걸린 건은 기간이 지나도 지우면 안 된다. 두 규칙이 부딪히는 자리를 사람의 판단에 맡기면 매번 다르게 처리되므로, 판정을 다시 계산할 수 있는 데이터로 만들어 둔다.
특히 기산일 하나로 결과가 통째로 바뀐다. 청구의 3년을 사고일부터 세느냐 종결일부터 세느냐에 따라 아직 보존해야 할 자료가 수십 건 지워질 수 있고, 그 사고는 지워진 뒤에만 드러난다.
채점기는 여러분이 적어 낸 목록을 믿지 않는다. 계약·청구·규칙 표에서 직접 다시 계산해 대조하고, 파기 뒤에는 백업에서 되찾은 연락처가 백업 밖의 파일에 아직 남아 있는지 훑는다.
단계
1. /root/retention/gen_retention.py 를 만들어 실행해 /root/retention/ins.db 와 서류·백업을 만든다. 계약 120건, 청구 240건, 개인정보 360줄, 규칙 4줄, 보존 명령 12건이다.
2. 기산일을 옛 판 규칙으로 바꾸면 더 지워지는 건을 /root/retention/basis_gap.csv 에, 다섯 숫자를 /root/retention/basis.txt 에 적는다.
3. 기준일 현재 보존기간이 지난 건을 /root/retention/due.csv 에 적는다. 보존 명령은 아직 보지 않는다.
4. 보존 명령으로 빠지는 건을 /root/retention/hold_excluded.csv 에, 최종 대상을 /root/retention/due_final.csv 에 적는다.
5. /root/retention/purge_plan.json 에 예행 계획을 낸다. 이 단계에서는 아무것도 지우지 않는다.
6. /root/retention/purge.py 를 만들어 실행해 계획대로 지우고 purge_log 에 이력을 남긴다.
7. /root/retention/purge_evidence.json 에 파기 증적을 낸다.
8. 백업에 남은 사본을 /root/retention/backup_residual.csv 에, 보고서를 /root/retention/retention_report.md 에 쓴다.
참고
- 판정 규칙: 파기 대상은
기산일 + 보존연수 <= sys_param.asof인 건입니다. 기산일이 비어 있는 건(아직 종결되지 않은 청구)은 대상이 아닙니다. - 연 단위 가감은
date.replace(year=...)로 합니다. 2월 29일은 그 해에 없으면 28일로 내립니다. - 최종 대상은 파기 대상에서
legal_hold에 걸린 건을 뺀 것입니다. - 파기는
subject표의 행 삭제 + 그 청구의 서류 파일 삭제 +purge_log적재입니다. 백업은 건드리지 않습니다. purge_log의 열은subject_type, subject_id, rule_kind, basis_date, expiry_date, purged_at, doc_path이고 앞 두 열이 기본키입니다.rule_kind는 policy 또는 claim,doc_path는 계약이면 비어 있습니다.- 규칙 계산은 한 곳에 모아 두면 3단계부터 8단계까지 다시 쓰지 않아도 됩니다.
- 기준일 확인:
sqlite3 -readonly /root/retention/ins.db "SELECT * FROM sys_param;" - 흔한 실수: 기산일이 비어 있는 건을 아주 옛날로 처리하기, 보존 명령을 기간 판정보다 먼저 보기, 표의 행만 지우고 서류 파일을 남기기, 백업까지 지워 버리기.
- 이 실습의 사람 이름·연락처·주소는 전부 합성입니다. 보존연수 중 법정 시효가 아닌 값은 합성 사내 규정이며 본문에 그렇게 적혀 있습니다.
단계 8개
- 계약과 청구 스냅샷 만들기
- 기산일을 바꾸면 무엇이 달라지나
- 기간이 지난 건 뽑아내기
- 보존 명령이 걸린 건 빼내기
- 지우기 전에 계획부터 내기
- 계획대로 실제로 지우기
- 파기 증적 내고 되살릴 수 없는지 확인하기
- 백업에 남은 사본 드러내고 보고서 쓰기