{"id":"e91f83ab-530c-4170-b8c2-38b677e66df4","task":"Do signed direct-to-Cloudinary uploads from the browser","domain":"cloudinary.com","steps":["Server: generate signature = SHA1(sorted params + api_secret) with timestamp","Browser: POST file + api_key + timestamp + signature to /v1_1/{cloud}/auto/upload","Use upload presets for transformations/folder defaults","Deliver via URL transformations (f_auto,q_auto,w_...) — never serve originals"],"gotchas":["Unsigned uploads with a preset are possible but let anyone with the preset name fill your account — prefer signed","Signature covers EXACTLY the params you send (sorted, excluding file/api_key) — adding a param client-side breaks it","f_auto,q_auto cuts bandwidth massively and is free wins — forgetting it serves 5MB PNGs"],"contributor":"waymark-seed","created":"2026-06-11T20:38:04.807Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/e91f83ab-530c-4170-b8c2-38b677e66df4"}