WillSignal에서 가장 막아야 할 일은 메시지가 사용자가 원한 때보다 일찍 전달되는 것입니다.
아래의 모든 안전장치는 그 일을 막기 위해 마련되어 있습니다.
중요한 메시지를 맡기기 전에 어떤 보호 장치가 있고 어디까지 대응할 수 있는지 확인해 보세요.
늦어질 수는 있어도 앞당겨지지 않도록 합니다.
두 방향 중 하나를 선택해야 한다면 WillSignal은 항상 전달을 미루는 쪽을 택합니다.
더 빠르거나, 구조가 단순하거나, 설명하기 쉬운 쪽을 우선하지 않습니다.
WillSignal 쪽 문제로 전달이 늦어질 수는 있습니다. 전달을 시작시키도록 만들어진 장치는 없습니다.
아래의 기능들은 서로 따로 붙인 장치가 아닙니다. 모두 같은 원칙에서 나온 결과입니다.
새 계정의 시그널은 시작 전 상태입니다.
사용자가 직접 시작하기 전까지 카운트다운은 진행되지 않으며 어떤 메시지도 전달될 수 없습니다.
계정을 만들고 둘러본 뒤 시그널을 시작하지 않은 채 이용을 그만두더라도 아무것도 전달되지 않습니다.
초안은 전달되지 않습니다.
시그널이 꺼질 때도, 그 이후에도 전달되지 않습니다. 수신자를 이미 선택했다는 이유만으로 전달되는 일도 없습니다.
초안은 사용자가 직접 활성화한 뒤에야 전달 가능한 상태가 됩니다.
수신자가 없는 메시지는 전달될 수 없습니다.
수신자는 메시지마다 따로 지정합니다. 준비됨 상태인 메시지에 연결된 수신자가 없다면 시그널이 꺼져도 받을 사람이 없습니다.
주기는 사용자가 선택합니다.
1일에서 30일 사이에서 선택할 수 있으며 기본값은 3일입니다.
주기가 길수록 시그널을 덜 자주 유지해도 되고, 메시지가 전달되기 전까지 더 많은 여유가 생깁니다. 주기가 짧으면 그 반대입니다.
주기는 언제든 변경할 수 있습니다.
시그널이 꺼지기 전에 여러 번 알립니다.
남은 시간이 줄어들면 WillSignal은 계정에 등록된 이메일 주소로 선택한 주기에 맞춰 알림을 보냅니다.
각 알림에는 남은 시간과 시그널을 유지해 달라는 안내가 들어갑니다. 어떤 메시지인지, 누구에게 보낼 메시지인지는 표시하지 않습니다.
다른 사람이 이메일을 보더라도 메시지나 수신자에 관한 정보는 알 수 없습니다.
시그널을 유지하면 카운트다운 전체가 다시 시작됩니다.
남은 시간에 일부만 더하는 방식이 아닙니다. 시그널을 유지한 순간부터 선택한 주기 전체가 새로 시작됩니다.
필요할 때 시그널을 일시중지할 수 있습니다.
정해진 기간 동안 일시중지하거나, 다시 재개할 때까지 무기한으로 멈춰 둘 수 있습니다.
일시중지 중에는 카운트다운이 진행되지 않으며 시그널도 꺼지지 않습니다.
입원, 장거리 비행, 인터넷을 이용하기 어려운 일정처럼 정기적으로 시그널을 유지하기 힘든 기간에는 일시중지가 가장 직접적인 방법입니다.
카운트다운 서비스는 장애가 생겼을 때 어떻게 대응하는지에 따라 안전성이 크게 달라집니다.
서비스를 이용할 수 없었던 시간은 카운트다운에서 제외합니다.
장애가 발생하면 이용할 수 없었던 시간을 반영해 진행 중인 카운트다운을 뒤로 미룹니다.
시그널을 유지할 방법이 없었던 시간을 사용자에게 부담시키지 않습니다. 카운트다운이 거의 끝나가던 경우에는 장애 시간만큼만 형식적으로 늘리는 데 그치지 않고 충분한 안전 여유를 둡니다.
시그널 유지 기능이 정상인지 확인할 수 없으면 전달을 보류합니다.
WillSignal은 시그널을 유지하는 경로가 정상 작동하는지 정기적으로 확인합니다.
이 확인이 더 이상 성공하지 않으면 시그널 유지 경로가 정상으로 돌아올 때까지 전달을 멈추도록 설정해 두었습니다.
서비스 장애 때문에 활동 중인 사용자가 확인하지 않은 것처럼 보였다는 이유로 메시지를 전달하는 대신, 모든 메시지를 보류합니다.
종료 절차 중인 계정에서는 메시지가 전달되지 않습니다.
계정 삭제를 요청하면 30일의 복구 기간 내내 시그널이 멈춥니다.
이 기간 안에 계정을 복구해도 시그널은 자동으로 이어서 작동하지 않습니다. 카운트다운 중간이나 전달 직전 상태로 돌아가는 일도 없습니다.
다시 시작하려면 사용자가 직접 시그널을 켜야 합니다.
어떤 안전장치도 모든 실수를 완전히 막을 수는 없습니다. 마지막 보호 장치는 앞선 장치들이 실패했을 때를 위한 것입니다.
전달된 메시지는 언제든 회수할 수 있습니다.
메시지를 회수하면 수신자의 수신함에서 사라집니다.
시간제한은 없으며 현재 시그널이 어떤 상태인지와 관계없이 회수할 수 있습니다.
다만 수신자가 이미 읽은 내용까지 되돌릴 수는 없습니다.
상대방의 기억이나 따로 저장한 사본, 화면 캡처에서 내용을 지울 수도 없습니다.
이 한계 때문에 전달 후에 바로잡는 것보다 너무 이른 전달 자체를 막는 일이 더 중요합니다.
준비가 되었을 때 시그널을 재시작합니다.
실수로 메시지가 전달된 뒤 시그널을 재시작하면 재시작 잠금이 적용됩니다. 처음에는 1개월이며, 반복되면 3개월, 다시 반복되면 6개월로 늘어납니다.
잠금 기간은 재시작한 때가 아니라 시그널이 꺼진 때부터 계산합니다.
사용자를 처벌하기 위한 기능은 아닙니다.
시그널이 반복해서 꺼졌다가 다시 시작되면 사용자에게도, 메시지를 기다리는 사람에게도 의미가 흐려집니다. 재시작 잠금은 같은 일이 가볍게 반복되지 않도록 하기 위한 장치입니다.
한 가지 예외가 있습니다.
시그널이 꺼졌을 때 준비됨 상태인 어떤 메시지에도 계정과 연결된 수신자가 없었다면 실제로 전달될 수 있는 메시지가 없었던 것이므로 재시작 잠금이 적용되지 않습니다.
수신자가 지정된 초안이 있더라도 결과는 같습니다. 초안은 애초에 전달 대상이 아니기 때문입니다.
재시작 잠금 중에도 메시지는 계속 작성하고 수정하거나 회수할 수 있습니다. 잠기는 것은 시그널뿐입니다.
두 가지 기능은 처음에는 안심이 될 수 있지만, 하나는 안전장치가 되지 못하고 다른 하나는 오히려 조기 전달 위험을 높일 수 있습니다. 그래서 만들지 않았습니다.
카운트다운이 0이 되었을 때 다시 확인하지 않습니다.
카운트다운이 끝나면 시그널이 꺼지고 그 순간 전달도 함께 이루어집니다.
마지막 확인 창을 표시하려면 사용자가 그때 화면을 보고 응답할 수 있어야 합니다. 하지만 사용자가 응답할 수 없을 때를 위해 만들어진 시스템에서는 그 조건을 기대할 수 없습니다.
아무도 답하지 못할 수 있는 확인 창은 안전장치가 되지 못합니다.
확인 누락만으로 사망을 판단하지 않습니다.
WillSignal은 시그널이 꺼졌다는 사실이 사망이나 의사표현 불가능 상태를 증명한다고 말하지 않습니다.
확인할 수 있는 것은 사용자가 정해진 시간 안에 시그널을 유지하지 않았다는 사실뿐입니다. 왜 유지하지 않았는지는 알 수 없습니다.
그 이유를 추측하면 어느 방향으로든 잘못 판단할 수 있습니다. 그중 더 위험한 실수는 사용자가 살아 있는 동안 메시지를 전달하는 것입니다.