White Noise authenticates who sent a file to a group chat and confirms that it arrived intact. Your phone still has to open that file, which means handing sender-shaped bytes to a native decoder built for speed, and a trusted friend can forward a GIF crafted somewhere else. The sound response is to treat every attachment as untrusted input and give the code that reads it as little authority as possible, so a decoder bug lands in a process holding little worth taking.
A messenger stores conversation history and the group keys on the same phone that opens these files. A decoder running inside the app process inherits access to all of it, while a separate, permissionless process gives a malformed file far less to work with.
White Noise already decoded still images in such a sandbox. The 2026.10.27 release extends that boundary to GIF and WebP animation through a new worker of its own, running without app permissions, account access or runtime keys. It reads only the selected file, decodes frames and returns bounded copies of raw pixels, which the app checks before drawing. The containment notes describe how the two workers fit together.
The release also asks capable hardware for help. On phones whose chip and operating system support Arm's Memory Tagging Extension, White Noise requests checks on native heap memory, asynchronous in release builds and synchronous in debug builds. These checks can catch native code reading or writing outside a heap allocation's bounds, or using memory after it has been freed. The memory tagging policy describes the setting and its hardware requirements.
Two smaller changes keep resource use bounded. The cache budget now rejects oversized cached attachments before decryption or any private copy, and cropped decoding passes through a bounded intermediate image.
A crafted GIF or WebP that exploits a decoder flaw lands in a worker holding just the selected file and a bounded output channel. Your conversation history and group keys stay in the main app, behind an additional security boundary the attacker must also cross.
