diff --git a/spec.bs b/spec.bs
index 61108b1e..37ef4d8c 100644
--- a/spec.bs
+++ b/spec.bs
@@ -410,6 +410,16 @@ A fenced frame config mapping has three submappings:
configs=]
+Note: The purpose of pending configs is to enable config-generating APIs to resolve configs
+asynchronously in a way that doesn't create timing side channels, i.e., the pending config is
+returned to the web platform in a constant amount of time, before any computation whose duration
+depends on cross-site data. Because the privacy of this depends on the web platform not being able
+to discern when a pending config is finalized, it is important that all visibilities and values of
+transparent fields do not change from the pending config to the finalized config, given that they
+can be inspected through {{FencedFrameConfig}}'s getters. Therefore, a {{FencedFrameConfig}} that
+is created and exposed to the web platform is effectively immutable even if its underlying
+[=fencedframeconfig/config=] is technically "pending", and will finish resolving completely later.
+
Each [=fenced frame config mapping=] has a maximum number of
configs, which is implementation-defined. The [=fenced frame config mapping/maximum number of
configs=] may be a nonnegative number or infinity.