Disabling a setting in theme.json removes the control

Setting a feature to false does not merely change a default — it removes the control from the editor sidebar entirely.

{
  "settings": {
    "color": {
      "custom": false,
      "customGradient": false,
      "customDuotone": false,
      "link": true
    },
    "typography": {
      "customFontSize": false,
      "dropCap": false
    },
    "spacing": { "padding": false }
  }
}

This is the half of the file that does design-system work: a palette is a suggestion while the custom picker is available, and a constraint once it is gone. The failure to plan for is existing content — a post that already has a custom colour keeps rendering it, because the value is in the block markup and only the control disappeared. Auditing existing posts for inline colour values is the companion job, and there is no report for it.