The shortener will eventually start generating bad words in various languages (for example http://w.wiki/FU).
Filtering out bad words has a lot of issues:
* Generating all bad words for every language
* Existing bad words in the system can't be deleted without blacklisting the URL they point to
* Updating the list with yet-to-be invented bad words
* Deciding for the user which worse are offensive, or if they will be inappropriate in a given context (e.g. the filter list might need to be stricter for use in schools)
One way to work around this would be to provide users with an alternative mapping if they click a button saying "this URL contains an offensive word".
We could introduce a new character not already in the map, e.g. underscore `_`. Any URL beginning with this would use the existing mapping but in reverse order or shuffled, so `w.wiki/rudeword` becomes `w.wiki/_Q6efgome`. This second URL would silently redirect through the rudeword without ever showing it to the user.
The chance of both URLs being offensive words would be infinitesimally small.