Screen context
Letting the model see what you see, with consent.
Screen sharing is the moment the model stops being a chatbot and starts being a collaborator. It can see what the user sees; it can answer in context; it can catch the user in the act. It is also the single most consent-sensitive interaction any AI product can offer. Done badly, it's surveillance. Done well, it's magic.
The pattern is honesty at every layer. A visible brass border when sharing is live. A per-region mask tool for the parts of the screen the user doesn't want shared. A one-keystroke stop. An event log the user can review. Consent becomes a conversation, not a checkbox.
"A model that sees your screen is a model you need consent for. The UI is either your conscience or your cover-up."
Brass border. Masks. Stop. Log.
When sharing is active, a brass border sits around the shared viewport. Not red; red is for emergencies. Brass is for attention. A mask tool lets the user circle any region they don't want the model to see; masks are blurred even in the model's view. A stop shortcut works from any keystroke. An event log lives alongside the share, so the user can audit which frames were captured and when.
A brass border, not a red siren. Masked regions are first-class. Stop is one keystroke.
Consent without friction is consent without meaning.
A one-time permission prompt is not consent. Consent has to live in the interface the whole time sharing is active. Otherwise the user forgets. An always-visible state, a one-keystroke stop, a visible mask affordance: these are what make consent actual, not theoretical.
Screen sharing that users will turn on.
- Brass, not red. A constant red border trains users to ignore it. Brass is visible but not alarming.
- Masks as a first-class tool. Drag-to-mask. One keystroke to apply. The user should feel like the gatekeeper, not the model.
- Event log, always visible. Every start, pause, stop, and mask event gets logged. The user can audit themselves at any moment.
Sharing that creeps past its scope.
The worst failure mode is scope creep: the user starts sharing one tab and the product quietly captures more. Or pauses are not actually pauses; the stream keeps running to a buffer. Users who catch this are never users again.
What this pattern gets wrong when it gets wrong.
- Consent skip
- Capturing, transmitting, or acting on input the user didn't agree to share in this moment.
- Leaky context
- Content from another source, session, or user surfacing in a place it shouldn't.
- Modality mismatch
- The product answers in one modality when another was implied, or mixes modalities in a way the user can't combine.
Three shipping variants worth copying.
- A brass indicator whenever the model has screen access
- A masked-region tool that blurs whatever the user circles
- A stop-sharing shortcut that works from any keypress