diff --git a/config/config.sample.yaml b/config/config.sample.yaml
index f5ae4d3c2b73a82febca444bd727fae13fb8972b..9d83ddd4a084a0798becb6cfc41e0ee4d2ad8051 100644
--- a/config/config.sample.yaml
+++ b/config/config.sample.yaml
@@ -12,3 +12,5 @@ logging:
   level: "warn" #silly, verbose, info, http, warn, error
 database:
   filename: "discord.db"
+room:
+  defaultVisibility: "public"
diff --git a/config/config.schema.yaml b/config/config.schema.yaml
index 4b4e1d90f93b5f81b84ebfacb5ad851d1af54f1d..8862531c66e8ba441b907e2b94acf79757856984 100644
--- a/config/config.schema.yaml
+++ b/config/config.schema.yaml
@@ -38,3 +38,9 @@ properties:
         properties:
           filename:
             type: "string"
+    room:
+        type: "object"
+        required: ["defaultVisibility"]
+        properties:
+          defaultVisibility:
+            type: "string"
diff --git a/src/config.ts b/src/config.ts
index e0ec7a2abeda2ab59c16fa83f8f49b69474b99c9..2b118924725f3e774fd7c1d56cfd9302900038e8 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -5,6 +5,7 @@ export class DiscordBridgeConfig {
   public auth: DiscordBridgeConfigAuth;
   public logging: DiscordBridgeConfigLogging;
   public database: DiscordBridgeConfigDatabase;
+  public room: DiscordBridgeConfigRoom;
 }
 
 class DiscordBridgeConfigBridge {
@@ -27,3 +28,7 @@ export class DiscordBridgeConfigAuth {
 class DiscordBridgeConfigLogging {
   public level: string;
 }
+
+class DiscordBridgeConfigRoom {
+  public defaultVisibility: string;
+}
diff --git a/src/matrixroomhandler.ts b/src/matrixroomhandler.ts
index 9c2ee740e040fb3b9f4e89de9996024aaa0544a2..d45a964e0c79f517eb6902f1e7baf0b34e3c0c86 100644
--- a/src/matrixroomhandler.ts
+++ b/src/matrixroomhandler.ts
@@ -175,7 +175,7 @@ export class MatrixRoomHandler {
     remote.set("update_name", true);
     remote.set("update_topic", true);
     const creationOpts = {
-      visibility: "public",
+      visibility: this.config.room.defaultVisibility,
       room_alias_name: alias,
       name: `[Discord] ${channel.guild.name} #${channel.name}`,
       topic: channel.topic ? channel.topic : "",