Locke Box

Web Test Jig

Simple PUT/GET client for opaque blobs. Your payload stays opaque to the server.

Server

Connection

Derived readId
waiting for writeId

Write (PUT /{id})

 
Write response

Read (GET /{id})

 
 
Read response

Wire log

Notes

  • writeId must be non-empty and ≤ 64 chars.
  • readId is sha256(writeId) hex (64 chars).
  • Server stores bytes as-is and echoes the same bytes on GET.

Identity

writeId
readId
encKey

Account actions

 
Session

Wire log

Notes

  • writeId = username + "::deterministic1" (client-side).
  • encKey = sha256(username + password + "::deterministic2").
  • Payload is encrypted in-browser and stored as opaque JSON.

Shortcut expand

readId
waiting for code

Expanded payload

 
Write response
Read response

Wire log

Notes

  • The short code is the writeId; readId is derived via sha256.
  • Anyone who knows the short code can request the expanded blob.
  • Expanded payload is deterministic from the short code + size.

Namespace builder

writeId
readId
waiting for namespace

Namespace write/read

 
Write response
Read response

Wire log

Notes

  • writeId = namespace + "::" + key (client-side).
  • Keep namespace + key within the 64-char limit.
  • Namespaces are a client convention; the server stays neutral.