diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java
index f99df7f..2ce98eb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/BlockedKeywordValidator.java
@@ -211,7 +211,7 @@
     for (String path : content.keySet()) {
       ObjectLoader ol = revWalk.getObjectReader().open(content.get(path));
       try (InputStream in = ol.openStream()) {
-        if (RawText.isBinary(in) || contentTypeUtil.isBlacklistedBinaryContentType(ol, path, cfg)) {
+        if (RawText.isBinary(in) || contentTypeUtil.isForbiddenBinaryContentType(ol, path, cfg)) {
           continue;
         }
       }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java
index b6de577..b8b2544 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/ContentTypeUtil.java
@@ -73,7 +73,7 @@
     this.patternCache = patternCache;
   }
 
-  public boolean isBlacklistedBinaryContentType(ObjectLoader ol, String pathname, PluginConfig cfg)
+  public boolean isForbiddenBinaryContentType(ObjectLoader ol, String pathname, PluginConfig cfg)
       throws IOException, ExecutionException {
     try (InputStream is = ol.openStream()) {
       String[] types = getBinaryTypes(cfg);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java
index 8b708ef..aa72ee0 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/uploadvalidator/InvalidLineEndingValidator.java
@@ -134,7 +134,7 @@
     for (String path : content.keySet()) {
       ObjectLoader ol = revWalk.getObjectReader().open(content.get(path));
       try (InputStream in = ol.openStream()) {
-        if (RawText.isBinary(in) || contentTypeUtil.isBlacklistedBinaryContentType(ol, path, cfg)) {
+        if (RawText.isBinary(in) || contentTypeUtil.isForbiddenBinaryContentType(ol, path, cfg)) {
           continue;
         }
       }
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index 86f2015..878b272 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -182,16 +182,15 @@
 plugin.@PLUGIN@.blockedContentTypeWhitelist
 :    Blocked content type whitelist.
 
-    If this option is checked, the entered content types are interpreted as
-    a whitelist. Otherwise the entered content types are interpreted as a
-    blacklist and commits that contains one of these content types will be
-    rejected.
+    If this option is checked, the entered content types are allowed.
+    Otherwise the entered content types are forbidden and commits that
+    contains one of these content types will be rejected.
 
     There must be specified at least one blocked content type pattern,
     otherwise this option will be ignored.
 
     The default value is false. This means the entered content types are
-    interpreted as a blacklist.
+    forbidden.
 
 plugin.@PLUGIN@.rejectDuplicatePathnames
 :    Reject duplicate pathnames.
