Chapters

Drag to move · Hover to trace. Select to read more. Keyboard: Alt + arrow keys to move.

Security architecture
Web ClientUse Filmclusive in a browserAPI TransportCarries a request to the serverRequest BoundaryChecks a request before work startsApp CheckChecks the app making a requestFirebase AuthChecks who is signing inPermission / CapabilityWhat someone is allowed to doAudienceWho an update is intended forDomain ServiceChecks and carries out a requestResourceThe documents and media used for workTodayThe work that needs your attention nowFirestoreStores the application recordsStorageStores documents, images and video
  1. Web Client
  2. API Transport
  3. Request Boundary
  4. App Check
  5. Firebase Auth
  6. Permission / Capability
  7. Audience
  8. Domain Service
  9. Resource
  10. Today
  11. Firestore
  12. Storage
Authentication ≠ Authorization. UI visibility ≠ Authorization. Audience membership ≠ Resource access.

Drag a card to rearrange it. Select it to learn more.

Connections in words

Authentication ≠ Authorization. UI visibility ≠ Authorization. Audience membership ≠ Resource access.

Evaluate on the server

The server verifies identity and the relevant context, then checks current capabilities and subject access. Hiding a button or trusting a client-side role is insufficient.

Keep contexts distinct

Production, Team and personal relationships have different ownership. A permission in one context is not assumed in another. Private contact fields require their own visibility and consent decisions.

Public is a separate boundary

Public profiles, websites and recipient projections expose selected fields. Private records must not leak through serialized responses, metadata, structured data or errors.

Proof has scope

Focused positive and negative authorization checks support a particular boundary. Source review and local tests do not establish complete security or production acceptance. Evidence states what was actually assessed.

Go deeper

Conceptual architecture. Implementation and release status are assessed separately.