README.md

# FastSanitize

A high performance HTML sanitization library built on [FastHTML][fh], our
rewrite of Myhtmlex.  It was created to improve HTML sanitization performance
in [Pleroma][pl], a high-performance, versatile federated social networking
platform.

   [fh]: https://git.pleroma.social/pleroma/myhtmlex
   [pl]: https://pleroma.social

## Features

* Meta-programming: build your own scrubbing policies with macros, mostly
  compatible with HtmlSanitizeEx.
* Performance: on average, 2-3 times faster than HtmlSanitizeEx with typical
  documents with considerably less memory usage.
* Uses the MyHTML parsing engine which parses HTML in the same way browsers
  do.
* Uses an efficient AST for scrubbing HTML nodes and Erlang iolists for
  efficient HTML generation.

## Installation

The package can be installed by adding `fast_sanitize` to your list of
dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:fast_sanitize, "~> 0.1.0"}
  ]
end
```

Docs can be found at [https://hexdocs.pm/fast_sanitize](https://hexdocs.pm/fast_sanitize).