A method comprising: receiving, using one or more computing devices, a message; generating, using the one or more computing devices, a globally unique key; generating, using the one or more computing devices, a hashed index based at least in part on the globally unique key; storing, using the one or more computing devices, the message in a non-transitory, non-persistent memory of the one or more computing devices using the hashed index; setting, using the one or more computing devices, a timer used to determine whether a lifespan associated with the message has been exceeded and is to be expunged from the one or more computing devices; generating, using the one or more computing devices, a message identifier, the message identifier based at least in part on the globally unique key; sending, using the one or more computing devices, the message identifier to a recipient device; expunging, using the one or more computing devices, the globally unique key, the hashed index and the message identifier from the one or more computing devices responsive to sending the message identifier to the recipient device; receiving, using the one or more computing devices, a selection of the message identifier from the recipient device and the globally unique key; receiving, using the one or more computing devices, a response to a challenge; verifying, using the one or more computing devices, that a user of the recipient device is human based on the response to the challenge; retrieving, using the one or more computing devices, the message from the non-transitory, non-persistent memory, wherein the message is retrieved from the non-transitory, non-persistent memory based on the user being verified as human; sending the message to the recipient device for presentation; and expunging, using the one or more computing devices, the message from the one or more devices subsequent to sending the message to the recipient device for presentation. receiving, using one or more computing devices, a message; generating, using the one or more computing devices, a globally unique key; generating, using the one or more computing devices, a hashed index based at least in part on the globally unique key; storing, using the one or more computing devices, the message in a non-transitory, non-persistent memory of the one or more computing devices using the hashed index; setting, using the one or more computing devices, a timer used to determine whether a lifespan associated with the message has been exceeded and is to be expunged from the one or more computing devices; generating, using the one or more computing devices, a message identifier, the message identifier based at least in part on the globally unique key; sending, using the one or more computing devices, the message identifier to a recipient device; expunging, using the one or more computing devices, the globally unique key, the hashed index and the message identifier from the one or more computing devices responsive to sending the message identifier to the recipient device; receiving, using the one or more computing devices, a selection of the message identifier from the recipient device and the globally unique key; receiving, using the one or more computing devices, a response to a challenge; verifying, using the one or more computing devices, that a user of the recipient device is human based on the response to the challenge; retrieving, using the one or more computing devices, the message from the non-transitory, non-persistent memory, wherein the message is retrieved from the non-transitory, non-persistent memory based on the user being verified as human; sending the message to the recipient device for presentation; and expunging, using the one or more computing devices, the message from the one or more devices subsequent to sending the message to the recipient device for presentation.