NNormal (file or document share)
Pixels are not touched. The encrypted envelope is appended into the file structure of the image. PNG covers: payload appended to the last IDAT chunk before IEND, marked with 0xDEADBEEF. JPEG covers: payload written into a 0xFFFE COM (comment) segment immediately after SOI, marked with 'MRGD'. The image renders identically and the COM segment is inert (cameras and editors write COM segments routinely, so its presence does not flag the image). Capacity is tens of kilobytes, practical limit set by the COM segment for JPEG and IDAT for PNG. Use this when the platform preserves the file bytes: WhatsApp and Telegram "send as document", X.com PNG posts within the size limit, email, Drive, AirDrop, USB.
+ Zero visual change. Tens of kilobytes of capacity.- Does not survive any platform that re-encodes the image (default photo send on WhatsApp / Telegram / Instagram, image-resize CDNs).
RRobust (photo share through chat platforms)
Block-luminance modulation of the JPEG cover with Hamming(7,4) error-correcting code and threefold redundancy. The output is always JPEG even if the cover was a PNG. Verified to survive JPEG re-encoding down to quality 70: WhatsApp default photo send, Telegram default photo send, Instagram DM. Capacity is 500 to 2000 characters depending on the cover dimensions. The cost is a very faint pattern that is only visible on close inspection.
+ Survives social-media recompression at JPEG quality 70.- Lower capacity. A faint pattern is visible if the photo is examined closely.