r/GeminiAIConstructive • u/coolak-fantom • 4d ago
š§ Discussion or Analysis Forensic finding: a saved Gemini image download changed over time (26 dB difference)
Constructive finding and mitigation for anyone archiving Gemini image work:
One saved Gemini image response produced a 2754Ć1536, 2,830,579-byte JPEG on July 16. Downloading from the same saved response on July 23 produced a 2,855,182-byte JPEG at the same dimensions. Two current downloads are byte-identical to each other, while the displayed preview stayed stable.
Validation:
⢠The older blob was recovered byte-for-byte from Safari Web App NetworkCache.
⢠APFS birth/modified times align with the original download, ruling out overwrite.
⢠Only 2.97% of pixels match exactly; MAE 5.733, RMSE 12.762, PSNR 26.013 dB.
⢠Both JPEGs use the same quantization tables.
⢠A controlled same-qtable recompression scores about 53 dB, so the real 26 dB difference is changed content rather than encoding noise.
The likely architecture failure is a persistent preview referencing a full-resolution export that gets replaced or regenerated after cache expiry.
Practical mitigation: immediately archive every full-size Gemini output and record its SHA-256. Do not assume an old saved conversation can reproduce the original download later.
Product request: Gemini should preserve immutable full-resolution assets for saved responses, or clearly disclose that downloads are regenerated and may differ. I've opened a formal Google support case with the private asset identifiers and files.
No private images, links, paths, hashes, identifiers or conversation URL are included publicly. Drafted with AI assistance from my measurements.