>[!NOTE]- This is related only to file downloads >File _uploads_ do not use IndexedDB because JavaScript allows for files to be sliced into smaller components directly from disk. Because it has much higher storage quotas than local storage, [[IndexedDB]] is used as a buffer to contain file _downloads_. The following roughly outlines the process that is carried out through JavaScript API calls. 1. A unique IndexedDB database is created for each download. - The name of the DB is the MD5 of the web path to the file (conceals file name). - DB value is a JSON object that stores the offset and obfuscated chunk. 2. Each chunk of the target file is downloaded and stored in the database in its obfuscated form. 3. Once all chunks of the file have been obtained, each chunk can be deobfuscated and reassembled to produce the final file.