diff --git a/banned/manager.go b/banned/manager.go
index eb578b410c12f8468050e394a843e174eb4eadd2..0f088f658d7b26f04ed837fb7882e284c595108a 100644
--- a/banned/manager.go
+++ b/banned/manager.go
@@ -10,7 +10,7 @@ package banned
 import (
 	"github.com/pkg/errors"
 	jww "github.com/spf13/jwalterweatherman"
-	"gitlab.com/elixxir/user-discovery-bot/io"
+	"gitlab.com/elixxir/user-discovery-bot/validation"
 	"regexp"
 	"strings"
 	"testing"
@@ -42,7 +42,7 @@ func NewManager(bannedUserFile, bannedRegexFile string) (*Manager, error) {
 			if bannedUser == "" { // Skip any empty lines
 				continue
 			}
-			bannedUsers[io.Canonicalize(bannedUser)] = struct{}{}
+			bannedUsers[validation.Canonicalize(bannedUser)] = struct{}{}
 		}
 	}
 
diff --git a/banned/manager_test.go b/banned/manager_test.go
index 063a6bdb37241b1504566e7eb3c7a34dedb2ad55..128284e98ee49181b9272d220524317571e05770 100644
--- a/banned/manager_test.go
+++ b/banned/manager_test.go
@@ -8,6 +8,7 @@
 package banned
 
 import (
+	"gitlab.com/elixxir/user-discovery-bot/validation"
 	"reflect"
 	"regexp"
 	"testing"
@@ -16,8 +17,8 @@ import (
 func TestNewManager(t *testing.T) {
 	expectedManager := &Manager{
 		bannedUserList: map[string]struct{}{
-			"Privategrity":      {},
-			"Privategrity_Corp": {},
+			"privategrity":      {},
+			"privategrity_corp": {},
 		},
 		bannedRegexList: []*regexp.Regexp{
 			regexp.MustCompile("xx"),
@@ -90,7 +91,7 @@ func TestManager_IsBanned_BadUsername(t *testing.T) {
 	}
 
 	for _, badUsername := range badUsernames {
-		if !m.IsBanned(badUsername) {
+		if !m.IsBanned(validation.Canonicalize(badUsername)) {
 			t.Errorf("Username %q was not recognized as banned when it should be", badUsername)
 		}
 
diff --git a/io/userRegistration.go b/io/userRegistration.go
index fb3325937c6bd7fb5069ba2fd1e74e11a55f8e15..38fe6c330e6b54d1bbd418fbac3c50fb47b29e51 100644
--- a/io/userRegistration.go
+++ b/io/userRegistration.go
@@ -16,6 +16,7 @@ import (
 	"gitlab.com/elixxir/primitives/fact"
 	"gitlab.com/elixxir/user-discovery-bot/banned"
 	"gitlab.com/elixxir/user-discovery-bot/storage"
+	"gitlab.com/elixxir/user-discovery-bot/validation"
 	"gitlab.com/xx_network/comms/messages"
 	"gitlab.com/xx_network/crypto/signature/rsa"
 	"gitlab.com/xx_network/primitives/id"
@@ -41,10 +42,10 @@ func registerUser(msg *pb.UDBUserRegistration, permPublicKey *rsa.PublicKey,
 			"Please try again")
 	}
 
-	canonicalUsername := Canonicalize(username)
+	canonicalUsername := validation.Canonicalize(username)
 
 	// Check if username is valid
-	if err := isValidUsername(canonicalUsername); err != nil {
+	if err := validation.IsValidUsername(canonicalUsername); err != nil {
 		return nil, errors.Errorf("Username %q is invalid: %v", username, err)
 	}
 
diff --git a/io/userRegistration_test.go b/io/userRegistration_test.go
index 2eb21092591b1ab37727b17c64c5618cb847e07b..0b11e5514bb5b7d2b47f4d70cca3afe05d2aeaf7 100644
--- a/io/userRegistration_test.go
+++ b/io/userRegistration_test.go
@@ -17,6 +17,7 @@ import (
 	"gitlab.com/elixxir/primitives/fact"
 	"gitlab.com/elixxir/user-discovery-bot/banned"
 	"gitlab.com/elixxir/user-discovery-bot/storage"
+	"gitlab.com/elixxir/user-discovery-bot/validation"
 	"gitlab.com/xx_network/crypto/signature/rsa"
 	"gitlab.com/xx_network/crypto/tls"
 	"gitlab.com/xx_network/primitives/id"
@@ -192,7 +193,7 @@ func TestRegisterUser_Banned(t *testing.T) {
 		t.FailNow()
 	}
 
-	bannedManager, err := banned.NewManager(Canonicalize(registerMsg.IdentityRegistration.Username), "")
+	bannedManager, err := banned.NewManager(validation.Canonicalize(registerMsg.IdentityRegistration.Username), "")
 	if err != nil {
 		t.Fatalf("Failed to construct ban manager: %v", err)
 	}
diff --git a/io/validation.go b/validation/validation.go
similarity index 93%
rename from io/validation.go
rename to validation/validation.go
index d0cf7287576bb268de4a4dff61f75c34a7a5e231..f1652dd6c81df73c6270ddb7cbb248e74c4d9349 100644
--- a/io/validation.go
+++ b/validation/validation.go
@@ -4,7 +4,7 @@
 // All rights reserved.                                                        /
 ////////////////////////////////////////////////////////////////////////////////
 
-package io
+package validation
 
 import (
 	"github.com/pkg/errors"
@@ -27,10 +27,10 @@ const (
 // Furthermore, the regex enforces usernames to begin and end with an alphanumeric character.
 var usernameRegex = regexp.MustCompile("^[a-zA-Z0-9][a-zA-Z0-9_\\-+@.#]*[a-zA-Z0-9]$")
 
-// isValidUsername determines whether the username is of an acceptable length and
+// IsValidUsername determines whether the username is of an acceptable length and
 // whether it contains allowed character. The allowed characters are defined
 // by usernameRegex.
-func isValidUsername(username string) error {
+func IsValidUsername(username string) error {
 	// Check for acceptable length
 	if len(username) < minimumUsernameLength || len(username) > maximumUsernameLength {
 		return errors.Errorf("username length %d is not between %d and %d",
diff --git a/io/validation_test.go b/validation/validation_test.go
similarity index 90%
rename from io/validation_test.go
rename to validation/validation_test.go
index 5da45d9daa7418bcbc76d59eb83180b617c7eb80..37e17095d1e029225f94d1737ab99585ee85a482 100644
--- a/io/validation_test.go
+++ b/validation/validation_test.go
@@ -4,7 +4,7 @@
 // All rights reserved.                                                        /
 ////////////////////////////////////////////////////////////////////////////////
 
-package io
+package validation
 
 import "testing"
 
@@ -23,9 +23,9 @@ func TestIsValidUsername_GoodUsernames(t *testing.T) {
 
 	// Test whether every good username is valid
 	for _, goodUsername := range goodUsernames {
-		err := isValidUsername(goodUsername)
+		err := IsValidUsername(goodUsername)
 		if err != nil { // If invalid, fail test
-			t.Errorf("isValidUsername failed with username %q: %v", goodUsername, err)
+			t.Errorf("IsValidUsername failed with username %q: %v", goodUsername, err)
 		}
 	}
 
@@ -51,9 +51,9 @@ func TestIsValidUsername_BadUsernames(t *testing.T) {
 
 	// Test if every bad username is invalid
 	for _, badUsername := range badUsernames {
-		err := isValidUsername(badUsername)
+		err := IsValidUsername(badUsername)
 		if err == nil { // If considered valid, fail test
-			t.Errorf("isValidUsername did not fail with username %q", badUsername)
+			t.Errorf("IsValidUsername did not fail with username %q", badUsername)
 		}
 	}