MCPcopy Index your code
hub / github.com/GurpreetKang/BitwardenDecrypt

github.com/GurpreetKang/BitwardenDecrypt @v1.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.6 ↗ · + Follow
10 symbols 48 edges 1 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

BitwardenDecrypt

Decrypts an encrypted Bitwarden data.json file (from the Desktop App).
You can safely store data.json as an encrypted, offline backup of your vault knowing you will always be able to decrypt it.

To determine the location of the data.json file see:
https://bitwarden.com/help/data-storage/#on-your-local-machine

*Note: BitwardenDecrypt does not work with Bitwarden Encrypted JSON Exports.

These exports lack the Protected Symmetric Key needed to decrypt entries.*

Password Protected Encrypted JSON Exports are supported.

Outputs JSON containing: - Logins - Folders - Organizations - Collections - Cards - Secure Notes - Identities - Sends (Optional)

Note: Outputs (almost) all key/value pairs, including ones you probably don't care about.

Usage:

./BitwardenDecrypt.py [options]  (reads data.json from current directory)
or
./BitwardenDecrypt.py [options] inputfile

Password: (Enter Password)

Options:
        --includesends          Include Sends in the output.
        --output OUTPUTFILE     Write decrypted output to file.
                                Will overwrite contents if file exists.

On Windows:

py BitwardenDecrypt.py [options]
or
py BitwardenDecrypt.py [options] inputfile

Password: (Enter Password)

Options:
        --includesends          Include Sends in the output.
        --output OUTPUTFILE     Write decrypted output to file.
                                Will overwrite contents if file exists.

Note: This script depends on the 'cryptography' package
pip install cryptography

Donate

Find this useful? If so, consider showing your appreciation. :slightly_smiling_face:
https://paypal.me/GurpreetKang

Limitations

  • Attachments are not supported (they are not stored locally in data.json)
  • Does not work with Bitwarden Encrypted JSON Exports.

These exports lack the Protected Symmetric Key needed to decrypt entries.

(Password Protected Encrypted JSON Exports are now supported) - ~~No validation of the CipherString. I.e. No verification of the MAC before decrypting.~~ Now verifies the MAC. - Can only decrypt EncryptionType: 2 (AesCbc256_HmacSha256_B64). At the time of writing this is the default used for all entries in the personal vault. - ~~Does not decrypt anything from a Collection (Organization).~~

Initial support for decrypting items from a Collection (Organization). This adds support for decrypting EncryptionType: 4 (Rsa2048_OaepSha1_B64)

To Do

[ ] Nothing. Hopefully Bitwarden will implement an encrypted export and this script can become obsolete.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details

Acknowledgments

This project is not associated with Bitwarden or Bitwarden, Inc.

Core symbols most depended-on inside this repo

decryptCipherString
called by 4
BitwardenDecrypt.py
decryptProtectedSymmetricKey
called by 3
BitwardenDecrypt.py
decryptRSA
called by 3
BitwardenDecrypt.py
decryptSend
called by 2
BitwardenDecrypt.py
getBitwardenSecrets
called by 1
BitwardenDecrypt.py
decryptRSAPrivateKey
called by 1
BitwardenDecrypt.py
isUUID
called by 1
BitwardenDecrypt.py
checkFileFormatVersion
called by 1
BitwardenDecrypt.py

Shape

Function 10

Languages

Python100%

Modules by API surface

BitwardenDecrypt.py10 symbols

For agents

$ claude mcp add BitwardenDecrypt \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page