{
  "properties": {
    "ACCOUNT_ID": {
      "description": "The account id of the associated iboss account.",
      "title": "Account ID",
      "type": "integer"
    },
    "API_REDIRECTION_BLOCK_LIST": {
      "description": "Comma separated list of domains to block when running in API redirection or Direct Filtering mode",
      "title": "Filtering block list for API redirection mode",
      "type": "string"
    },
    "API_REDIRECTION_BYPASS_LIST": {
      "description": "Comma separated list of domains to bypass when running in API redirection or Direct Filtering mode",
      "title": "Filtering bypass list for API redirection mode",
      "type": "string"
    },
    "API_REDIRECTION_URL_BYPASS_LIST": {
      "description": "Populates the connector internal URL bypass list when running in API redirection or Direct Filtering mode",
      "title": "Filtering URL Bypass list",
      "type": "string"
    },
    "AUTH_CACHE_PREWARM_TIMEOUT": {
      "description": "Sets the timeout for prewarming the internal authentication token cache.",
      "title": "Authentication cache prewarm timeout",
      "type": "integer"
    },
    "AllowOffPremUsage": {
      "description": "This setting controls whether the device can function when off-premise or whether all traffic will be blocked",
      "title": "Allows the device to function off-premise",
      "type": "boolean"
    },
    "BLUR_ALL_PAGE_IMAGES_MIN_DIMENSION": {
      "description": "Rendered-size floor in CSS pixels (applied to the smaller of the image's width and height) below which an image is auto-allowed by the general-page image blur feature without running the NSFW model. Icons, sprites, avatars, and spacer/tracking pixels fall under this floor; classifying them would flood the model and leave page UI needlessly blurred. Every image is still blurred at document load; sub-floor images simply un-blur quickly once their dimensions are known. Set to 0 to classify every image regardless of size. Accepted range 0-4096. Default 64.",
      "title": "Blur All Page Images Minimum Dimension",
      "type": "integer"
    },
    "BlockOnUnsuccessfulConnection": {
      "description": "This setting controls whether or not requests should be automatically blocked on failure to contact the iboss cloud",
      "title": "Block on connection failure",
      "type": "boolean"
    },
    "CAPTIVE_PORTAL_DETECTION": {
      "description": "Enable Captive Portal detection.",
      "title": "Captive Portal Detection Enable",
      "type": "integer"
    },
    "CAPTIVE_PORTAL_INTERVAL": {
      "description": "Captive Portal detection monitor interval in seconds.",
      "title": "Captive Portal Detection Monitor Interval",
      "type": "integer"
    },
    "CLOUD_CATEGORIZATION_SSL_PORT": {
      "description": "SSL port for url categorization in api mode",
      "title": "Categorization port",
      "type": "integer"
    },
    "CLOUD_SSL_REG_PORT": {
      "description": "The SSL port used for registering to your iboss Gateway.",
      "title": "Cloud SSL Registration Port",
      "type": "integer"
    },
    "COMPUTER_OVERRIDE_USER": {
      "description": "Prioritize the security key for group assignment.",
      "title": "Computer Override User",
      "type": "integer"
    },
    "CONTENT_CHECK_DETECT_LEVEL": {
      "description": "Porn-class confidence (0-100) above which an isolated Porn signal satisfies the signal-strength guard in the Safe Image Content Check layer's local NSFWJS verdict, even when both Sexy and Hentai score zero. Lower values (more aggressive) block on weaker isolated Porn signals at the cost of more false positives on skin-tone imagery; higher values (more permissive) require strong Porn confidence before blocking without Sexy or Hentai corroboration. Accepted range 0-100. Default 25.",
      "title": "Content Check Porn-Only Detect Level",
      "type": "integer"
    },
    "CONTENT_CHECK_MULTIPLIER": {
      "description": "Porn-class weight applied when computing the local NSFWJS combined adult/sexual confidence score for the Safe Image Content Check layer: combined = (CONTENT_CHECK_MULTIPLIER * Porn) + Sexy + Hentai. Each NSFWJS class confidence is reported in 0-100, so the combined score's upper bound is CONTENT_CHECK_MULTIPLIER * 100 + 200. Accepted range 1-10. Default 3. Larger multipliers lean more heavily on the Porn signal without changing the threshold's semantics; admins increasing the multiplier should typically raise SAFE_IMAGE_CONTENT_LOCAL_THRESHOLD by a comparable factor.",
      "title": "Content Check Porn Multiplier",
      "type": "integer"
    },
    "DATA_REDIRECTION_MODE": {
      "description": "Use \"proxy\" mode by default.  Set \"api\" mode alternatively",
      "title": "Filtering mode",
      "type": "string"
    },
    "DIRECT_FILTER_DOMAIN_LIST": {
      "description": "Extends the connector internal direct filter domain list",
      "title": "Direct Filtering Extension",
      "type": "string"
    },
    "DIRECT_FILTER_ENABLE": {
      "description": "Allows filtering of specific Chrome internal domains",
      "title": "Enable Direct Filtering",
      "type": "boolean"
    },
    "FilterPerformance": {
      "description": "This setting defines the filtering performance and consequently the number of filtering calls that the extension will generate. Acceptable values are HIGH, MEDIUM, or LOW.",
      "title": "Ability to define the filtering performance to apply",
      "type": "string"
    },
    "FilterWhenOffPrem": {
      "description": "This setting controls whether the device will filter when it is off-premise or allow all traffic to pass",
      "title": "Turns filtering on/off when off-premise",
      "type": "boolean"
    },
    "GATEWAY_HOST": {
      "description": "The hostname of your iboss Gateway (In most cases your default node group).",
      "title": "Gateway Host",
      "type": "string"
    },
    "GATEWAY_PORT": {
      "description": "The proxy port of your assigned iboss Gateway.",
      "title": "Gateway Port",
      "type": "integer"
    },
    "GUEST_ACCESS_ENABLE": {
      "description": "Enable the cloud connector for guest access.",
      "title": "Guest Access Enable",
      "type": "integer"
    },
    "Gen4AutoLoginCaptivePortalDetection": {
      "description": "feature switch to turn on captive portal detection",
      "title": "Gen4 Captive Portal Detection",
      "type": "integer"
    },
    "HIDE_INTERNAL_DIAGNOSTICS": {
      "description": "This setting controls whether the parameters and logs will be visible from the UI",
      "title": "Hide Internal Diagnostics",
      "type": "boolean"
    },
    "HTTPPort": {
      "description": "This is the assigned the http port which the iboss filter runs on",
      "title": "HTTP Port",
      "type": "integer"
    },
    "HTTPSPort": {
      "description": "This is the assigned the https port which the iboss filter runs on",
      "title": "HTTPS Port",
      "type": "integer"
    },
    "IMAGE_BLUR_CATEGORIES": {
      "description": "Comma-separated list of content categories the image-blur features act on while IMAGE_BLUR_LEVEL is not \"off\". Recognized tokens: \"adult\" (the local NSFWJS adult/sexual classifier, always bundled with the extension) and \"violence\" (the on-device ViT violence classifier run in the offscreen document). IMAGE_BLUR_LEVEL still controls where blurring runs and how aggressive each classifier is; this list controls which classifiers contribute to a block. Unknown tokens are ignored. Example: \"adult, violence\". Default \"adult\". NOTE: the \"violence\" classifier's model weights are downloaded on demand the first time violence blurring runs (routed through the iboss cloud proxy); the model-hosting site must be reachable for violence detection to activate. On slow or restricted networks violence blurring fails open until the model finishes loading, so if you enable the \"violence\" category, confirm the download host is accessible.",
      "title": "Image Blur Categories",
      "type": "string"
    },
    "IMAGE_BLUR_LEVEL": {
      "description": "Single-knob age tier that turns image and video blurring on or off and selects how aggressive it is. Together with IMAGE_BLUR_CATEGORIES this is the primary control for all blurring. \"off\" (default) disables the search-engine safe-image layer, the general-page image-blur layer, and live video-playback frame blurring. \"child\", \"teen\", and \"adult\" each enable all three layers and select an age-appropriate set of classifier thresholds (\"child\" is tuned to block adult imagery for young students; \"adult\" is the most permissive). The tier always overrides the derived per-tier threshold fields (SAFE_IMAGE_CONTENT_LOCAL_THRESHOLD, CONTENT_CHECK_MULTIPLIER, CONTENT_CHECK_DETECT_LEVEL, VIOLENCE_CONTENT_THRESHOLD, and VIDEO_BLUR_SCORE_AVERAGE_SECONDS), so set those directly only when not using IMAGE_BLUR_LEVEL. Accepted values: off, child, teen, adult. Default off.",
      "enum": [
        "off",
        "child",
        "teen",
        "adult"
      ],
      "title": "Image Blur Level",
      "type": "string"
    },
    "IMAGE_CONTENT_FAIL_CLOSED": {
      "description": "Fail-mode policy for the Safe Image Content Check giveup path. When the content script gives up waiting for a tile thumbnail to hydrate (after 10 seconds) the URL is dispatched to the worker with no thumbnail, so NSFWJS cannot run and only the URL keyword override executes. If a keyword matches the URL is blocked regardless. If no keyword matches, this setting decides the provisional verdict: when true (default) the tile stays blurred (fail-closed; recommended for schools), when false the tile is allowed (fail-open; original behaviour). The provisional verdict is not cached either way, so as soon as Google's lazy-loader hydrates the thumbnail the content script reruns NSFWJS and the model verdict overrides the giveup verdict. Default true.",
      "title": "Image Content Fail-Closed",
      "type": "boolean"
    },
    "IMAGE_VIDEO_BLUR_ADULT_SITE_TTL_MINUTES": {
      "description": "How many minutes an automatically-LEARNED adult-site designation stays in effect before it expires and is cleared. When the general-page image blur feature's adult-heavy heuristic blacks out an entire frame, the connector remembers that host so later visits black out immediately at page load without re-classifying every image. Each remembered host now records when it was learned; once this many minutes elapse the entry is ignored and pruned, so a one-time false positive on a legitimate image-search site (for example getty or adobe surfacing a few adult-scored thumbnails) auto-resets instead of being blacked out indefinitely. A genuinely adult site simply re-trips the heuristic on the next visit and is re-learned with a fresh timestamp, so it stays blocked. Only auto-learned hosts expire; intrinsic adult hosts/TLDs and admin IMAGE_VIDEO_BLUR_FORCE_SITES entries are unaffected. Set to 0 to disable expiry so learned designations are permanent (the previous behavior). Accepted range 0-10080 (one week). Consumed live - changes apply without a restart. Default 5.",
      "title": "Image/Video Blur Adult Site TTL Minutes",
      "type": "integer"
    },
    "IMAGE_VIDEO_BLUR_BYPASS_EDUCATION_SITES_ENABLE": {
      "description": "When enabled, a built-in list of common education/testing sites is merged into IMAGE_VIDEO_BLUR_BYPASS_SITES so image and video blurring is bypassed on those sites while blurring is otherwise enabled. The built-in entries are added as domain+subdomain bypass rules (a couple as URL-path prefixes) and, like all bypass entries, take precedence over IMAGE_VIDEO_BLUR_FORCE_SITES when a page matches both. Any admin-configured IMAGE_VIDEO_BLUR_BYPASS_SITES entries still apply regardless of this flag. Consumed live - changes apply without a restart. Default true.",
      "title": "Image/Video Blur Bypass Education Sites Enable",
      "type": "boolean"
    },
    "IMAGE_VIDEO_BLUR_BYPASS_SITES": {
      "description": "Comma-separated list of sites on which ALL image and video blurring is bypassed while blurring is otherwise enabled. Each element is either a full URL/path (matched as a prefix, e.g. a specific YouTube video) or a domain. A bare domain (\"example.com\") matches that exact host only; a domain that starts with a dot (\".example.com\") matches the domain and all of its subdomains. Consumed live - changes apply without a restart. Takes precedence over IMAGE_VIDEO_BLUR_FORCE_SITES when a page matches both. Default \"\".",
      "title": "Image/Video Blur Bypass Sites",
      "type": "string"
    },
    "IMAGE_VIDEO_BLUR_FORCE_SITES": {
      "description": "Comma-separated list of sites on which EVERY image and video is always blurred while blurring is otherwise enabled. Each element is either a full URL/path (matched as a prefix, e.g. a specific YouTube video) or a domain. A bare domain (\"example.com\") matches that exact host only; a domain that starts with a dot (\".example.com\") matches the domain and all of its subdomains. Consumed live - changes apply without a restart. IMAGE_VIDEO_BLUR_BYPASS_SITES takes precedence when a page matches both. Default \"\".",
      "title": "Image/Video Blur Force Sites",
      "type": "string"
    },
    "IMAGE_VIDEO_BLUR_STRICT_SITES": {
      "description": "Comma-separated list of sites on which the page-context blur relaxation is disabled. On a confidently benign page (very few adult signals over enough images, and not an image-search page) the connector normally un-blurs weak single-signal NSFWJS false positives - a lone \"Sexy\" score, or a low \"Porn\" score just over the detect level on an otherwise neutral image. Listing a domain here forces those marginal blocks to stay blurred and applies the normal blurring algorithm strictly; use it when a page under-blurs because of the relaxation. Each element is either a full URL/path (matched as a prefix) or a domain. A bare domain (\"example.com\") matches that exact host only; a domain that starts with a dot (\".example.com\") matches the domain and all of its subdomains. This does not affect a full IMAGE_VIDEO_BLUR_BYPASS_SITES or IMAGE_VIDEO_BLUR_FORCE_SITES entry. Consumed live - changes apply without a restart. Default \"\".",
      "title": "Image/Video Blur Strict Sites",
      "type": "string"
    },
    "INCLUDE_RISK_TEST_WORDS": {
      "description": "Add non-risky test keywords.",
      "title": "Include Risk Content Detection Test Keywords",
      "type": "boolean"
    },
    "LOG_COLLECTION_ENABLE": {
      "description": "Enable internal log collection and logfile save button.",
      "title": "Enable Log Collection",
      "type": "boolean"
    },
    "LOG_COLLECTION_WRITE_TIME": {
      "description": "Write available logs to a file at the given time.",
      "title": "Log Collection Write Time",
      "type": "string"
    },
    "PAC_FETCH_INTERVAL": {
      "description": "PAC download interval in seconds.",
      "title": "PAC download interval",
      "type": "integer"
    },
    "PAC_REFRESH_ENABLE": {
      "description": "PAC periodic refresh enable",
      "title": "Periodic PAC Enable",
      "type": "integer"
    },
    "PAC_REFRESH_INTERVAL_MINUTES": {
      "description": "System proxy configuration update interval in minutes.",
      "title": "PAC internal refresh interval",
      "type": "integer"
    },
    "PAC_REFRESH_INTERVAL_OVERLAP": {
      "description": "System proxy configuration update interval overlap for resetting in seconds.",
      "title": "PAC internal refresh interval overlap",
      "type": "integer"
    },
    "PAC_URL": {
      "description": "The URL used to retrieve the PAC Script configured for your iboss account.",
      "title": "Proxy Auth Configuration (PAC) URL",
      "type": "string"
    },
    "POTLS_ENABLE": {
      "description": "Enables the use of TLS proxying.",
      "title": "Proxy over TLS Enable",
      "type": "integer"
    },
    "REGISTRATION_INTERVAL": {
      "description": "interval to re-register in units of seconds",
      "title": "Auto Login Registration Interval",
      "type": "integer"
    },
    "RISK_CONTENT_DETECTION_ENABLE": {
      "description": "Enable monitoring of text input for high-risk content indicating self-harm or harm to others.",
      "title": "Risk Content Detection Enable",
      "type": "boolean"
    },
    "SAFE_IMAGE_CONTENT_LOCAL_THRESHOLD": {
      "description": "Minimum weighted combined adult/sexual confidence at which a thumbnail stays blurred under the Safe Image Content Check layer. The combined score is computed as (CONTENT_CHECK_MULTIPLIER * Porn) + Sexy + Hentai using NSFWJS class confidences (each 0-100); accepted range is 0-1200, sized for the maximum CONTENT_CHECK_MULTIPLIER (10). A tile is only blocked when the combined score is greater than or equal to this threshold AND a signal-strength guard passes (Sexy > 0, Hentai > 0, or Porn > CONTENT_CHECK_DETECT_LEVEL). Default 20.",
      "title": "Safe Image Content Local Threshold",
      "type": "integer"
    },
    "SECURITY_GROUPS": {
      "description": "A comma-delimited list that indicates which group(s) the extension should target for web filtering.",
      "title": "Security Groups",
      "type": "string"
    },
    "SECURITY_KEY": {
      "description": "The unique key that indicates which group the extension should target for web filtering.",
      "title": "Security Key",
      "type": "string"
    },
    "SEND_COMPLETE_EMAIL": {
      "description": "For all requests if this is set to true the complete email will be sent otherwise just the prefix will be sent",
      "title": "Send Complete Email",
      "type": "boolean"
    },
    "SSOBackupHost": {
      "description": "This is the hostname of your local filter to be used as a backup in case the primary filter that processes SSO login requests goes down",
      "title": "SSO Backup Host",
      "type": "string"
    },
    "SSOHost": {
      "description": "This is the hostname of your local filter used to process SSO login requests",
      "title": "SSO Host",
      "type": "string"
    },
    "SSOLoginIntervalMinutes": {
      "description": "This setting controls the interval time (in minutes) when the SSO Login request should be sent to update the IP Address of the user",
      "title": "The SSO Login Interval",
      "type": "integer"
    },
    "SSOSecurityKey": {
      "description": "The SSOSecurity Key specifying which group requests that originate from this App should target for SSO login purposes.",
      "title": "SSOSecurity Key.",
      "type": "string"
    },
    "TAB_REFRESH_ON_WAKE_CLOUD_CHECK": {
      "description": "Controls whether the connector will check with the cloud if a tab has an allowed domain before refresh",
      "title": "Enable Cloud Check for Tab Refresh on Wake",
      "type": "boolean"
    },
    "UseSSL": {
      "description": "This setting controls whether the iboss will connect to the On/Off Prem Hosts via SSL/HTTPS or standard HTTP",
      "title": "Use SSL",
      "type": "boolean"
    },
    "VIDEO_BLUR_CLEAR_HOLD_SECONDS": {
      "description": "For live video-playback frame blurring (BLUR_VIDEO_PLAYBACK_ENABLE): the number of CONTINUOUS seconds of below-threshold (clean) sampled frames required before an already-blurred video un-blurs. The blur turns on as soon as one flagged frame is detected and is then held for this long after the last flagged frame, so brief clean moments between flagged scenes do not flicker the picture back on. Any flagged frame within the window restarts the timer. Set to 0 to clear as soon as frames test clean. Accepted range 0-600. Default 4.",
      "title": "Video Blur Clear Hold Seconds",
      "type": "integer"
    },
    "VIDEO_BLUR_SCORE_AVERAGE_SECONDS": {
      "description": "For live video-playback frame blurring (BLUR_VIDEO_PLAYBACK_ENABLE): the length in seconds of the trailing moving-average window applied to the adult model scores before the block decision. Each sampled frame's Porn/Sexy/Hentai scores are averaged over this window and the blur threshold is compared against the AVERAGED scores, so a single noisy frame cannot flip the blur on or off. Set to 0 to use the immediate per-frame score. Note: a non-off IMAGE_BLUR_LEVEL overrides this per tier (child 2, teen 3, adult 5); this value applies only as the base. Accepted range 0-60. Default 5.",
      "title": "Video Blur Score Average Seconds",
      "type": "integer"
    },
    "VIOLENCE_COMMON_KEYWORDS_ENABLE": {
      "description": "Enables the common-tier violence keyword pass. The built-in violence keywords are split into a strong tier (gun, war, kill, ...) that always gates the violence model before an image is shown, and a common tier of everyday words (force, ice, box, hit, attack, marine, ...). When enabled, a common-tier match un-blurs the image immediately and then re-checks it in the background, re-blurring after the fact only if the violence model scores it past an elevated threshold (VIOLENCE_CONTENT_THRESHOLD times 1.25). Disabled by default because the common words collide heavily with benign imagery; when disabled the common tier is skipped entirely and only strong-tier words gate the violence model. Default false.",
      "title": "Violence Common Keywords Enable",
      "type": "boolean"
    },
    "VIOLENCE_CONTENT_THRESHOLD": {
      "description": "Minimum violent-class confidence (0-100) at which the on-device ViT violence classifier keeps a trigger-gated image blurred when the \"violence\" category is enabled (see IMAGE_BLUR_CATEGORIES and VIOLENCE_TRIGGER_WORDS). After a trigger word gates an image, the violence model runs; the image stays blurred when its violent-class confidence is greater than or equal to this threshold and un-blurs otherwise. IMAGE_BLUR_LEVEL derives this value per age tier (child most aggressive, adult least), and the tier always overrides this field, so set it directly only when not using IMAGE_BLUR_LEVEL. Lower values block more aggressively at the cost of more false positives. Accepted range 0-100. Default 50.",
      "title": "Violence Content Threshold",
      "type": "integer"
    },
    "VIOLENCE_TRIGGER_WORDS": {
      "description": "Comma-separated extra words that gate the violence image model, appended to the built-in trigger-word list. When the \"violence\" category is enabled, an image is blurred and then checked by the violence model only if its page link, image link, or caption contains a trigger word; the model then un-blurs it if it isn't actually violent. Matching is case-insensitive and word-boundary aware. Use this to add deployment-specific terms (e.g. \"airsoft, paintball, melee\"). Default \"\" (built-in list only).",
      "title": "Violence Trigger Words",
      "type": "string"
    },
    "WEB_PROXY_DETECTION_AUTO_CLOSE_ENABLE": {
      "description": "Enables automatic closing of tabs that meet criteria for a web proxy.",
      "title": "Web Proxy Page Detection Automatic Tab Close Enable",
      "type": "boolean"
    },
    "WEB_PROXY_DETECTION_BLOCK_LIST": {
      "description": "Blocks the given domains.",
      "title": "Web Proxy Page Detection Block List",
      "type": "string"
    },
    "WEB_PROXY_DETECTION_BYPASS_LIST": {
      "description": "Bypasses the given domains for web proxy detection.",
      "title": "Web Proxy Page Detection Bypass List",
      "type": "string"
    },
    "WEB_PROXY_DETECTION_ENABLE": {
      "description": "Enables detection of browser pages acting as web-based proxies.",
      "title": "Web Proxy Page Detection Enable",
      "type": "boolean"
    },
    "WEB_PROXY_DETECTION_HEURISTICS_ENABLE": {
      "description": "Enables the use of heuristics to detect web proxy pages.",
      "title": "Web Proxy Page Detection Heuristics Enable",
      "type": "boolean"
    },
    "WEB_PROXY_DETECTION_KEYWORDS": {
      "description": "Adds to the internal web proxy keyword list.",
      "title": "Web Proxy Page Detection Keyword List",
      "type": "string"
    },
    "WEB_PROXY_ENGINE_TOKEN_LIST": {
      "description": "Adds to the internal list of web proxy engine libraries.",
      "title": "Web Proxy Page Detection Engine Token List",
      "type": "string"
    },
    "WebSecurityCustomBlockPageURL": {
      "description": "This is the url of an optional custom block page to use instead of the default internal block page",
      "title": "WebSecurity Custom Block Page URL",
      "type": "string"
    },
    "WebSecurityHost": {
      "description": "This is the hostname of your assigned iboss Cloud or off-premise accessible iboss filter",
      "title": "WebSecurity Host",
      "type": "string"
    },
    "WebSecurityKey": {
      "description": "The Security Key specifying which group requests that originate from this App should target for web security filtering.",
      "title": "WebSecurity Key.",
      "type": "string"
    },
    "YOUTUBE_CATEGORY_DETECTION_ALLOW_LIST": {
      "description": "Comma-separated YouTube categories that are always permitted. If non-empty, any category not in this list is blocked.",
      "title": "YouTube Category Allow List",
      "type": "string"
    },
    "YOUTUBE_CATEGORY_DETECTION_BLOCK_LIST": {
      "description": "Comma-separated YouTube categories that are blocked. Categories that appear in both the allow list and this list are allowed.",
      "title": "YouTube Category Block List",
      "type": "string"
    },
    "YOUTUBE_CATEGORY_DETECTION_ENABLE": {
      "description": "Enables detection of the YouTube video category on watch pages and enforces the allow/block lists. Master toggle; other YouTube category settings are inert when this is false.",
      "title": "YouTube Category Detection Enable",
      "type": "boolean"
    },
    "YOUTUBE_CATEGORY_DETECTION_HEADER_ENABLE": {
      "description": "When enabled, the connector adds an X-iboss-Youtube-Category header carrying the detected category name to outbound YouTube requests (youtube.com, googlevideo.com, ytimg.com). Allows the iboss cloud to apply category-aware policy on the request. Requires TLS interception on the cloud to be visible. Defaults to enabled.",
      "title": "YouTube Category Header Enable",
      "type": "boolean"
    },
    "YOUTUBE_CATEGORY_DETECTION_LOCAL_BLOCK_PAGE_ENABLE": {
      "description": "When enabled (default), the connector redirects blocked YouTube videos to its built-in block page. When disabled, the connector skips the local redirect and lets the iboss cloud serve a customer-specific block page using the X-iboss-Youtube-Category header. Defaults to enabled.",
      "title": "YouTube Category Local Block Page Enable",
      "type": "boolean"
    }
  },
  "type": "object"
}