DataBorder · patent pending

The data is
in the pixels.

A ring of blocks around the edge of the frame carries live values, strings, and trends in the video stream. Wherever the video goes, the data goes with it.

Decoder · this frameRing decoded
Ring · 3 blocks thick484 B / updateSigned by the camera
Fiducial corners · 3 × 3Block 4 × 4 pxDecode sweep

01 The ring

One ring.
Everything rides in it.

The camera draws a thin band of gray blocks around the picture and writes the data into it. It is part of the image, so it is encoded, recorded, exported and played like the rest of the frame. The ring is the vessel: everything on this page rides in it.

CarrierA thin band of gray blocks around the edge of the frame. One bit per block, light or dark. Part of the picture, so it goes wherever the picture goes.
EncodingRobust by design. Error corrected against damage in transit, and every frame decodes on its own. No neighboring frames, no sidecar file, no metadata track.
CarouselSmart cargo. The values that change ride first, in every update. The rest of the ring is a carousel that spreads names, context and history across the frames that follow.
TrustEvery update chained to the last, and the chain signed by the camera with a key that never leaves it.

02 Survival

Re-encode it. Clip it.
Screen-record it.

The data is in the pixels, so it rides with every copy and clip of the video. Second-generation copies, downscaled and re-encoded: the DataBorder is tuned and tested to be robust through all of them.

The frame at 1080p, ring intact
1080p · camera stream100% recovered
The frame at 720p, ring intact
720p · re-encoded archive100% recovered
The frame at 480p, ring intact
480p · screen recording100% recovered
0%
recovered at 720p, 540p and 480p copies
0kb/s
verified floor at 1080p
0
damaged bytes fixed per codeword
0
frame is enough to decode

03 Values first, then a carousel

Live data every frame.
Everything else at its own pace.

The values that changed ride in every update. The space left over is a carousel with layers, each turning at its own tempo: names and context come round every few seconds, recent history over a minute, the camera's stored history over longer. Clip a few seconds and the values arrive with their context. Clip a few minutes and the history comes with them.

Two seconds of ring payload in the decoder, byte offset down, time across, colored by layer: header, values, names, identity, history, signatures, strings, bulk history
Decoder · signal viewByte offset down · time across · color = layer

Alongside the values: the names of every record, the camera's identity and its state labels, recent history, the strings that were live, the signatures, and the camera's stored history for clips long enough to carry it. Which layer carries what is in the DataBorder docs.

04 Trust

Chained.
Signed by the camera.

Every update is linked to the one before it, and the camera signs the chain with a key that never leaves the device. Cut a clip, splice two together or change a value, and the chain breaks at exactly that update. The decoder shows where.

Signed, chained, decoded, tampered, gap. The decoder marks every span of a clip, so you know what came from the camera untouched and what did not.

ED25519 · 64 UPDATES ED25519 · 64 UPDATES seq120012011202120312041205120612071208120912101211 cut 12131214121512161217SIGNEDCHAINEDGAPCHAINED link(seq) = SHA-256(link(seq − 1) ‖ payload)[0..8]
Chain · every update linked to the lastSignature · the camera's own key, in the ring

05 Adaptive format

Set the thickness.
The ring fills itself.

The ring thickness is a camera setting: a thicker band carries more per update, a thinner one takes less of the picture. Whatever the size, the DataBorder sizes its own carousel to fit: live values first, then as much context and history as the ring has room for.

ThicknessConfigurable from one to six blocks thick, to balance data load against screen space.
CapacityUp to a kilobyte per frame, with the carousel sized to whatever the ring can carry.
DurabilityTuned to survive re-encoding, resizing and bitrates down to 750 kb/s at 1080p.