Skip to main content

🛡️ FSF Tools

File Sanitization Framework — the Swiss Army knife for file metadata

PyPI Python 3.10+ License: GPL-3.0

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 fsf-tools
# 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 GNU General Public License v3.0 (GPL-3.0).

Metadata

Release files for fsf-tools 2.0.1

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.1
File Size Uploaded
fsf_tools-2.0.1.tar.gz 653.8 kB Details

Built distribution (wheel)

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

Total release size: 703.5 kB

Release files / fsf_tools-2.0.1.tar.gz

Download URL fsf_tools-2.0.1.tar.gz
Size 653.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f4deddf739c551792cfa91639e7f21bc97ddd9494f9d6350c172fbc9b01584d0
BLAKE2b-256 checksum
How to use checksums
38932c5af56e29708d7ab6b22bbc64bbde397bcf6a449c69d36ce2b8d341f524
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.1-py3-none-any.whl

Download URL fsf_tools-2.0.1-py3-none-any.whl
Size 49.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88d124ee1a3b55b70f932656e0285e65d90591f14f65715adf34e62f2d861495
BLAKE2b-256 checksum
How to use checksums
8232bb008c8c5c666d9c15cfbb571e674b852a0fe4fc9f4a57382f6928d354c1
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

This release

2.0.1 This release

2 release files

2.0.0

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