25화

송주혁의 진술이 끝난 뒤 회색실의 권한표가 다시 만들어졌다

증거분석관은 빠진 말을 듣는다 · 2026. 10. 10.

조회수 0

송주혁의 진술이 끝난 뒤 회색실의 권한표가 다시 만들어졌다. 첫 사건 때처럼 현장팀이 자료를 모으고 분석관이 해석한 뒤 한 사람이 결론을 쓰는 방식은 더 이상 유지할 수 없었다. 서진의 능력 출력이 첫 가설을 밀어 올렸고, 민우의 속도가 그 가설을 실행 가능한 용의선으로 만들었다. 정정은 공개됐지만, 잘못된 접근이 만든 손상은 표에 남아 있었다.

여름은 회의 시작과 함께 세 장의 카드를 내놓았다. 접근권, 거부권, 검토권.

“이번 사건부터 원본 접근에는 두 명의 확인자가 필요합니다. 한 명은 자료를 가져온 사람, 한 명은 해석을 하지 않은 외부 검토자입니다.”

민우가 말했다. “보존 기한이 짧은 자료는 그렇게 기다릴 수 없습니다.”

“그럴 때는 임시 보존만 먼저 하고, 열람은 이중 검토 뒤에 합니다.”

서진은 자신의 이름 옆에 접근 제한 표시가 붙은 것을 보았다. 능력 사용 기록과 원음 파일을 함께 다룰 때는 그녀 혼자 해석할 수 없고, 출력은 증거 목록과 별도 보관해야 했다. 무제한 복귀가 아니라 감독 조건이 붙은 접근이었다.

“제가 동의하지 않으면요?” 송주혁이 물었다.

“당사자 자료라면 거부할 수 있습니다. 다만 거부 때문에 보존 기한을 놓치면 그 비용도 기록합니다.”

송주혁은 카드를 한 장씩 확인했다. 그는 자신의 정보가 공개되지 않을 권리와, 회사의 자료를 무조건 묶어 둘 권리를 구분했다.

“제가 제공하지 않은 자료를 제 이름으로 해석하지 않는다는 문구를 넣어 주세요.”

서진은 그 요구를 회의록에 넣었다. 민우는 잠시 반대하려 했지만, 서진이 먼저 말했다.

“이 조건이 있어야 송주혁이 물류 기록을 계속 제공할 수 있습니다.”

“거부권이 너무 넓어지면 수사가 멈춥니다.”

“그래서 거부 이유와 만료 시각도 함께 적는 겁니다.”

여름은 접근권의 범위를 세분했다. 냉장 구역 온도와 전력 기록은 회색실이 직접 확보할 수 있었고, 배송기사의 신원과 보호 대상 추정 자료는 보호기관의 확인을 거쳐야 했다. 운영실 테스트폰은 외부 검토자가 먼저 복제하고, 회색실은 해시와 생성 시각만 볼 수 있었다. 송주혁은 원본을 열람하지 않고 제공 여부를 결정할 수 있었다.

“이렇게 하면 범인이 자료를 없앨 시간을 벌 수 있습니다.” 민우가 말했다.

“그래서 보존 요청은 즉시 나가고, 내용 열람만 늦추는 겁니다.” 서진이 답했다.

팀은 실제로 새 조건을 시험했다. 플랫폼은 04:03의 두 토큰에 대한 원본 중계 로그를 24시간 뒤 삭제한다고 통보했다. 송주혁은 회사 서버에 접근할 수 있었지만, 자신이 직접 내려받지는 않겠다고 했다. 그는 회색실이 독립 검토자를 지정하면 그 사람에게만 보존 요청 권한을 주겠다고 했다.

민우는 서진과 외부 검토자에게 동시에 요청서를 보냈다. 요청 시각은 10:12:08, 회신은 10:12:44에 왔다. 두 사람의 확인이 끝난 뒤에야 플랫폼의 원본 중계 로그가 보존됐다. 로그에는 정상 완료 토큰과 취소 토큰이 같은 배송기기에서 나온 것이 아니라, 정상 토큰을 받은 서버가 별도 중계 요청을 발급했다는 사실이 남았다.

취소 토큰의 최초 출처는 여전히 비어 있었다. 그러나 ‘누가 버튼을 눌렀는지’보다 먼저 ‘어떤 경로에서 두 번째 토큰이 생겼는지’가 확인됐다. 송주혁의 이름은 그 중계 경로에 없었다.

