# This is the global list of words to be blocked. unblocked_terms.txt has
# terms that are too commonly used still and are in the process of being
# cleaned from the codebase. Copy unblocked_terms.txt to your project and
# start commenting out terms to enable the repo hook to block the words.

# Black Hat
black.?hat
# Black List
black.?list
# Build Cop
build.?cop
# Crazy
crazy
# Cripple
cripple
# Dummy
dummy
# Frist Class Citizen
first.?class.?citizen
# Grandfathered
grandfathered
# Gray Hat
gr[ae]y.?hat
# Gray List
gr[ae]y.?list
# He
\bhe\b
# She
\bshe\b
# Him
\bhim\b
# Her
\bher\b
# His
\bhis\b
# Hers
\bhers\b
# Man in the middle
man.?in.?the.?middle
# Master
master
# MITM
\bmitm(\b|\d)
# Native
\bnative
# Red Line
\bred.?line
# RTFM
rtfm
# Sane, Insane
\b(in)?sane(\b|\d)
# Sanity
sanity
# Slave
slave
# White Glove
white.?glove
# White Hat
white.?hat
# White Label
white.?label
# White List
white.?list
# WTF
\bwtf
