**Should we check that no current short links use these keywords?**
I think yes we should

**Should we deploy these as a quick hotfix?**
You mean, like releasing, this now?
I've just counted them, none of the shortened link use those keyword:
```
> db.link.count({"short_path": "share"})
784
> db.link.count({"short_path": "recruiter"})
0
> db.link.count({"short_path": "search"})
0
```

**Should we ask Thomas about any others we should be blocking?**
We might indeed ask him about new keyword he can think of that we could use. But this might evolve with time.
IMO, we shouldn't block keyword that we don't need now (YAGNI?)

**Should we start using a regex instead which would probably quickly become faster?**
What do you have in mind?
something like this?:
```
import re
...

class ForbiddenKeyword(Exception):
    ban_words = ('admin', 'refer', ...)
    ban_regex = '(^' + '$|^'.join(ban_words) + '$)'.encode('string-escape')

    @classmethod
    def is_banned(cls, keyword):
        return keyword is not None and re.match(s, keyword.lower())

    ...
```