After reading about the “suicide” of yet another whistleblower, it got me thinking.

When working at large enough company, it’s entirely possible that at some point you will get across some information the company does not want to be made public, but your ethics mandate you blow the whistle. So, I was wondering if I were in that position how I would approach creating a dead man’s switch in order to protect myself.

From wikipedia:

A dead man’s switch is a switch that is designed to be activated or deactivated if the human operator becomes incapacitated, such as through death, loss of consciousness, or being bodily removed from control. Originally applied to switches on a vehicle or machine, it has since come to be used to describe other intangible uses, as in computer software.

In this context, a dead man’s switch would trigger the release of information. Some additional requirements could include:

  1. No single point of failure. (aka a usb can be stolen, your family can be killed, etc)
  2. Make the existence of the switch public. (aka make sure people know of your mutually assured destruction)
  3. Secrets should be safe until you die, disappear, or otherwise choose to make them public.

Anyway, how would you go about it?

  • tetris11@lemmy.ml
    link
    fedilink
    arrow-up
    143
    arrow-down
    2
    ·
    edit-2
    1 day ago

    The most non-intrusive foolproof method I can think of is spite-induced action:

    1. Get a pacemaker with Zigbee mesh network connectivity
    2. Implant a small device into your wrist that vibrates if your pacemaker is ever disconnected from the network (in which case, run NOW to your nearest safehouse)
    3. Should the vibration continue for longer than 5 minutes, a vial of cyanide from a hollow tooth explodes into your mouth allowing you to spit it at your nearest enemy (should one be around)
    4. The bursting of the hollow tooth sends a signal to a remote server, which triggers the eject command on a server, causing the CD tray to come out.
    5. A confused sysadmin will bitterly get off his chair, and go inspect the server, whereupon he will see the paper instructions embedded in the CD tray, and read them.
    6. Assuming his latvian is good, and that he’s familiar with caesar cyphers, he will decode the message that will lead him to a youtube URL where he will post the following comment “Jose I slept with your mother.”
    7. One of the subscribers to the youtube channel is your friend Jose, who will read the comment, spit out his coffee, and then immediately call you.
    8. After about a week of no response, he uploads the contents of that USB stick you gave him with the instructions to “never upload this ever under any circumstance” out of sheer spite.

    Edit: Here, I made a diagram of the whole thing

    State Diagram

    (with mermaid source)
    stateDiagram-v2
        direction TB
        
        state Internet {
            state "Wider Zigbee Network" as WiderZigbeeNetwork
            --
            state "Youtube" as youtube{
                state "MuckBang
                <small>Wasabi Challenge</small>" as video1
                state "A Cat's Guide to Vomit
                <small>By Remington Steel</small>" as video2
            }        
            state "Remote Server" as server {
                state "Server
                <small>CD-Tray</small>" as cdtray
                state "SysAdmin
                <small>Some Latvian Dude</small>" as terry
            }
            --
            state "brazzers.org" as brazzers
        }
    
        state People {
            state "Jose" as jose {
               state "Youtube Subscriptions" as subs
                state "Phone" as josephone
                state "Coffee" as cuppajoe
                state "USB Stick" as usb2
            }
            state "You" as you {
                state "Pacemaker" as pmaker
                state "Wrist Implant" as wrimplant
                state "Hollow Tooth" as htooth
                state "USB Stick" as usb1
                state "Phone" as youphone
            }
            state "Enemy" as enemy {
                state "Random Person" as rando
            }
        }
    
        [*] --> pmaker : Insert next to heart
        pmaker --> WiderZigbeeNetwork : Maintain connection
        WiderZigbeeNetwork --> wrimplant : Vibrate for 5 mins if connection lost
        wrimplant --> htooth: Explode after 5 mins vibrating
    
        htooth --> cdtray: Send "eject"
        htooth --> enemy: Spit cyanide
        cdtray --> terry : Decode the paper in the CD tray
        terry --> video1 : Comment about Jose's mother
    
        video1 --> subs : subscribed to
        video2 --> subs : subscribed to
    
        subs --> cuppajoe : Spit out when reading insulting comment
        cuppajoe --> usb2
        cuppajoe --> josephone
    
        usb1 --> usb2 : Years ago - Give USB stick with instructions to never upload
        josephone --> youphone : Call to complain but get no response
        usb2 --> brazzers : Upload USB contents out of spite