You open it
Name the session after the claim or the job. That name is the storage key the evidence log is written under, so a second inspector opening the same session sees the same log.
Send a link. The other person opens it on the phone in their hand — no app, no account — points the camera at the damage, and you talk them round it. You tap to capture; the photo is taken at the sensor's own resolution, hashed on their device, and lands in a log that can be added to and never quietly edited. Then you export the report.
Nothing for them to install Video never touches a server Append-only evidence log
Name the session after the claim or the job. That name is the storage key the evidence log is written under, so a second inspector opening the same session sees the same log.
A browser, a camera permission, and nothing else. The picture comes straight from their phone to yours — the channel only carries who is here.
Pick a template — motor claim, property condition, equipment handover — and each prompt appears on their screen in type you can read outdoors. Ask for anything else by typing it.
The still is grabbed on their device at the camera's full resolution, not pulled out of the compressed video. It arrives in chunks, gets re-hashed on your side, and is rejected outright if the two hashes disagree.
Every capture carries the facts that make it worth something later, and nothing that would make it a liability.
Notes are stored beside the photo, never drawn into it. An annotation that alters the pixels alters the evidence, and then the hash no longer describes what the camera saw. So your notes travel with the entry and the image is left exactly as it was taken.
Each entry's chain hash is taken over the entry before it. That is the whole trick, and it is the reason a Fieldstamp log can be added to but not rewritten.
chain₀ = SHA-256( "fieldstamp:<session>" | imageHash₀ | canonicalStamp₀ ) chain₁ = SHA-256( chain₀ | imageHash₁ | canonicalStamp₁ ) chain₂ = SHA-256( chain₁ | imageHash₂ | canonicalStamp₂ )
Remove the second photo, reorder two of them, or change a single character of a stamp, and every hash from that point on stops matching. Verify the chain in the console re-derives the whole thing and names the first entry that does not hold. The stamp is serialised with its keys sorted, so the same entry hashes to the same value in any browser, on any machine, next year.
Underneath, the log is written with the platform's storageAdd,
which appends a version rather than replacing the last — so the history is kept by the storage layer
as well as by the hashes.
One self-contained HTML file: every photo at full resolution, its stamp, its two hashes, and the instructions for re-deriving the chain from the top. Open it and print to PDF and it is the same document.
The full-resolution photos are in that file and in your browser. They are not in our storage and never were — what went to storage is the stamp, the hashes and a thumbnail.
fieldstamp-<session>.html
What Fieldstamp does not do, and you should know before you sell it. Both people have to be online at the same time — there is no record-now-send-later mode yet, and that is the single biggest reason a claimant drops out. The chain proves the log has not been altered since it was made; it says nothing about whether the person pointed the camera at the right car. And a rural mobile connection will give you a poor live picture even though the captured stills come off the sensor at full resolution — the preview is not the evidence.
Open the console on a laptop, then open the capture page on your phone and join the same session. That is the whole product in two tabs.
Open the consoleCommercial — metered per completed inspection
Commercial, metered per completed inspection rather than per seat — an adjuster who does two inspections this month should not pay like one who does two hundred.
The split is the point of the price: the live video is peer-to-peer and never recorded, full-resolution photos stay in the inspector's browser and in the exported report, and only the stamp, the hashes and a thumbnail are stored. Footage of a stranger's home never becomes anybody's liability.
Talk to us before your first real claim — the first inspection is on us.
Every entry's chain hash covers the one before it, so the log appends and never quietly rewrites.
async function chainNext(prev, imageHash, stamp) {
return sha256Text(prev + '|' + imageHash + '|' + canonical(stamp));
}
Taken from this app's source, not written for the page. Built on the Messaging Platform SDK.