Only an exact false suppresses default exposure
The schema extension that suggests hiding a port is read by identity, not by truthiness. Anything that is not the boolean false leaves the port exposed, so a malformed or half-migrated value fails towards visible.
The rule
Normative: this is the rule
- A processor's
x-exposed-by-defaultschema extension suppresses a port's default exposure only when its value is exactly the booleanfalse. - Any other value (including null, zero, an empty string, or the string
"false") leaves the port exposed by default, as does the key's absence (CFG-2).
What it means
The comparison is identity, not truthiness. A processor asking for a port to
ship hidden has exactly one way to say so — the boolean false, and nothing
else. Every near-miss a loosely-typed schema or a round trip through another
format might produce — null, 0, an empty string, even the string
"false" — leaves the port exposed. A malformed or half-migrated flag fails
towards visible, never towards hidden.
Example
{ "x-exposed-by-default": false }{ "x-exposed-by-default": "false" }{}Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · EXPO-5 · changed in spec 1.0