🔐
You can see this service in action at 1pw.me, which is open source.
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 POST
ing CBOR messages.
POST / [keyPair.publicKey, nacl.sign(CBOR.encode([new Date() / 1000, message]), keyPair.secretKey)]
Use the null
message to delete.
Status 200, 4xx, or 5xx.
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]
.
This Go service stores in minio. It is provided by the xmit dev team.