서진은 능력 출력 ‘빈집’을 별도 기록함에 넣었다. 그녀는 그 단어가 사건표의 용의선에 들어갔다가 빠진 과정을 모두 적었다. 민우는 출력 기록에 접근하려면 외부 검토자 서명이 필요하다는 규칙에 동의했다.

“당신이 자신의 능력을 숨기면 팀이 판단할 자료가 줄어듭니다.” 민우가 말했다.

“그래서 숨기지 않고, 증거로 쓰지 않는 겁니다.”

“그 차이를 계속 설명해야겠군요.”

“설명하지 않으면 같은 오판을 다시 합니다.”

민우는 그 말을 듣고 자신의 보고서에 반대 가설 칸을 넓혔다. 서진도 민우의 현장 판단을 사후에 수정할 때, 수정 이유와 자신의 접근권을 함께 기록하기로 했다. 관계의 신뢰는 서로 믿는다고 말하는 데서가 아니라, 서로의 권한이 어디에서 멈추는지 합의하는 데서 제도화되고 있었다.

송주혁은 오후에 회사 서버의 물류 계약 기록을 보호기관으로 넘겼다. 그는 아딜의 이름을 말하지 않았고, 보호기관도 이름을 요구하지 않았다. 대신 배송 시간, 냉장 장비의 전력 변화, 작업자에게 지급된 장비 식별자만 추출했다. 이 자료로는 보호 대상의 신원을 확정할 수 없지만, 누가 어떤 장비를 언제 사용했는지는 확인할 수 있었다.

서진은 이 독립 기록을 보고도 송주혁을 믿는다는 표현을 쓰지 않았다. 그녀는 ‘송주혁의 진술과 물류 자료가 일치하는 부분’과 ‘아직 일치하지 않는 부분’을 두 표로 나눴다. 차량 뒷문 개방, 냉장 구역 온도 상승, 배송기기 접속은 일부 일치했다. 운영실 테스트폰의 사진 생성자와 취소 토큰 중계자는 여전히 비어 있었다.

민우가 말했다. “범행 핵심이 아니라도, 그 두 빈칸이 다음 단계입니다.”

“네. 하지만 보호 대상의 이름으로 빈칸을 채우지는 않습니다.”

송주혁은 그 문장을 읽고 처음으로 고개를 끄덕였다. 그는 아딜이 스스로 진술할 수 있는 보호 절차가 완성되면, 그때 진술 여부를 본인이 결정하도록 하겠다고 말했다. 회색실은 그 선택을 기다리기로 했고, 그동안 온도·전력·토큰 기록만으로 사건을 진행했다.

저녁 여섯 시, 서진은 접근권 변경 확인서에 서명했다. 능력 출력과 원음 파일은 이중 검토, 당사자 자료는 거부 이유와 만료 시각 기록, 모든 정정은 원문과 함께 보존. 그 조건들은 그녀의 지위를 낮추는 것처럼 보였지만, 실제로는 판단을 한 사람에게 몰아주지 않는 방식으로 수사 자격을 다시 만드는 장치였다.

여름은 마지막 회의록에 적었다.

‘첫 가설은 반증으로 폐기되었다. 오판 피해자의 접근·거부·검토권을 수사 절차에 반영한다. 보호 대상의 신원 없이도 보존 가능한 물리·전력·토큰 자료를 우선한다.’

송주혁은 회의록의 마지막 줄을 읽고 한 문장을 추가했다.

‘보호를 이유로 자료를 통제한 사람도 그 통제의 비용을 기록한다.’

서진은 그 문장을 지우지 않았다. 보호는 선한 의도만으로 완성되지 않았고, 거짓말은 이유가 있다고 해서 사라지지 않았다. 사람에 대한 부분 해답은 얻었지만, 사건의 핵심은 아직 중계 서버와 운영실 테스트폰의 빈칸에 남아 있었다.

밤 열 시, 플랫폼에서 새 보존 로그가 도착했다. 취소 토큰은 정상 완료 토큰의 네트워크가 끊긴 뒤, 다른 승인 경로에서 재발급됐다. 중계 경로의 첫 식별자는 냉장 물류창고가 아니라 외부 배송관리 서비스였다.

