All projects

Experiments

Open Anonymized Message Library

An experimental C# library exploring private peer-to-peer communication through in-person key exchange, interchangeable cryptography and encrypted messages prepared before transmission.

BEHIND THE PROJECT

The story & the work.

OAML began with a concern about malicious governments and the ability of people to communicate against corruption. I wanted to explore private communication with less dependence on a central messaging provider, and fewer opportunities for that provider to become a backchannel into the conversation.

Starting with trust

I worked from the physical problem back to the technical one. Before thinking about a network protocol, I considered how people could establish trust and exchange keys in person, including handwritten information or a USB handoff. The question was how to build communication around a relationship the participants had already established.

That led to a design where participants exchanged public keys directly and agreed on their encryption and signing methods beforehand. A central messaging service was another party they would have to trust. I wanted users to control those relationships and cryptographic choices themselves.

Preparing the message before the connection

I built OAML as an experimental C# library for direct messaging between configured peers. Encryption and cryptographic signatures were separate, interchangeable components, so the application could use methods and keys the participants had chosen in advance.

The message was encrypted for the recipient and signed by the sender before the outgoing TCP connection opened. The receiving peer could then decrypt the message and validate its signature. The design focused on protecting the content in transit and giving the recipient a way to verify its source.

Each exchange used a temporary TCP connection that closed after the transfer. I initially hoped that keeping those connections brief would leave little trace of the conversation.

What the experiment taught me

I later recognized that IP addresses could still identify participants. Closing a connection did not make the communication anonymous. Protecting what a message says and concealing who is communicating are separate problems.

The intended value was to give people more control over private communication when organizing against corruption. OAML remained an experiment, and the work taught me to examine the whole system around encryption: how trust is established, where keys come from, and what information remains visible even when the message content is protected.

HAVE A CHALLENGE IN MIND?

Let's make your work easier.

Tell me about your workflow and what you'd like to build.

Let's connect