# whiff v0.1.0 - Table of Contents > Elixir wrapper around the Rust whiff crate: sniff any file into a whiff/1 report, with first-class Elixir extractors and analyzers. ## Pages - [whiff](readme.md) - [Changelog](changelog.md) - Guides - [0001 — Baseline and compatibility (Stage 0)](0001-baseline.md) - [Hex publish checklist (whiff)](hex-publish-checklist.md) ## Modules - [Whiff](Whiff.md): Elixir wrapper around the Rust [whiff](https://github.com/baoulo/whiff) crate. - [Whiff.Analyzer](Whiff.Analyzer.md): Behaviour for post-extraction Elixir analyzers. - [Whiff.Extractor](Whiff.Extractor.md): Behaviour for Elixir-written extractors ("Whiffers"). - [Whiff.Input](Whiff.Input.md): Canonical description of one extraction input for Elixir plugins. - [Whiff.Merge](Whiff.Merge.md): Deterministic merge of Elixir plugin patches into a native `whiff/1` report. - [Whiff.Privacy](Whiff.Privacy.md): Elixir-side privacy policy for **plugin patches**. - [Whiff.Report](Whiff.Report.md): Helpers for decoding and inspecting `whiff/1` reports (string-keyed maps). - Exceptions - [Whiff.Error](Whiff.Error.md): Error and exception type for all public `Whiff` APIs.