🔐

0pw.me: sign up to store

Example

You can see this service in action at 1pw.me, which is open source.

Overview

This service stores up to 64KiB of arbitrary data per tweetnacl signature key.

There is no versioning. Last write wins.

Data is always transmitted signed. Anybody with the private key can read and write the data, anybody with the public key can read the data, and anybody with direct access to our infrastructure can read everything. Encrypt end-to-end if you want to keep your data secret.

Both storage and retrieval involve POSTing CBOR messages.

Storing

POST / [keyPair.publicKey, nacl.sign(CBOR.encode([new Date() / 1000, message]), keyPair.secretKey)]

Use the null message to delete.

Status 200, 4xx, or 5xx.

Retrieving

POST / [keyPair.publicKey]

Status 200, 404, or 5xx. The body is nacl.sign(CBOR.encode([new Date() / 1000, message]), keyPair.secretKey), ready to be opened with nacl.sign.open(body, keyPair.publicKey), compared to null, decoded with CBOR.decode(result), then destructured as [timestamp, message].

Infrastructure

This Go service stores in minio. It is provided by the xmit dev team.