diff --git a/branding/config/vendor.conf b/branding/config/vendor.conf
index 3657c2bcf761ac079897e1bea92bba496dc9a986..b519cf8cf7d04d729b8402572cef46aa431e283c 100644
--- a/branding/config/vendor.conf
+++ b/branding/config/vendor.conf
@@ -71,6 +71,7 @@ name                = demolib
 applicationName     = DemoLib
 binaryName          = demo-lib
 auth                = sip
+authEmptyPass       = true
 
 providerURL         = vpnlib.bitmask.net
 apiURL              = https://api.vpnlib.bitmask.net:4430/
diff --git a/branding/scripts/provider.py b/branding/scripts/provider.py
index a88179b7c49bab9b389c414d7ea113ce81eac659..ffee1b314a8612dda2047d8c82f5e6191553ddd1 100644
--- a/branding/scripts/provider.py
+++ b/branding/scripts/provider.py
@@ -18,7 +18,7 @@ def getProviderData(provider, config):
     c = config[provider]
     d = dict()
 
-    keys = ('name', 'applicationName', 'binaryName', 'auth',
+    keys = ('name', 'applicationName', 'binaryName', 'auth', 'authEmptyPass',
             'providerURL', 'tosURL', 'helpURL',
             'askForDonations', 'donateURL', 'apiURL',
             'geolocationAPI', 'caCertString')
diff --git a/gui/providers/providers.json b/gui/providers/providers.json
index f0132f51fcd0812d5abb920e9f74af9279bb8ef3..e0c52b87485a6befdd5a46ef259e192b6c3ea06d 100644
--- a/gui/providers/providers.json
+++ b/gui/providers/providers.json
@@ -6,6 +6,7 @@
             "applicationName": "DemoLib",
             "binaryName": "demo-lib",
             "auth": "sip",
+            "authEmptyPass": "true",
             "providerURL": "vpnlib.bitmask.net",
             "tosURL": "https://libraryvpn.org/",
             "helpURL": "https://libraryvpn.org/",
@@ -14,7 +15,7 @@
             "apiURL": "https://api.vpnlib.bitmask.net:4430/",
             "geolocationAPI": "https://getmyip.vpnlib.bitmask.net/json",
             "caCertString": "-----BEGIN CERTIFICATE-----\nMIIBQzCB6aADAgECAgEBMAoGCCqGSM49BAMCMBcxFTATBgNVBAMTDExFQVAgUm9v\ndCBDQTAeFw0yMDA4MDYxOTA3NDRaFw0yNTA4MDYxOTEyNDRaMBcxFTATBgNVBAMT\nDExFQVAgUm9vdCBDQTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIG5POr4cAdK\nkTavKpSJr8nW1V7HLpr27qKaShpk1TUy5ipaAlusmavGLxKsPE+i3AMlvf/f6ch3\n1MjAtIf5rYujJjAkMA4GA1UdDwEB/wQEAwICpDASBgNVHRMBAf8ECDAGAQH/AgEB\nMAoGCCqGSM49BAMCA0kAMEYCIQDXj280LNZbSbi0Y2WvtQrJBUw4wdm8qAeOeuH7\n6XiLEwIhAPBRsmst/ujcChsG2t6LpG+p8s4rfIfh8YLo/4qrcc5p\n-----END CERTIFICATE-----",
-            "timeStamp": "2020-09-08 01:01:08"
+            "timeStamp": "2020-09-08 03:42:39"
         }
     ]
 }
\ No newline at end of file
diff --git a/pkg/bitmask/init.go b/pkg/bitmask/init.go
index 4907b2fb1a685c09a596f6c8f7ae5dc1e6268e83..bed98e5c53795789206ff85c79871e17d028c3da 100644
--- a/pkg/bitmask/init.go
+++ b/pkg/bitmask/init.go
@@ -40,6 +40,7 @@ type ProviderOpts struct {
 	AppName         string `json:"applicationName"`
 	BinaryName      string `json:"binaryName"`
 	Auth            string `json:"auth"`
+	AuthEmptyPass   string `json:"authEmptyPass"`
 	ProviderURL     string `json:"providerURL"`
 	DonateURL       string `json:"donateURL"`
 	ApiURL          string `json:"apiURL"`
@@ -62,6 +63,7 @@ func ConfigureProvider(opts *ProviderOpts) {
 	config.ApplicationName = opts.AppName
 	config.BinaryName = opts.BinaryName
 	config.Auth = opts.Auth
+
 	config.DonateURL = opts.DonateURL
 	config.HelpURL = opts.HelpURL
 	config.TosURL = opts.TosURL
@@ -73,6 +75,12 @@ func ConfigureProvider(opts *ProviderOpts) {
 	if err == nil {
 		config.AskForDonations = wantsDonations
 	}
+
+	emptyPass, err := strconv.ParseBool(opts.AuthEmptyPass)
+	if err == nil {
+		config.AuthEmptyPass = emptyPass
+		log.Println("DEBUG: provider allows empty pass", emptyPass)
+	}
 }
 
 func InitializeLogger() {
diff --git a/pkg/config/config.go b/pkg/config/config.go
index 7815c96366641303fbf8bbec47e6645dde94a606..c4961ab9dcd0b62ad802d56b05d7a6dc2411679e 100644
--- a/pkg/config/config.go
+++ b/pkg/config/config.go
@@ -6,6 +6,7 @@ var (
 	ApplicationName = ""
 	BinaryName      = ""
 	Auth            = ""
+	AuthEmptyPass   = false
 	DonateURL       = ""
 	AskForDonations = true
 	HelpURL         = ""