Identity
Viewer identity
A viewer is whoever clicks a Linky. When they're signed into their Linky account, the rules engine can match on who they are. When they're not, only anonymous rules apply.
Signed-in vs anonymous
Viewers sign in with their Linky account — the same account they created to manage their own launch bundles. Anonymous viewers open the launcher without signing in; they see the public URL list and only match rules that use anonymous or always.
If a policy is attached to a Linky but the viewer is signed out, the launcher shows a "sign in to personalize" nudge alongside the public tabs. The link still works without an account; signing in just unlocks anything the rules had planned for them.
Fields you can match against
When a signed-in viewer hits a Linky, these seven fields are available to rule conditions:
| Field | What it is |
|---|---|
email | The viewer's primary email address, lower-cased. |
emailDomain | The domain part of their primary email, lower-cased (everything after the @). |
userId | The viewer's stable Linky user id. Useful when you need exact-match identity without relying on email. |
githubLogin | The viewer's GitHub username, if they connected GitHub to their Linky account. |
googleEmail | The email on the viewer's connected Google account, if any. Useful when it differs from their primary Linky email. |
orgIds | Every Linky organization the viewer is a member of — the full list, not just whichever one is active in their dashboard. |
orgSlugs | The slug of every Linky organization the viewer is a member of. Same full-list semantics as orgIds. |
email, emailDomain, userId, githubLogin, and googleEmail hold at most one value each. orgIds and orgSlugs can hold many, because a viewer can belong to several organizations.
Missing fields quietly fail to match
A viewer without a connected GitHub account simply doesn't match a rule that references githubLogin. A viewer with no organization memberships won't match any orgSlugsrule. There's no error — evaluation keeps walking the rule list, and falls through to the public tabs if nothing matches. Write rules assuming some fields will be absent for some viewers.
Viewer identity vs team roles
This page is about the viewer opening your Linky. The separate layer — who inside your team can edit, delete, and manage the launch bundle — is covered by Access control. Same Clerk identity feeds both, but the rules are independent: a viewer rule never affects what a teammate can do in the dashboard.