Redact on ban: Client implementation (#4867)
* First pass implementation
* fix naming/docs
* apply lint
* Add test for existing behaviour
* Add happy path tests
* Fix bug identified by tests
* ... and this is why we add negative tests too
* Add some sanity tests
* Apply linter