Cybersecurity-Projects/PROJECTS/beginner/metadata-scrubber-tool
dependabot[bot] 28553a9703
chore(deps): bump pypdf in /PROJECTS/beginner/metadata-scrubber-tool
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.12.0 to 6.13.3.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.12.0...6.13.3)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.13.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-18 15:28:54 +00:00
..
assets chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
learn add and create all learn/ folders for beginner projects 2026-01-31 15:13:31 -05:00
scripts issue 77 pt2 ruff 2026-02-18 19:47:47 -05:00
src issue 77 pt2 ruff 2026-02-18 19:47:47 -05:00
tests issue 77 pt2 ruff 2026-02-18 19:47:47 -05:00
typings/piexif Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
.gitignore Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
.style.yapf Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
DEMO.md chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
LICENSE - Standardize READMEs and add justfiles across all 14 projects 2026-02-11 07:01:25 -05:00
README.md chore: add demos for projects, update haskell-reverse-proxy modules, refresh siem assets 2026-04-26 23:12:48 -04:00
justfile - Standardize READMEs and add justfiles across all 14 projects 2026-02-11 07:01:25 -05:00
pyproject.toml add and create all learn/ folders for beginner projects 2026-01-31 15:13:31 -05:00
pyrightconfig.json Phase 1.1: Organize PROJECTS by difficulty level 2026-01-29 02:41:15 -05:00
uv.lock chore(deps): bump pypdf in /PROJECTS/beginner/metadata-scrubber-tool 2026-06-18 15:28:54 +00:00

README.md

███╗   ███╗███████╗████████╗
████╗ ████║██╔════╝╚══██╔══╝
██╔████╔██║███████╗   ██║
██║╚██╔╝██║╚════██║   ██║
██║ ╚═╝ ██║███████║   ██║
╚═╝     ╚═╝╚══════╝   ╚═╝

Cybersecurity Projects Python License: AGPLv3 PyPI

Privacy-focused CLI that strips sensitive metadata from images, PDFs, and Office documents.

This is a quick overview — security theory, architecture, and full walkthroughs are in the learn modules.

Screenshots & demo →

Developed by @Heritage-XioN

What It Does

  • Strip metadata from JPEG, PNG, PDF, Word, Excel, and PowerPoint files
  • Concurrent processing with ThreadPoolExecutor handles 1000+ files efficiently
  • Dry-run mode previews what would be removed before making changes
  • Verification reports show before/after comparison of metadata fields
  • Smart format detection uses file signatures, not extensions
  • Removes GPS coordinates, author info, timestamps, camera data, and software traces

Quick Start

uv tool install metadata-scrubber
mst scrub photo.jpg

[!TIP] This project uses just as a command runner. Type just to see all available commands.

Install: curl -sSf https://just.systems/install.sh | bash -s -- --to ~/.local/bin

Commands

Command Description
mst read <file> Inspect metadata fields present in a file
mst scrub <file> Remove all metadata from a file
mst verify <file> Confirm metadata was successfully removed

Learn

This project includes step-by-step learning materials covering security theory, architecture, and implementation.

Module Topic
00 - Overview Prerequisites and quick start
01 - Concepts Security theory and real-world breaches
02 - Architecture System design and data flow
03 - Implementation Code walkthrough
04 - Challenges Extension ideas and exercises

License

AGPL 3.0