✅ Step 1: Project Folder Setup (5 mins)
📂 Folder Structure
bash
CopyEdit
mkdir -p privacy_scanner/{scans, reports, logs}
cd privacy_scanner
touch scanner.sh
scans/
➔ Sample data or target folders
reports/
➔ Generated HTML reports
logs/
➔ Logs for audit trail
scanner.sh
➔ Our main bash script
✅ Step 2: Build Core Scanning Logic (30 mins)
📜 scanner.sh
- Start writing
bash
CopyEdit
#!/bin/bash
# Business Data Privacy Risk Scanner
TARGET_DIR="./scans"
REPORT="./reports/privacy_risk_report_$(date +%F).html"
LOG="./logs/scan_log_$(date +%F).log"
echo "Starting Data Privacy Scan on $(date)" | tee -a $LOG
mkdir -p ./reports ./logs
echo "<h2>Privacy Risk Scan Report - $(date)</h2>" > $REPORT
echo "<ul>" >> $REPORT
✅ Step 3: Email Extraction
bash
CopyEdit
echo "Scanning for Emails..." | tee -a $LOG
grep -roEh '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}' $TARGET_DIR | sort | uniq >> $LOG
email_count=$(grep -c '@' $LOG)
echo "<li><strong>Emails Found:</strong> $email_count</li>" >> $REPORT
✅ Step 4: Phone Number Extraction
bash
CopyEdit
echo "Scanning for Phone Numbers..." | tee -a $LOG
grep -roEh '\\b[0-9]{10,15}\\b' $TARGET_DIR >> $LOG
phone_count=$(grep -oE '\\b[0-9]{10,15}\\b' $LOG | wc -l)
echo "<li><strong>Phone Numbers Found:</strong> $phone_count</li>" >> $REPORT
✅ Step 5: Credit Card Number Detection
bash
CopyEdit
echo "Scanning for Credit Card Patterns..." | tee -a $LOG
grep -roEh '\\b[0-9]{13,16}\\b' $TARGET_DIR >> $LOG
cc_count=$(grep -oE '\\b[0-9]{13,16}\\b' $LOG | wc -l)
echo "<li><strong>Possible Credit Card Numbers:</strong> $cc_count</li>" >> $REPORT