diff --git a/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts
new file mode 100644
index 00000000..60d118fa
--- /dev/null
+++ b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts
@@ -0,0 +1,39 @@
+import { zeppelinPlugin } from "../ZeppelinPluginBlueprint";
+import { BasePluginType, eventListener, PluginData } from "knub";
+import * as t from "io-ts";
+import { AllowedGuilds } from "../../data/AllowedGuilds";
+import { Guild } from "eris";
+
+interface GuildAccessMonitorPluginType extends BasePluginType {
+  config: {};
+  state: {
+    allowedGuilds: AllowedGuilds;
+  };
+}
+
+async function checkGuild(pluginData: PluginData<GuildAccessMonitorPluginType>, guild: Guild) {
+  if (!(await pluginData.state.allowedGuilds.isAllowed(guild.id))) {
+    console.log(`Non-allowed server ${guild.name} (${guild.id}), would leave`);
+  }
+}
+
+/**
+ * Global plugin to monitor if Zeppelin is invited to a non-whitelisted server, and leave it
+ */
+export const GuildAccessMonitorPlugin = zeppelinPlugin<GuildAccessMonitorPluginType>()("guild_access_monitor", {
+  configSchema: t.type({}),
+
+  events: [
+    eventListener<GuildAccessMonitorPluginType>()("guildAvailable", ({ pluginData, args: { guild } }) => {
+      checkGuild(pluginData, guild);
+    }),
+  ],
+
+  onLoad(pluginData) {
+    pluginData.state.allowedGuilds = new AllowedGuilds();
+
+    for (const guild of pluginData.client.guilds.values()) {
+      checkGuild(pluginData, guild);
+    }
+  },
+});
diff --git a/backend/src/plugins/availablePlugins.ts b/backend/src/plugins/availablePlugins.ts
index 158b3d7b..f7c31251 100644
--- a/backend/src/plugins/availablePlugins.ts
+++ b/backend/src/plugins/availablePlugins.ts
@@ -30,6 +30,7 @@ import { AutomodPlugin } from "./Automod/AutomodPlugin";
 import { CompanionChannelsPlugin } from "./CompanionChannels/CompanionChannelsPlugin";
 import { CustomEventsPlugin } from "./CustomEvents/CustomEventsPlugin";
 import { BotControlPlugin } from "./BotControl/BotControlPlugin";
+import { GuildAccessMonitorPlugin } from "./GuildAccessMonitor/GuildAccessMonitorPlugin";
 
 // prettier-ignore
 export const guildPlugins: Array<ZeppelinPluginBlueprint<any>> = [
@@ -68,6 +69,7 @@ export const guildPlugins: Array<ZeppelinPluginBlueprint<any>> = [
 export const globalPlugins = [
   GuildConfigReloaderPlugin,
   BotControlPlugin,
+  GuildAccessMonitorPlugin,
 ];
 
 // prettier-ignore