# `PdfElixide.SanitizeReport`
[🔗](https://github.com/r8/pdf_elixide/blob/v0.23.0/lib/pdf_elixide/sanitize_report.ex#L1)

What a sanitization removed, returned by `PdfElixide.Editor.sanitize/1,2`.

`:roots_removed` counts the catalog entries that were stripped — the XMP
metadata stream, document JavaScript and the embedded-file name tree — not
annotations, and not individual values within them. Treat it as evidence that
the pass did work rather than as an inventory.

**Clearing `/Info` is not among them.** A document whose only secret is its
`/Info` dictionary sanitizes to `:roots_removed` of zero while `/Info` is
scrubbed, so a zero here is not evidence that nothing happened.
`:bytes_removed` does account for it, and
`PdfElixide.Editor.metadata/1` is the direct check.

Sanitizing removes no page content. Use `PdfElixide.Editor.apply_redactions/1,2`
for that.

# `t`

```elixir
@type t() :: %PdfElixide.SanitizeReport{
  bytes_removed: non_neg_integer(),
  roots_removed: non_neg_integer()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
