{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "techdocs": {
      "type": "object",
      "properties": {
        "builder": {
          "type": "string",
          "enum": [
            "local",
            "external"
          ],
          "description": "Documentation building process depends on the builder attr",
          "visibility": "frontend"
        },
        "legacyUseCaseSensitiveTripletPaths": {
          "type": "boolean",
          "description": "Allows fallback to case-sensitive triplets in case of migration issues.",
          "visibility": "frontend"
        },
        "sanitizer": {
          "type": "object",
          "properties": {
            "allowedIframeHosts": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Allows iframe tag only for listed hosts Example:  allowedIframeHosts: [\"example.com\"]  this will allow all iframes with the host `example.com` in the src attribute",
              "visibility": "frontend"
            },
            "allowedCustomElementTagNameRegExp": {
              "type": "string",
              "description": "Allows listed custom element tag name regex Example:  allowedCustomElementTagNameRegExp: '^backstage-'  this will allow all custom elements with tag name matching `^backstage-` like <backstage-custom-element /> etc.",
              "visibility": "frontend"
            },
            "allowedCustomElementAttributeNameRegExp": {
              "type": "string",
              "description": "Allows listed custom element attribute name regex Example:  allowedCustomElementAttributeNameRegExp: 'attribute1|attribute2'  this will allow all custom element attributes matching `attribute1` or `attribute2` like <backstage-custom-element attribute1=\"yes\" attribute2/>",
              "visibility": "frontend"
            },
            "additionalAllowedURIProtocols": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Allows listed protocols in attributes with URI values Example:  additionalAllowedURIProtocols: ['vscode']  this will allow all attributes with URI values to have `vscode` protocol like `vscode://some/path` in addition to the default protocols  matched by DOMPurify's IS_ALLOWED_URI RegExp:",
              "visibility": "frontend"
            }
          }
        }
      },
      "description": "Configuration options for the techdocs plugin"
    }
  }
}