서진은 화면을 닫지 않았다. 파란 삼각형 영수증과 같은 계열인지, 단순한 서비스 재사용인지 아직 알 수 없었다. 그녀는 윤준호의 이름을 쓰지 않고, 고객번호의 재사용 가능성과 서비스 계정의 권한표를 다음 질문으로 등록했다.

회색실은 이전과 같은 팀이었지만, 같은 권한을 가진 팀은 아니었다. 서진은 제한된 접근으로 다음 원본을 기다렸고, 송주혁은 거부권을 가진 채 물류 자료를 보존했다. 민우는 현장권한을 유지하면서도 독립 검토자의 확인 없이는 결론을 내릴 수 없었다.

새 사건표의 첫 줄에는 여전히 04:03이 남아 있었다. 그 아래에 두 번째 토큰의 외부 서비스 식별자가 붙었다. 짧은 보존 기한이 다시 시작되고 있었다. 다음 날 새벽, 외부 배송관리 서비스가 보존 요청의 범위를 다시 물었다. 전체 계정 기록을 열면 다른 배송자의 개인정보가 함께 노출될 수 있었다. 서진은 04:03 전후 20분과 해당 토큰의 승인 경로만 요청했다. 민우는 더 넓은 범위를 요구했지만, 송주혁이 거부권을 행사할 수 있는 자료라면 필요한 최소 범위를 먼저 정해야 했다.

“범위를 줄이면 중계자를 놓칠 수 있습니다.”

“넓히면 관련 없는 사람을 사건에 넣습니다.”

여름은 두 의견을 모두 기록하고, 독립 검토자가 최소 범위와 확장 조건을 함께 정하도록 했다. 확장 조건은 정상 토큰과 취소 토큰이 같은 계정에서 연결되거나, 냉장 구역 전력 변화와 특정 작업자 식별자가 겹칠 때였다. 무제한 조사 대신 관찰 가능한 문턱을 정한 것이다.

송주혁은 그 절차를 승인했지만, 자신의 회사 계정에 대한 직접 접근은 거부했다. 그는 외부 검토자에게 원본을 맡기고, 회색실에는 해시와 승인 경로만 받겠다고 했다. 민우는 불편해했지만 그 조건을 받아들였다. 거부권이 수사를 멈추는 벽이 아니라, 누가 무엇을 볼 수 있는지 분리하는 선으로 바뀌는 순간이었다.

서진은 22화의 능력 기록에서 ‘빈집’ 단어와 잃었던 일상어의 회복 시각을 확인했다. 그녀는 비용을 숨기지 않고 팀 고정 기록에 넣었다. 다음 능력 사용에는 같은 단어 범주의 반복 가능성을 검토하고, 능력을 쓰지 않고 확인할 수 있는 자료가 있으면 먼저 선택한다는 조건을 추가했다.

민우가 말했다. “당신이 계속 능력을 안 쓰면 현장에서는 답을 늦게 얻습니다.”

“대신 답이 누구의 말인지 확인할 수 있습니다.”

“그럼 당신과 제가 서로의 빈칸을 확인해야겠군요.”

서진은 고개를 끄덕였다. 민우가 처음으로 직함이 아니라 이름을 불렀고, 그 변화는 회의록의 관계 신호 칸에 조용히 남았다.

오전 열한 시, 외부 서비스에서 제한 범위의 보존 확인이 왔다. 취소 토큰은 물류창고의 운영실이 아니라 외부 승인 경로에서 발급됐다. 그 경로에는 두 개의 서비스 계정이 연결돼 있었고, 실제 작업자 이름은 아직 확인되지 않았다. 운영실 테스트폰의 사진 생성과 취소 토큰의 발급이 같은 사람의 행동이라는 증거는 나오지 않았다.

서진은 사건표를 두 갈래로 나눴다. 사진을 만든 장치의 접근 경로, 토큰을 재발급한 서비스의 승인 경로. 둘을 하나의 범행으로 묶지 않고, 언제 같은 사람 또는 같은 조직으로 연결되는지 확인하기로 했다.

송주혁은 그 표의 복사본을 받았다. 그는 아딜의 이름이 없다는 것을 확인하고서야 자신의 자료 제공을 계속하겠다고 말했다. 서진은 그 선택을 협조 보상으로 쓰지 않았다. 이미 정해진 권리와 조건을 지킨 결과였다.

이번 화가 재미있었나요?

좋아요와 평점은 언제든 변경할 수 있습니다.

독자 평점 아직 없음

댓글

댓글을 작성하려면 로그인해 주세요.