Skip to content

dextrorsal/bitwarden-tool

Repository files navigation

πŸ” Bitwarden Duplicate Checker

Python License Security Privacy

A comprehensive Python tool to detect duplicate passwords, URLs, and usernames in Bitwarden export files with multiple scanning passes for thoroughness and safety.

GitHub stars


πŸ“‹ Table of Contents


πŸš€ Quick Start

  1. Download and run:

    git clone https://github.com/yourusername/bitwarden-duplicate-checker.git
    cd bitwarden-duplicate-checker
    python bitwarden_duplicate_checker_gui.py
  2. Select your Bitwarden export file (JSON or CSV)

  3. Click "Start Analysis" and review results


🎯 Features

Duplicate Detection

  • Password Duplicates: Find identical passwords across different sites
  • Username Duplicates: Detect reused usernames across accounts
  • URL Duplicates: Detect multiple accounts on the same URL
  • Domain Duplicates: Identify multiple services on the same domain
  • Comprehensive Duplicates: Same username + password + URL combinations

Advanced Analysis

  • Machine Learning Analysis: Optional ML-based password similarity detection
  • Multiple Input Formats: Support for both JSON and CSV Bitwarden exports
  • Multiple Scan Passes: Configurable scanning passes (1-10) for thoroughness
  • Clean Export: Generate duplicate-free exports in Bitwarden format

User Interface

  • Simple GUI: User-friendly interface with progress tracking
  • Command Line Support: Full CLI for automation and scripting
  • Detailed Reporting: Comprehensive text reports with masked passwords
  • CSV Export: Structured data export for further analysis

πŸ“¦ Installation

Requirements

  • Python 3.7 or higher
  • Optional: scikit-learn for ML analysis (pip install scikit-learn)

Download

git clone https://github.com/yourusername/bitwarden-duplicate-checker.git
cd bitwarden-duplicate-checker

πŸ’» Usage

GUI Application (Recommended)

python bitwarden_duplicate_checker_gui.py

Command Line

# Basic usage
python bitwarden_duplicate_checker.py your_export.json

# With clean export
python bitwarden_duplicate_checker.py your_export.json --clean-export --clean-format json

# Multiple scan passes
python bitwarden_duplicate_checker.py your_export.json --passes 5

Programmatic Usage

from bitwarden_duplicate_checker import BitwardenDuplicateChecker

checker = BitwardenDuplicateChecker("export.json", scan_passes=3)
results = checker.run_analysis(
    output_format='txt',
    export_csv=True,
    create_clean_export=True,
    clean_export_format='json'
)

πŸ“– Examples

What It Detects

Password Duplicates:

Password: MyPass***123
β”œβ”€β”€ Gmail ([email protected]) - gmail.com
β”œβ”€β”€ Facebook ([email protected]) - facebook.com  
└── Twitter ([email protected]) - twitter.com

URL Duplicates:

URL: gmail.com
β”œβ”€β”€ Gmail Personal ([email protected]) - Password: Per***123
β”œβ”€β”€ Gmail Work ([email protected]) - Password: Wor***456
└── Gmail Backup ([email protected]) - Password: Bac***789

Comprehensive Duplicates:

Comprehensive: [email protected] + MyPass***123 + gmail.com
β”œβ”€β”€ Gmail Account 1
└── Gmail Account 2 (duplicate)

Command Line Options

usage: bitwarden_duplicate_checker.py [-h] [--passes PASSES] [--no-csv]
                                      [--clean-export]
                                      [--clean-format {json,csv}]
                                      [--output {txt,json}] [--verbose]
                                      json_file

positional arguments:
  json_file             Path to Bitwarden JSON or CSV export file

options:
  -h, --help            show this help message and exit
  --passes PASSES       Number of scanning passes (default: 3)
  --no-csv              Skip CSV export
  --clean-export        Create clean export with duplicates removed
  --clean-format {json,csv}
                        Format for clean export (default: json)
  --output {txt,json}   Output format for report (default: txt)
  --verbose, -v         Enable verbose logging

Output Files

After running analysis, you'll get:

  • duplicate_analysis_report_YYYYMMDD_HHMMSS.txt - Detailed analysis report
  • bitwarden_duplicates_YYYYMMDD_HHMMSS.csv - CSV export of duplicates
  • bitwarden_clean_export_YYYYMMDD_HHMMSS.json - Clean export (if enabled)

πŸ›‘οΈ Security

Data Security

  • Local Processing Only: All analysis happens on your device
  • No Network Access: Tool doesn't connect to the internet
  • Password Masking: Passwords are masked in all reports
  • Secure Hashing: Passwords are hashed for comparison, not stored

Privacy Protection

  • No Data Collection: Tool doesn't collect or store any data
  • No Telemetry: No usage statistics or analytics
  • Open Source: Full source code available for audit
  • No Dependencies: Minimal external dependencies

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


⭐ Star this repository if you find it useful! ⭐

Made with ❀️ for the security-conscious community

GitHub stars

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages