Edit small. Render big. Prove it.
A photo above the client limit is never held in the browser. The browser decodes it once, keeps a deterministic working copy, and every edit previews on that. The edit log — a few hundred bytes describing every change — goes to the server. There,@sealpixel/render runs the same WebAssembly core on the full resolution, up to 48 megapixels here, and the hash of the result is shown beside it. Then the endpoint signs the file: a C2PA manifest with every redaction as an action and its region, the crop, and the original as the parent, written from the same edit log. The key is the endpoint's own, a test certificate here. Sealpixel never holds one.
This page is a demo with its own endpoint. It loads one sample photo, and the endpoint has the same file. The page sends the edit log and the name of the photo, not the photo. The request, the routing and the limits are this demo's code, not part of Sealpixel. In your own application you pass the original's bytes to the renderer yourself. SeeEdit in the browser, render on your server and the render guide.