Nomad
September 1, 2024, 2:56am
1
I was always puzzled that attachments in my Bitwarden vault couldn’t be exported, but it looks like this limitation will soon be addressed in an upcoming release.
bitwarden:main
← bitwarden:auth/beeep/zip-export
opened 10:57AM - 09 Aug 24 UTC
## 🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-10749
https://com… munity.bitwarden.com/t/allow-attachments-to-be-exported-when-using-export-data/835/1
## 📔 Objective
This PR adds a new export format - zip - which includes all attachments from the personal vault.
The layout is as follows:
- data.json
- attachments/{cipherid}/attachment1.pdf
- attachments/{cipherid}/attachment2.jpg
- attachments/{cipherid2}/attachmentabc.txt
The zip file is assembled on the client side in order to have a decrypted, fully usable export without external tools converting (decrypting) them.
#### Of note:
- Org exports are not supported yet because they could be too large
- We currently create the zip file in memory. This is fine for personal vaults, but we need a different library for streaming this data to disk (e.g. https://gildas-lormeau.github.io/zip.js/)
- The zip library we use does not support encryption (also https://gildas-lormeau.github.io/zip.js/ would help here)
- No importing is added. Since the data.json is included, that can be imported for now, but we could add full zip + attachment import in a second step
- Cli is not supported
## 📸 Screenshots
[Screencast from 2024-08-09 13-14-06.webm](https://github.com/user-attachments/assets/1f63e2ae-5a5f-4f2e-a3e3-5af7cec657dd)
## ⏰ Reminders before review
- Contributor guidelines followed
- All formatters and local linters executed and passed
- Written new unit and / or integration tests where applicable
- Protected functional changes with optionality (feature flags)
- Used internationalization (i18n) for all UI strings
- CI builds passed
- Communicated to DevOps any deployment requirements
- Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team
## 🦮 Reviewer guidelines
- 👍 (`:+1:`) or similar for great changes
- 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info
- ❓ (`:question:`) for questions
- 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
- 🎨 (`:art:`) for suggestions / improvements
- ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or concerns needing attention
- 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or indications of technical debt
- ⛏ (`:pick:`) for minor or nitpick changes
3 Likes