Skip to main content

🛡️ FSF Tools

File Sanitization Framework — the Swiss Army knife for file metadata

Python 3.10+ Version License: MIT

View, clean, spoof, forge, and audit metadata across images, audio, PDF, and Office files

Русское руководство / Russian Guide


FSF Tools Preview


✨ What Makes FSF Tools Different?

Feature FSF Tools 🛡️ ExifTool 📸 MAT2 🧹
Core Philosophy Generate plausible metadata Read/write tags Strip everything
User Knowledge Automated (presets, profiles) Requires expert knowledge None (just cleans)
Physical Correlation Yes (Exposure Triangle sync) No N/A
Identity Forging Yes (Consistent personas) No No
Forensic Audit Built-in inconsistency checks No No

🚀 Quick Start

Install

pip install git+https://github.com/Svargentyur/fsf-tools.git
# or clone for development
git clone https://github.com/Svargentyur/fsf-tools.git
cd fsf-tools
pip install -e .

📋 Commands

🔍 View metadata

Extract and view metadata in human-readable or JSON format.

fsf view photo.jpg
fsf view --json photo.jpg

🧹 Clean (strip all metadata)

Remove all identifying metadata from a file to protect your privacy.

fsf clean photo.jpg
fsf clean photo.jpg -o clean.jpg

🎭 Spoof (set specific values)

Inject realistic metadata based on presets and specific inputs.

fsf spoof photo.jpg --preset iphone_15_pro --city tokyo
fsf spoof document.pdf --author "Jane Doe" --title "Quarterly Report"

🎲 Randomize (generate plausible fakes)

Automatically generate highly realistic, statistically plausible metadata.

fsf randomize photo.jpg
fsf randomize photo.jpg --scene night_street --preset sony_a7iv --sync-time

🧬 Forge (consistent identity across files)

Apply a unified, generated persona (camera, location, author) across multiple files.

fsf forge *.jpg --locale jp --camera fuji_xt5 --city kyoto

🕵️ Audit (check for forensic inconsistencies)

Verify that your spoofed files don't contain tell-tale signs of tampering.

fsf audit photo.jpg

🛠️ Other Commands

  • fsf clone — Clone metadata from one file to another.
  • fsf compare — Compare metadata of two files side by side.
  • fsf batch — Batch process all supported files in a directory.
  • fsf report — Analyze a file for privacy risks in metadata.
  • fsf export — Export file metadata to a JSON file.
  • fsf presets — List available presets for spoofing.

🎯 Realism Features

  • 📸 Exposure Triangle: ISO, shutter speed, and aperture are physically correlated
  • 🌇 Scene Profiles: 6 profiles (daylight, golden hour, indoor, night, portrait, landscape)
  • 📷 18 Camera Presets: With real firmware strings, lens models, and resolutions
  • 🌍 20 Cities: With 80+ tourist hotspot GPS coordinates
  • 👤 Identity Forge: Generate consistent personas with names in 6 locales
  • 🔍 Forensic Audit: Check your fakes for consistency before deployment
  • ⏱️ Timestamp Sync: Match file system timestamps to EXIF dates

📁 Supported Formats

Format View Clean Spoof Clone
JPEG / PNG / TIFF / WebP ✅ ✅ ✅ ✅
MP3 / FLAC / OGG / M4A ✅ ✅ ✅ ✅
PDF ✅ ✅ ✅ ✅
DOCX / XLSX / PPTX ✅ ✅ ✅ ✅

🔧 Development

git clone https://github.com/fsf-tools/fsf-tools.git
cd fsf-tools
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest

📝 License

Released under the MIT License.

Metadata

Release files for fsf-tools 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fsf-tools 2.0.0
File Size Uploaded
fsf_tools-2.0.0.tar.gz 642.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fsf-tools 2.0.0
File Interpreter ABI Platform
fsf_tools-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 681.8 kB

Release files / fsf_tools-2.0.0.tar.gz

Download URL fsf_tools-2.0.0.tar.gz
Size 642.7 kB
Tags Source
SHA-256 checksum
How to use checksums
7f3721b2d52061500c110e6b44cbbbc1ee4b96e26e4cda7e4ff080a44faffaa6
BLAKE2b-256 checksum
How to use checksums
a8710951d363f42b4ee06729476894d5d9095931e4664183970cb18ae0625047
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / fsf_tools-2.0.0-py3-none-any.whl

Download URL fsf_tools-2.0.0-py3-none-any.whl
Size 39.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd44d3db1f9317fcfcb1a87dec8a560c02764dd7d0441714d3b49565f00c8bd7
BLAKE2b-256 checksum
How to use checksums
e0028eaf044309f51c2214cb5f101ca3183d511450f3265d67f6a7fbebc16fc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

3.0.0

2 release files

2.1.0

2 release files

2.0.1

2 release files

This release

2.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page