# Stream Deck: Profile & banks

> Why the profile is machine-level.

Glider documentation · Playout & On Air · Web page: https://cgglider.com/docs/stream-deck/profile/

Sections of this page: [Setup](https://cgglider.com/docs/stream-deck.md) · [Profile & banks](https://cgglider.com/docs/stream-deck/profile.md) · [Key actions](https://cgglider.com/docs/stream-deck/keys.md) · [Feedback](https://cgglider.com/docs/stream-deck/feedback.md) · [Runtime](https://cgglider.com/docs/stream-deck/runtime.md)

The profile lives at data/streamdeck.json and belongs to the machine, not to a page: one deck sits on one desk and outlives whatever page happens to be open in the editor. Every button therefore carries the pageId it drives.

- A press acts on its page whether or not that page is on screen — or open in any browser at all.
- Keys are organised into banks, because a 32-key deck runs out of keys long before a show does.
- The profile also carries panel brightness, 0–100.
- Because a binding can outlive its target, every button resolves to a health verdict and the grid marks a broken one rather than failing at air time.
