Skip to content

Screen context

Letting the model see what you see, with consent.

11 min

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."
The pattern

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.

Sharing with masks and a live event log
Start, pause, mask, stop
private
inbox — mail
screen is private
Consent · live
Who sees thisModel only, not logged
What's capturedNothing
Mask count1
Stop anywhere⌘⇧.
Recent events
no events yet

A brass border, not a red siren. Masked regions are first-class. Stop is one keystroke.

The why

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.

Three moves

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.

The trap

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.

Failure modes

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.
Seen in the wild

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