Se7enFriends / docs

Internal developer documentation for the Se7enFriends .NET MAUI 10 platform. Privacy-first, P2P encrypted messaging. All documentation scraped live from source.

● Live from CSV Loading…
Scrape & deploy
Se7enDocs_Export.ps1
Models
Enums
Orchestrators
Methods
SyncActions
Health Checks
Services
Processes
Workflows
Policy Settings
UI Classes
⚠ Gaps
Documentation Viewers

Orchestrator Methods

Per-method purpose, caller contracts, SyncAction linkages, policy keys, and workflow membership.

OrchestratorMethods.csvPolicySettings.csv

SyncAction Reference

Every SyncAction: domain, handler, payload type, placement, business process, success path, sequence diagrams.

SyncActionDescriptors.csvModelShapes.csv

Model Shapes

ISe7enModel classes and Se7enEnum types with full property tables and cross-linked tooltips.

ModelShapes.csv

App Init / Health

IHealthCheckable components by tier, full initialisation sequence, Mermaid boot pipeline diagram.

healthcheckables.csv

Service Classes

Crypto, transport, and sync service implementations with category grouping, lifecycle tags, and per-method docs.

ServiceShapes.csv
🔁

Process Flows

Every annotated process step across all orchestrators — phases, implementation status, subprocess links, and per-process sequence diagrams.

ProcessFlows.csv[ProcessStep]
📖

Workflows

Human narrative layer — ELI5 phase breakdowns, design decisions, two-device sequence diagrams, and the WHY behind each process.

Workflows/*.mdProcessFlows.csv
🛡

Policy Settings

Cross-domain policy matrix — see every setting, where it's overridden across domains, resolver strategies, and full per-setting detail.

PolicySettings.csvCross-domain matrix
🖼

UI Classes

ViewModels, Views, and Components with process entry point badges, orchestrator bindings, and cross-links to the process flows they participate in.

UiShapes.csv[Se7enUi]
Domain Status
Active
Stub
Legacy
Not yet documented
Loading…
Open Gaps

Undocumented items

Loading…
Build History
Loading…
Architecture Notes

SessionId Formula

SHA256(TrueRK + "|" + peerId), base64, first 32 chars. Must match identically in DirectConnection, AddressBook (E1), and PeerConnection. AAD for session traffic = sessionId bytes.

TrueRK Derivation

Base64(SHA256(min(myC,peer.C) + "|" + max(myC,peer.C))) -- order-independent, co-derived. Neither peer can forge it alone. RkContrib tag format: rkcontrib:{base64}.

BootstrapFrame Rule

Must use BootstrapFrame wrapping -- NOT PrepareOutboundAsync. Inbound source port is ephemeral; endpoint lookup always fails. BootstrapFrame carries SenderPublicKey in the clear; receiver derives BootstrapRK without lookup.

SyncQueue Rule

Everything flows through SyncQueue -- no direct orchestrator-to-storage writes. Relay call is the authority; local mirror fires only on relay Success. Local failure is non-fatal (logged Warning only).

Approval Gate

PrepareForSyncAsync is the approval decision point. Check wrapped.Domain == Domain.ConsentAndApproval -- do not inspect IsWrapper. Caller must enqueue result AND await WaitForResultAsync on wrapper ID.

Guardian Policy

Guardian-aware policy gates protect minors at every sync step. RequireGuardianApproval flows through ConsentAndApprovalDomainOrchestrator. GuardianApprovalFlow applies across Trust, AddressBook, and Messaging.

AAD Conventions

Session traffic AAD = sessionId bytes. RK traffic AAD = peerId / recipientUserId bytes. BootstrapFrame AAD = localProfileUserId bytes (recipient). Never mix AAD contexts.

RCS + PMS Rules

RcsDomainOrchestrator endpoint uses LAN IP from network interfaces -- NOT relay-observed IP. PmsDomainOrchestrator: ILogIdentifiable NOT implemented, Name = "PmsOrchestrator".

Claude Access

Fresh data each session -- no uploads needed

Direct fetch Site is public. Ask Claude to fetch CSVs directly: https://docs.se7enfriends.app/OrchestratorMethods.csv
All CSV URLs OrchestratorMethods.csv · SyncActionDescriptors.csv · PolicySettings.csv · ModelShapes.csv · ServiceShapes.csv · UiShapes.csv · healthcheckables.csv · ProcessFlows.csv · WorkflowDocs.csv · devlog.csv · Workflows/*.md
Project instruction "At the start of each session, fetch fresh CSVs from https://docs.se7enfriends.app/ before answering architecture questions."
Deploy lag Cloudflare Pages deploys within ~30s of git push. Run Se7enDocs_Export.ps1, wait 30s, start session.