eleven / ocho Public

docs: record passkey-only / no-social-login as a non-negotiable invariant (#319)

Add a "No social or third-party login, ever" invariant to the onboarding
& home-server design doc, alongside "No accounts". It also captures the
concrete consequence for the native app: App Store guideline 4.8's
"offer an equivalent login" requirement (Sign in with Apple et al.) is
triggered only by apps that use a third-party/social login service, so a
passkey-only, email-less app is exempt under "your app exclusively uses
your company's own account setup and sign-in systems".

Also fix the stale doc header — passkey-only sign-in is a Day-1 invariant,
not a proposal, and several phases are already shipped (see the inline
Implemented markers), so "proposed — nothing built" was wrong.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Paul Campbell 6d6ab46745b034f7ac0aa4769df91bd14d321efc parent 81cb6b3
1 file changed, +18 −3
  • docs/onboarding-and-home-server.md +18 −3
diff --git a/docs/onboarding-and-home-server.md b/docs/onboarding-and-home-server.md
index f2aee9e..d080a0c 100644
--- a/docs/onboarding-and-home-server.md
+++ b/docs/onboarding-and-home-server.md
@@ -1,8 +1,12 @@
# 🤖 Onboarding & the home server — design
-Status: **proposed** — captured from design discussion 2026-07-03, nothing built.
-This doc is the single place for where we landed. Builds on
-`invite-redesign.md` (invite secret `T` in the URL fragment, server-blind claim).
+Status: **shipping, not proposed.** Passkey-only sign-in is a Day-1 invariant —
+no passwords, no email, no social/third-party login, and nothing on the roadmap
+changes that (see Invariants below). The home server, enrolment, and the
+signed-out-root restore flow are built (see the inline *Implemented* markers);
+silent multi-device sync (phase 3c) is the main piece still landing. This doc is
+the single place for where we landed. Builds on `invite-redesign.md` (invite
+secret `T` in the URL fragment, server-blind claim).
## Goals
@@ -21,6 +25,17 @@ across devices. All without usernames, passwords, or weakening the one rule:
- **No accounts.** Identity stays per-instance keypairs; membership only ever
enters via invites. No federation.
+- **No social or third-party login, ever.** Sign-in is a passkey (or an invite
+ link) — identity is never brokered by Facebook / Google / Apple / X / etc.
+ This is a permanent product decision, not a gap we'll fill later. Beyond
+ keeping the model accountless, it has a concrete payoff for the native app:
+ App Store guideline 4.8 (the "you must also offer an equivalent login option"
+ rule, i.e. Sign in with Apple and friends) is triggered *only* by apps that
+ use a third-party or social login service. A passkey-only app is explicitly
+ exempt — *"Your app exclusively uses your company's own account setup and
+ sign-in systems"* — and requires no email address, so there is nothing for an
+ "equivalent" login to be equivalent *to*. Adding a social login would flip
+ that requirement on; we never will.
- **The home server is strictly additive.** A client with no enrolment record
makes **no requests to any home server, ever** — no passive pings, no
"check for a backup" lookups. Enrolment is created only by an explicit user