단톡방에 초대되면 지난 대화도 보일까
단톡방은 사람이 드나든다. 새 팀원이 들어오고 프로젝트가 끝난 사람이 나간다. 그때마다 같은 질문이 따라온다. 새로 들어온 사람은 그전에 오간 이야기를 볼까. 나간 사람은 그 뒤의 이야기를 계속 볼까. 답은 열쇠가 언제 바뀌느냐로 정해진다.
그룹에도 열쇠가 있다
1:1 대화와 원리는 같다. 메시지는 보내는 기기에서 잠기고 열쇠는 참여자의 기기에만 있다. 다른 점은 열쇠를 여러 명이 나눠 갖는다는 것이고 그래서 멤버가 바뀔 때마다 열쇠도 바뀐다.
누군가 들어오면 그 시점부터 쓸 새 열쇠를 만든다. 누군가 나가면 남은 사람들끼리 또 새 열쇠를 만든다. 방 하나에 열쇠 하나가 아니라 구간마다 열쇠가 따로 있는 셈이다. 어떤 메시지를 읽으려면 그 메시지가 쓰인 구간의 열쇠가 있어야 한다.
새로 들어온 사람은 이전 대화를 열지 못한다
초대를 받으면 그 사람의 기기는 초대 시점의 열쇠를 받는다. 그전 구간의 열쇠는 받지 않는다. 그래서 이전 대화는 열리지 않는다. 방장이 허락하고 말고의 문제가 아니라 열쇠가 없어서 생기는 결과다.
서버가 막아 주는 것이 아니라는 점은 짚어 둘 만하다. 서버는 새 멤버에게도 방의 지난 암호문을 내려보낸다. 무슨 내용인지 모르고 누가 열 수 있는지도 따지지 않기 때문이다. 그 암호문이 끝내 열리지 않는 이유는 오직 하나다. 열쇠가 없다.
나간 사람은 그 방을 다시 열지 못한다
나가거나 내보내지면 남은 사람들이 새 열쇠로 갈아탄다. 나간 사람의 기기에는 그 열쇠가 없으니 이후 대화는 읽히지 않는다.
여기에 한 겹이 더 있다. 방을 나가는 순간 그 기기에서 해당 방의 열쇠를 지운다. 서버도 더 이상 그 사람을 멤버로 보지 않아 메시지를 내려보내지 않는다. 그래서 나간 사람은 함께 있던 동안의 대화도 다시 열어 볼 수 없다. 읽을 수 있는 것은 그 방에 있는 동안 화면으로 본 것까지다.
들어오고 나간 것은 방에 남는다
멤버가 바뀌면 방에 짧은 안내가 뜬다. 들어온 사람은 이름과 함께 “○○님이 입장했습니다”로 표시된다. 나간 경우에는 이름을 적지 않고 “1명이 나갔습니다”로만 표시된다.
이름을 뺀 것은 의도적이다. 들어오는 것과 달리 나가는 것은 그 자체로 알리고 싶지 않은 신호일 수 있다. 팀에서 빠졌다거나 관계가 정리됐다는 사실이 남은 사람들에게 이름과 함께 공지될 이유는 없다. 이 안내는 일주일 뒤 사라진다.
암호화가 막지 못하는 것
열쇠로 정리되지 않는 자리는 여기서도 같다.
- 방에 있는 동안 본 것을 캡처했거나 사진을 저장했다면 그것은 그 사람의 파일이다.
- 100명이 있는 방이라면 그 100명 모두가 읽는다. 대화는 방에 있는 사람 수만큼만 안전하다.
- 누구를 들일지도 정해 두는 것이 좋다. 기본값에서는 멤버도 다른 사람을 초대할 수 있고 방 설정에서 방장과 관리자만 초대하도록 바꿀 수 있다.
자주 묻는 질문
새로 초대한 사람에게 지난 대화를 보여줄 수 있나요
없다. 이전 구간의 열쇠를 나눠 줄 방법이 없어서 설정으로 열어 줄 수도 없다. 꼭 필요한 내용이라면 직접 다시 적어 주는 수밖에 없다.
나간 사람은 있던 동안의 대화를 계속 볼 수 있나요
볼 수 없다. 방을 나가면 그 기기에서 방의 열쇠가 지워지고 서버도 더는 메시지를 내려보내지 않는다.
내보낸 사람이 다시 들어오면 그 사이 대화를 보나요
보지 못한다. 다시 들어올 때도 그 시점의 열쇠를 새로 받기 때문에 자리를 비운 동안의 대화는 열리지 않는다.
그룹은 몇 명까지 되나요
한 방에 최대 100명이다. 그룹을 만드는 것은 프리미엄 기능이고 초대받아 참여하는 것은 무료로도 된다.
방장이 방을 지우면 어떻게 되나요
참여자 전원의 목록에서 사라지고 아무도 그 방을 열 수 없게 된다. 방을 지우는 이야기는 기기 분실을 다룬 글에서 더 자세히 적었다.