diff --git a/lib/Properties.hs b/lib/Properties.hs
index edffe8d9b15770230930ce11a93bf68a8937859f..cf63e129441f814b3549f7db9a1b8a70d9f5019e 100644
--- a/lib/Properties.hs
+++ b/lib/Properties.hs
@@ -27,6 +27,7 @@ import           Badges            (Badge (Badge),
                                     BadgeArea (BadgePoint, BadgeRect),
                                     BadgeToken, parseToken)
 import           Data.Data         (Proxy (Proxy))
+import           Data.Functor      ((<&>))
 import           Data.List         ((\\))
 import           Data.Maybe        (fromMaybe, isJust)
 import           Data.Set          (Set)
@@ -471,9 +472,18 @@ checkTileLayerProperty p@(Property name _value) = case name of
         -> do { isString p; requireProperty "bindVariable" }
       | T.toLower name `elem` [ "jitsiurl", "jitsiconfig", "jitsiclientconfig"
                               , "jitsiroomadmintag", "jitsiinterfaceconfig"
-                              , "openwebsitepolicy", "openwebsiteallowapi"
-                              , "allowapi" ]
+                              , "openwebsitepolicy", "allowapi" ]
         -> forbidProperty name
+        -- the openWebsite Api can only be allowed if the website is on static.rc3.world
+      | T.toLower name == "openwebsiteallowapi"
+        -> do
+          properties <- askContext <&> getProperties
+          unless (all (\(Property name value) -> case value of
+                          StrProp str -> name /= "openWebsite" || "https://static.rc3.world" `isPrefixOf` str
+                          _ -> True
+                      ) properties)
+            $ complain "\"openWebsiteAllowApi\" can only be used with websites hosted \
+                       \on https://static.rc3.world"
       | name `elem` [ "openWebsite", "openTab" ] -> do
           uselessEmptyLayer
           suggestProperty $ Property "openWebsiteTrigger" (StrProp "onaction")