diff --git a/index.bs b/index.bs
index d7b004f..bcbcee9 100644
--- a/index.bs
+++ b/index.bs
@@ -230,6 +230,9 @@ An annotations is a [=struct=] with the following [=struct/items=]:
: consequential hint
:: a [=boolean=], initially false.
+ : open world hint
+ :: a [=boolean=], initially true.
+
: debugging
:: a [=boolean=], initially false.
@@ -855,6 +858,9 @@ The registerTool(tool, optionsgetTools(options) method steps
{{ToolAnnotations/untrustedContentHint}} is |tool definition|'s [=tool
definition/annotations=]'s [=annotations/untrusted content hint=],
{{ToolAnnotations/consequentialHint}} is |tool definition|'s [=tool
- definition/annotations=]'s [=annotations/consequential hint=], and
+ definition/annotations=]'s [=annotations/consequential hint=],
+ {{ToolAnnotations/openWorldHint}} is |tool definition|'s [=tool
+ definition/annotations=]'s [=annotations/open world hint=], and
{{ToolAnnotations/debugging}} is |tool definition|'s [=tool
definition/annotations=]'s [=annotations/debugging=].
@@ -1181,6 +1189,7 @@ dictionary ToolAnnotations {
boolean readOnlyHint = false;
boolean untrustedContentHint = false;
boolean consequentialHint = false;
+ boolean openWorldHint = true;
boolean debugging = false;
};
@@ -1242,10 +1251,27 @@ The {{ToolAnnotations}} dictionary provides optional metadata about a tool:
: annotations["{{ToolAnnotations/consequentialHint}}"]
:: If true, indicates that executing the tool will result in consequential actions that are significant, real-world, or non-reversible, ex: booking a flight, transferring money.
+ : annotations["{{ToolAnnotations/openWorldHint}}"]
+ :: If true, indicates that the tool may send data to, or read data from, parties other than the
+ [=Document/origin=] of the page that registered it, for example through requests to other
+ origins. If false, indicates that the tool only uses the page and its own origin. Unlike the
+ other hints this one is true when it is not specified, so a tool that does not declare it is
+ treated as open to the world. The [=user agent=] does not enforce it.
+
: annotations["{{ToolAnnotations/debugging}}"]
:: If true, indicates that the tool is intended for debugging and developer tooling rather than end-user interactions.
+Note: A member that is not specified has its default value, and once the dictionary is converted a
+tool that leaves a member out cannot be told apart from one that sets it to that value. A false
+{{ToolAnnotations/consequentialHint}} or {{ToolAnnotations/untrustedContentHint}} is therefore not
+an assurance from the site that the tool's effects are minor or that its output can be trusted. It
+can mean only that the site made no claim. The annotations are supplied by the site that registers
+the tool and are not verified by the [=user agent=] (see [[#misrepresentation-of-intent]]).
+[=Agents=] are encouraged to honor a hint that increases scrutiny, and not to rely on a hint that
+decreases it as the only reason to skip a user confirmation or a sanitization step that they would
+otherwise apply.
+