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.1.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.1.0
File Size Uploaded
fsf_tools-2.1.0.tar.gz 660.6 kB Details

Built distribution (wheel)

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

Total release size: 718.4 kB

Release files / fsf_tools-2.1.0.tar.gz

Download URL fsf_tools-2.1.0.tar.gz
Size 660.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3e3d07f3541730740b8b37e5368779e632ea3e654c85e2c673d923027c2eb220
BLAKE2b-256 checksum
How to use checksums
f79309f2e919b50bfcd09687f4f28e78abf061c20ba9e1a6379b8f2027d73575
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.1.0-py3-none-any.whl

Download URL fsf_tools-2.1.0-py3-none-any.whl
Size 57.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23c21fe17367021100fce0fa1b19c11a34e2eee3c40ccd2f89d1c8e904710413
BLAKE2b-256 checksum
How to use checksums
35323e1f06d44ed0bcf22290896c1abf19befd9f9bd8782cc0f302bf8028d0c3
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

This release

2.1.0 This release

2 release files

2.0.1

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