Skip to content

Two channels, one rule: who set a value can clear it

The same keys can arrive two ways — in the subscription response (an HTTP header or a #key: line) and from the provider account (applied to online devices within minutes). They follow one rule:

Situation Result
The key is in the subscription response Its value wins and the field is marked “set by the subscription”
The key is in the provider account Its value wins over the subscription’s and the field is marked “set by the account”
The key is missing from the account update, and the field was set by the account The field is cleared — you removed it in the panel, so it disappears in the app
The key is missing from the account update, and the field was set by the subscription The field is kept — the account never clears what the subscription set

In short: whoever wrote last, wins, and a value can only be removed by the side that put it there. That is how you take an announcement or a banner down — clear it in the panel and it disappears on the next update; the subscription response keeps whatever it sends.

Fields with no “empty” state — the subscription name, brand links, hide-settings — are never auto-cleared; send a new value to change them.

⚠️ This applies to all keys, including bypass (s-fragment, s-noise, s-resolve, s-dns) and routing: if you set s-fragment from the panel and later remove it there, fragmentation switches off on the next update.