Skip to content
C.W.K.
Stream
Lesson 02 of 04 · published

The Device Is the Credential

~11 min · device, tailnet, auth, lease

Level 0Spark
0 XP0/36 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete

A Chat PIN Must Never Type

If a credential that opens Pippa chat can also open a terminal keyboard, you have built the model-callable write this quest keeps refusing, only now it fits in a pocket. The gateway checks the connecting device's tailnet identity and an operator-owned read/control permission. No model credential. No sibling HTTP credential. No long-lived password stored in the app as a substitute for the device. Selection of a Mac preset never connects automatically. Edits cannot redirect an existing connection's automatic reconnect into a different host.

Read permission is spectator. Control permission is the right to ask for a lease, not the lease itself. A device approved only to look cannot Take Control no matter how many times the thumb taps. That split is how you lend a glass to someone who should see a job and never type in it.

Office Is a Default, Not a Prison

Known Mac presets fill addresses. A fresh install can default to the family's office Mac. Custom endpoints stay editable. None of that is a license to print tailnet addresses in a quest, or to bake a single host into the binary as destiny. The working contract uses an office gateway. The authorized destination, the next track, is a phone that can also go direct. Today's credential is still the device, not a password you could paste into a model.

The device is who you are. Permission is what you may ask. A model token that can type is a keyboard with a brain. Do not hand the gateway that token.

Code

What the gateway is allowed to believe·text
CONNECTING DEVICE
  identity:  tailnet node (who this glass is)
  permission: operator-owned { read, control }

read    -> spectator verbs only
control -> may request a lease; daemon still serializes it

NEVER accept as input-granting
  Pippa session token
  sibling door credential
  a PIN reused from chat
  a password living in the app's settings

# Changing the destination of an existing connection
# must not piggyback on automatic reconnect.
# Edit is a new connect, or it is nothing.

External links

Exercise

A sibling app wants to "just use the Pippa token, we already have it on the phone." Write the one-sentence refusal, and name the two permissions (read, control) that token would smear together. Then name the verb that still belongs to the daemon after control is granted (the lease).
Hint
If the token both opens chat and types, you cannot revoke typing without also locking the person out of Pippa. That coupling is the defect.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.