TrustedTypePolicyFactory
Baseline
2026
Newly available
Since February 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Note: This feature is available in Web Workers.
The TrustedTypePolicyFactory interface of the Trusted Types API creates policies and allows the verification of Trusted Type objects against created policies.
Instance properties
TrustedTypePolicyFactory.emptyHTMLRead only-
Returns a
TrustedHTMLobject containing an empty string. TrustedTypePolicyFactory.emptyScriptRead only-
Returns a
TrustedScriptobject containing an empty string. TrustedTypePolicyFactory.defaultPolicyRead only-
Returns the default
TrustedTypePolicyor null if this is empty.
Instance methods
TrustedTypePolicyFactory.createPolicy()-
Creates a
TrustedTypePolicyobject that implements the rules passed aspolicyOptions. TrustedTypePolicyFactory.isHTML()-
When passed a value checks that it is a valid
TrustedHTMLobject. TrustedTypePolicyFactory.isScript()-
When passed a value checks that it is a valid
TrustedScriptobject. TrustedTypePolicyFactory.isScriptURL()-
When passed a value checks that it is a valid
TrustedScriptURLobject. TrustedTypePolicyFactory.getAttributeType()-
Allows web developers to check whether a Trusted Type is required for an element and attribute, and if so which one.
TrustedTypePolicyFactory.getPropertyType()-
Allows web developers to check whether a Trusted Type is required for a property, and if so which one.
Examples
The below code creates a policy with the name "myEscapePolicy" with a function defined for createHTML() which sanitizes HTML.
We then use the policy to sanitize a string, creating a TrustedHTML object, escaped. This object can be tested with isHTML() to ensure that it was created by one of our policies.
const escapeHTMLPolicy = trustedTypes.createPolicy("myEscapePolicy", {
createHTML: (string) => string.replace(/</g, "<"),
});
const escaped = escapeHTMLPolicy.createHTML("<img src=x onerror=alert(1)>");
console.log(trustedTypes.isHTML(escaped)); // true;
Specifications
| Specification |
|---|
| Trusted Types> # trusted-type-policy-factory> |