민가온은 공개 보고서의 삼백열두 번째 줄 앞에서 손을 멈췄다. ‘당시 실무 담당자는 상급자의 구두 지시를 받고 보고를 보류했다.’ 그 문장 뒤에는 직급과 근무 부서, 면담 날짜가 이어졌다. 이름을 지워도 회사 안에서는 누구인지 짐작할 수 있는 조합이었다.
그는 검은 가림 상자를 문장 절반까지 늘렸다. 화면에는 ‘당시 실무 담당자는’이라는 주어와 ‘보고를 보류했다’는 결과만 남았다. 사실은 보였지만 압박을 한 사람이 누구였고 담당자가 어떤 선택을 했는지는 흐려졌다.
윤해진이 의자를 끌어와 앉았다. “이렇게 가리면 중간 담당자에게 책임이 몰려요. 상급자 지시가 있었다는 구조가 사라지잖아요.”
“부서와 날짜를 남기면 신원을 알아낼 수 있어요.” 가온은 식별 위험표를 열었다. 같은 직급, 같은 시기에 근무한 사람은 한 명뿐이었다. 보호 종료 뒤 평범한 자리로 돌아간 사람을 공개 보고서가 다시 증언대로 끌어낼 수 있었다.
두 사람은 문장을 세 번 고쳤다. ‘복수의 상급 결재자 중 한 명의 문서화되지 않은 지시를 받은 실무 담당자’라고 쓰고, 부서와 면담 날짜는 지웠다. 대신 지시가 확인된 근거 문서 번호와 독립 면담의 존재를 각주로 달았다.
초안이 공개되자 시민감시단은 즉시 성명을 냈다. 가린 줄이 전체의 사분의 일에 이르러 기관 책임을 검증할 수 없다는 비판이었다. 언론은 검은 상자로 가득한 페이지를 확대해 ‘태성이 또 숨긴 보고서’라는 제목을 붙였다.
가온은 기사 화면을 끄지 않았다. 자신이 보호라는 이름으로 너무 많이 가렸을 가능성도 있었다. 그는 가림 사유표를 공개하고, 회사 밖 독립 검토자 세 명에게 원본과 공개본을 동시에 맡기자고 제안했다.
독립 검토자는 정보인권 변호사, 공공기록 연구자, 전직 노동위원이었다. 세 사람은 회사와 위원회 어느 쪽에서도 보수를 받지 않는 별도 예산으로 선임됐다. 가온은 그들의 열람 기록도 자기 것과 같은 방식으로 남겼다.
첫 심사에서 변호사는 제보자 가족의 병원 방문 기록이 섞인 첨부물을 전부 삭제하라고 했다. 사건과 아무 상관이 없고, 날짜만으로도 가족을 추정할 수 있었다. 가온은 이미 가린 부분이었지만 원본 접근 대상에서도 분리 격리했다.
반대로 공공기록 연구자는 감독기관 회의 참석자의 직위를 공개해야 한다고 판단했다. 정책 결정 권한이 있는 자리까지 가리면 누가 보류를 승인했는지 알 수 없었다. 개인 이름을 지우더라도 직위와 의결 역할은 공익 검증에 필요했다.
노동위원은 한 문단을 오래 들여다봤다. 구두 지시를 받은 실무자가 이의를 제기했다는 진술이었다. 이의 내용은 제도 실패를 설명하지만, 구체적 표현은 당사자를 알아보게 했다. 그는 표현을 요약하고 이의 제기 시각과 후속 조치만 남기자고 했다.
가림은 검은색을 칠하는 기술이 아니었다. 누구의 삶을 보호하고 누구의 권한을 드러낼지 문장마다 선택하는 일이었다. 민가온은 자동 식별 도구의 점수를 참고하되 최종 판단란에 사람이 읽은 이유를 적었다.
시민감시단 대표가 공개 검토 회의에 참석했다. 그는 “회사 사람이 가린 뒤 회사가 고른 사람이 검토하면 독립이라고 할 수 있느냐”고 물었다. 해진은 선임 과정과 후보 제외 사유, 비용 출처를 공개했다. 대표에게도 이의 신청권을 주었다.
두 번째 초안에서는 가린 줄이 절반 가까이 줄었다. 감독기관 고위 직위, 결재 시각, 회의 안건은 드러났고 제보자의 주소지·가족관계·현재 직장은 지워졌다. 각 가림 옆에는 개인정보, 제보자 보호, 진행 중 절차 중 하나의 사유 코드가 붙었다.
그런데 한 줄에서 가림 사유 코드가 본문보다 더 많은 것을 암시했다. ‘제보자 보호’라는 표시는 그 사람이 제보자였음을 알려 주었다. 가온은 코드 공개 방식을 바꿔 여러 사유를 묶은 범주 번호로 표시하고, 상세 사유는 독립 검토 기록에만 남겼다.
“완벽하게 가리겠다는 생각부터 버려야 해요.” 변호사가 말했다. “오류가 생겼을 때 회수하고 통지하는 절차까지 공개해야 합니다.”
가온은 공개 보고서 첫머리에 정정 창구와 회수 기준을 넣었다. 식별 피해가 확인되면 해당 페이지를 즉시 내리고, 당사자에게 알리고, 독립 검토자가 재공개 여부를 결정하도록 했다. 실수하지 않는다는 약속 대신 실수를 숨기지 않는 약속이었다.
한이겸은 자기 면담 부분을 읽었다. 회귀 기억에 관한 설명은 거의 모두 가려져 있었고 ‘조사 책임자가 현재 자료 밖의 개인적 기억을 단서로 제시함’만 남았다. 그는 자신의 사정이 더 공개돼도 된다고 말했다.
해진은 동의하지 않았다. “당신이 괜찮다고 해서 다른 사람의 식별 위험까지 같이 풀리면 안 됩니다. 이 문장은 한 팀장 개인 고백이 아니라 조사 통제 실패를 보여 주는 만큼만 남겨야 해요.”
이겸은 수정 요청을 거두었다. 스스로 감수할 수 있는 피해와 함께 등장하는 사람에게 강요되는 피해는 달랐다. 공개는 용기의 경쟁이 아니라 범위의 합의여야 했다.
최종 회의에서 시민감시단은 여전히 세 문장을 더 공개하라고 요구했다. 독립 검토자는 그중 한 문장은 직위를 공개하고, 한 문장은 비공개를 유지하며, 나머지 한 문장은 사건 종결 뒤 재심사하기로 결정했다. 어느 쪽도 전부 이기지 않았다.
재심사 기한을 두고도 논쟁이 이어졌다. 회사는 조사 종료 뒤로 미루자고 했고 시민감시단은 한 달을 요구했다. 독립 검토자는 피해 가능성과 공익의 변화를 따져 석 달마다 상태를 확인하고, 공개를 미룰 때마다 새 이유를 적도록 했다.
가온은 공개본 파일에 보이지 않는 작성자 정보가 남아 있음을 발견했다. 내용은 가렸지만 문서 속성에는 초안 담당자의 계정명이 그대로였다. 그는 배포를 한 시간 늦추고 속성 제거와 재검증 기록을 남겼다.
지연 공지를 본 기자가 또 은폐가 발견된 것이냐고 물었다. 가온은 기술 오류의 종류와 영향 범위를 숨기지 않고 설명했다. 아무도 파일을 내려받기 전 발견됐다는 사실도 서버 기록으로 제시했다.
독립 검토자는 배포 전 점검표에 문서 속성과 첨부 파일 이름, 검색 색인 조각을 추가했다. 한 번의 실수가 다음 공개에서 반복되지 않도록 사람의 주의가 아니라 절차 항목으로 바뀌었다.
시민감시단 대표는 수정된 점검표에 참관 서명을 했다. 그는 여전히 가림 범위에 동의하지 않는다고 썼지만, 어떤 파일이 공개됐는지는 함께 확인했다. 반대와 사실 확인이 한 서명 안에서 동시에 가능했다.
민가온은 변경 이력을 보고서 끝에 붙였다. 무엇을 새로 드러냈는지뿐 아니라 무엇을 계속 가렸고 누가 왜 판단했는지를 적었다. 검은 줄은 사라져야 할 수치가 아니라 설명받아야 할 결정이 되었다.
공개 버튼을 누르기 직전 그의 손이 잠깐 굳었다. 숫자 원장은 틀리면 다시 계산할 수 있었지만, 한 번 퍼진 사람의 정보는 되돌리기 어려웠다. 해진이 옆에서 최종 확인표의 두 번째 서명란을 채웠다.
보고서가 게시된 뒤 첫 한 시간 동안 수천 건의 열람이 기록됐다. 식별 피해 신고는 없었고, 가림 이의는 열일곱 건 들어왔다. 가온은 그것을 공격으로 분류하지 않고 심사 순서표에 올렸다.
밤늦게 독립 검토자에게서 한 줄짜리 메시지가 왔다. ‘공개와 보호 사이의 판단은 종료되지 않았습니다.’ 가온은 그 문장을 보고서 운영 기록 첫 줄에 옮겼다.
창밖의 본사 간판은 아직 켜져 있었다. 공개 보고서의 가린 줄 사이로 모든 진실이 한꺼번에 보인 것은 아니었다. 그러나 누가 가렸고, 왜 가렸고, 누가 다시 열어 볼 수 있는지는 더 이상 회사 혼자 정하지 않았다.