@dosfi.ai โ The Secure Identity Fabric
One identity. One login origin. Cryptographically hardened across DOSFI.ai, MeshInfer.AI, MeshNativeExchange, DOSFI Academy, DOSFI University, mesh-native apps, agents, enterprise nodes, and every 20-node mesh participant. This is not an email service. It is the identity fabric woven into every system.
What the identity fabric is โ and is not
The @dosfi.ai Identity Fabric is a single, cryptographically-hardened identity layer. Every principal in the Distributed Intelligence Stack โ users, agents, devices, mesh nodes, and enterprise organizations โ is issued an identity by one authority: the DOSFI Identity Service at identity.dosfi.ai.
There are no sub-systems with their own login. There are no separate identity stores per platform. There is no re-registration when moving between DOSFI, MeshInfer, Academy, or University. One identity creation event propagates everywhere, immediately and atomically.
identity.dosfi.ai.Identity principals
Identity creation โ the full provisioning sequence
Identity creation is a single atomic event that propagates across all five systems in under 500 ms. No manual provisioning step is required on any downstream platform.
User identity creation
Browser / App identity.dosfi.ai All five systems
โ โ โ
โโโ POST /signup โโโโโโโโโโโโบโ โ
โ { email, display_name } โ โ
โ โโโ generate username@dosfi.ai
โ โโโ generate UserID (uuid4)
โ โโโ issue Ed25519 keypair (stored securely)
โ โโโ sign UserID certificate (24h TTL, auto-renew)
โ โ โ
โ โโโ PROPAGATE โโโโโโโโโโโโโบโ
โ โ event: user_created โ
โ โ { user_id, email, โ
โ โ identity: username โ
โ โ @dosfi.ai } โ
โ โ โโโโโโโดโโโโโโโโโโโโโโโโโโโ
โ โ โ Each system registers โ
โ โ โ the identity via its โ
โ โ โ OIDC service webhook โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโ 201 Created โโโโโโโโโโโโ
โ { identity: username@dosfi.ai,
โ access_token (15 min),
โ refresh_token (30 days) }What propagates to each system at creation
Device binding โ required before node participation
Device (daemon) identity.dosfi.ai
โ โ
โโโ generate Ed25519 keypair โ
โ (in OS Keychain/Keystore/ โ
โ WebCrypto โ private key โ
โ never leaves device) โ
โ โ
โโโ POST /devices/bind โโโโโโโโโโบโ
โ { user_id, pub_key, โ
โ device_type, platform, โ
โ device_fingerprint_hash } โ
โ โโโ verify UserID token
โ โโโ issue DeviceID (did:mesh:{hash})
โ โโโ sign DeviceCert (Ed25519, 24h TTL)
โโโโ { device_id, device_cert } โโ
โ โ
โ Store device_cert securely โ
โ โ used for mTLS in G.3 โIdentity propagation โ cross-system consistency
The DOSFI OIDC token is the single credential that all five systems accept. It is never re-issued per-platform. All system-specific authorizations are claims embedded within the token โ not separate sessions.
Token claim structure
// DOSFI OIDC Access Token โ decoded payload
{
"sub": "usr_a1b2c3...", // UserID
"identity": "alice@dosfi.ai",
"org_id": "org_acme_prod", // null for personal accounts
"device_id": "did:mesh:abc123", // null if no device bound
"node_id": "node_f9a3e2b1...", // null if no active node
"subscription_tier": "growth", // developer|startup|growth|enterprise
"privacy_policy": "mesh_ok", // local_only|mesh_ok|cloud_ok
"enrolled_courses": ["msi-101", "msi-102"], // DosfiAcademy claims
"certification_tier": "professional_architect", // DosfiUniversity claims
"agent_ids": ["agnt_home..."], // deployed agents
"routing_permissions": ["local", "mesh"], // derived from subscription_tier
"iat": 1751808000,
"exp": 1751808900, // 15-min TTL
"iss": "https://identity.dosfi.ai",
"aud": ["meshinfer.ai", "meshnativeexchange.com",
"dosfiacademy.com", "dosfiuniversity.com"]
}How each system uses the token
Identity verification โ per-request enforcement
Every API call, inference request, DIU event, and node heartbeat is verified against the DOSFI OIDC token. Verification is synchronous, cryptographic, and never cached beyond the token TTL.
Verification steps โ every request
Request arrives at any system boundary
โ
โโ 1. Extract Bearer token from Authorization header or HttpOnly cookie
โ
โโ 2. Fetch current JWKS from identity.dosfi.ai/.well-known/jwks.json
โ (cached up to token exp; invalidated on key rotation event)
โ
โโ 3. Verify JWT signature (Ed25519) against matching kid in JWKS
โ โ invalid sig โ 401 Unauthorized; log to AuditLog (action: auth_failure)
โ
โโ 4. Verify iat, exp, iss, aud claims
โ โ expired โ 401; client must refresh via refresh_token
โ โ wrong aud โ 403; token not intended for this system
โ
โโ 5. Check device_id claim (if node operation)
โ โ device_id missing or not registered โ 403
โ โ node_id mismatch โ 403 + AuditLog (action: node_id_mismatch)
โ
โโ 6. Enforce privacy_policy claim (if inference request)
โ local_only + route โ local โ 403 (privacy_policy_violation)
โ
โโ 7. Enforce subscription_tier claim (if routing / feature access)
โ tier insufficient โ 402 (subscription_upgrade_required)
โ
โโ 8. Proceed with request; all events attributed to sub + org_idIdentity verification across all 20 nodes
| Token presentation | Every task dispatch envelope from the Coordinator includes the requester's identity token (encrypted, node-bound). The node daemon verifies the token before decrypting the prompt. |
| Node cert verification | On every heartbeat, the Coordinator verifies the heartbeat signature against the DeviceID-bound Ed25519 public key stored at registration. Mismatched signature โ immediate node eviction + AuditLog. |
| mTLS (node โ Coordinator) | All node-Coordinator communication uses mTLS. The client certificate is the DOSFI-signed DeviceCert. Expired certs (24h TTL) are auto-renewed; renewal failure โ node enters "cert_expired" state and stops receiving tasks. |
| Verification sampling | 2% of all completed inference tasks are re-dispatched by the Coordinator as verification tasks. The result hash is compared against the original. Hash mismatch = identity-bound reputation penalty + investigation flag. |
Identity revocation โ immediate, cascading, irrevocable
Revocation is the most critical identity operation. The DOSFI Identity Service propagates a revocation event to all five systems within 5 seconds. Every principal downstream of the revoked identity is simultaneously invalidated.
Revocation cascade
REVOKE UserID: usr_a1b2c3
โ
โโ access_token invalidated immediately (added to revocation list)
โโ refresh_token revoked โ no new access tokens issuable
โโ DeviceID โ DeviceCert revoked โ mTLS connections dropped within 5 s
โ โโ NodeID removed from routing pool immediately
โ โโ DIU wallet: pending unsettled events held 24h for review
โ โโ settled DIU is final and accessible post-review
โโ AgentIDs revoked โ agent signing key invalidated
โโ OrgID membership revoked (if member) โ org policies no longer apply
โโ DosfiAcademy session invalidated โ content access blocked
โโ DosfiUniversity session invalidated โ exam tokens voidedRevocation triggers and actors
Identity recovery โ verified, phased, audited
Recovery flow
User requests recovery โ identity.dosfi.ai/recover
โ
โโ 1. Email ownership verification
โ โ one-time signed link (15-min TTL, single-use) sent to registered email
โ โ link click proves domain ownership; no password requested
โ
โโ 2. MFA verification (if enrolled)
โ โ TOTP or WebAuthn passkey challenge
โ โ Required for accounts with active mesh nodes or enterprise org membership
โ
โโ 3. Recovery scope selection
โ โ Recover session only (new tokens, existing devices intact)
โ โ Recover + revoke all devices (new tokens + all DeviceIDs invalidated)
โ โ Full recovery (all of above + new Ed25519 keypair issued)
โ
โโ 4. New tokens issued
โ โ New access_token (15 min) + refresh_token (30 days)
โ โ Propagated to all five systems via user_recovered event
โ
โโ 5. Recovery event written to AuditLog
{ action: "identity_recovered", user_id, scope, timestamp }Recovery constraints
| MFA-gated operations post-recovery | Re-linking mesh nodes, re-deploying agents, and accessing enterprise org admin functions all require fresh MFA challenge after recovery, even within the same session. |
| NodeID post-recovery | Existing NodeIDs are suspended for 1 hour post-recovery (safety window). Nodes auto-resume if no anomaly is detected. Manual resume available via Coordinator admin. |
| DIU wallet | DIU wallet access is restored immediately on successful recovery. Pending unsettled DIU remains in held state until the node safety window clears. |
| No recovery without email access | If the registered email account is also compromised, recovery requires identity.dosfi.ai support. This is a deliberate security property โ no backdoor recovery path exists. |
Privacy tier enforcement โ structural, not policy
Privacy tiers are claims in the DOSFI identity token. Every system in the stack enforces them structurally โ before any network I/O, not as a logging filter applied after the fact.
Privacy tier definitions
| local_only | Inference executes exclusively on the requester's own device. No prompt data leaves the device. AbortController fires before any mesh or cloud dispatch attempt. Enforced synchronously in the SDK before any outbound call. |
| mesh_ok | Inference may execute on peer mesh nodes within the same OrgID's permitted routing pool. Prompts are end-to-end encrypted (AES-256-GCM, ephemeral session key per task). Peer nodes see only ciphertext. |
| cloud_ok | Inference may fall back to cloud providers when local and mesh capacity is insufficient. Cloud providers receive the plaintext prompt under their own data processing agreements. |
Enforcement architecture โ three layers
Privacy is enforced at three independent layers, each of which must be defeated for a violation to occur:
| Layer 1 โ SDK (client-side) | Before any network call, the SDK reads the privacy policy from the token. For local-only requests, the SDK verifies a local runtime is available and executes locally โ the Coordinator is never contacted. No network dispatch can fire. |
| Layer 2 โ Gateway (server-side, synchronous) | On every request, the Gateway evaluates the privacy policy claim from the token. If the policy forbids the requested route (e.g., local-only with a non-local route, or mesh-ok with a cloud route), the request is rejected with a 403 before any dispatch. |
| Layer 3 โ Node daemon (node-side, before decryption) | Before decrypting the task envelope, the node verifies the requester's privacy policy. If the node's local configuration conflicts with the requester's policy (e.g., a local-only node receiving a cross-org task), the node NACKs the task without decrypting it. The plaintext result is encrypted before transmission. |
Identity-bound compute metering & DIU economics
Every metering event, DIU spend record, DIU issuance event, and settlement log carries the full identity chain of the requesting identity and serving node. There is no anonymous inference in the Distributed Intelligence Stack.
Identity fields in every metering event
Every metering event carries the full identity chain of both the requester and the serving node. The requester fields include the user identity, org ID, subscription tier, and privacy policy. The serving node fields include the node ID, device ID, owner identity, and DIU wallet reference. Economic fields record the DIU spend and issuance amounts. All fields are required and verified โ there is no anonymous inference in the Distributed Intelligence Stack.
Identity-bound DIU spend rules
| Spend attribution | DIU spend is always debited from the requester's OrgID wallet (or personal wallet for solo users). The identity in the token is the billing identity โ not the caller's IP or API key. |
| Spend cap enforcement | If subscription_tier == "developer", spend is capped at 500 DIU/month. Exceeding the cap blocks dispatch (402). Cap is checked synchronously at the Gateway using the token's subscription_tier claim. |
| Overage | Growth/Enterprise tiers may configure overage: additional DIU debited beyond plan cap at overage rate. Overage is attributed to the identity, not the API key. |
Identity-bound DIU issuance rules
| Issuance attribution | DIU is always issued to the NodeID's owner UserID DIU wallet. If the node is org-operated, DIU flows to the org wallet (OrgID-bound). |
| Sybil prevention | A single UserID cannot own an unbounded number of NodeIDs simultaneously (enforced by Identity Service). This prevents artificial reputation inflation via self-dealing. |
| Self-dealing prevention | When the requester is also the serving node owner, the quality multiplier is capped (no elite bonus for self-served tasks). |
Cross-system identity flow map
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DOSFI IDENTITY SERVICE โ
โ identity.dosfi.ai ยท OAuth 2.0 + OIDC โ
โ โ
โ Authorities: UserID ยท DeviceID ยท NodeID ยท AgentID ยท OrgID โ
โ Endpoints: /signup ยท /devices/bind ยท /agents/deploy ยท /recover โ
โ Protocols: Ed25519 JWT ยท DPoP (RFC 9449) ยท mTLS ยท PKCE โ
โโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ OIDC token propagated to all systems
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ DOSFI.ai โ โ MeshInfer.AI โ โ MeshNative โ
โ โ โ โ โ Exchange โ
โ Runtime โ โ Gateway โ verifies sub, device_id, โ โ โ
โ Scheduler โ โ node_id, privacy_policy โ โ DIU wallet โ
โ Identity โ โ Router โ enforces subscription_tier โ โ debited by โ
โ gate โ โ Meter โ attributes spend to sub โ โ org_id from โ
โ Privacy โ โ Issuer โ attributes issuance to โ โ token โ
โ model โ โ node owner sub โ โ โ
โ Storage โ โ Settlement โ carries full identity โ โ Issuance โ
โโโโโโโโโโโโโโโโ โ chain in every log record โ โ credited to โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ node_id โ
โ owner sub โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DosfiAcademy.com โ โ DosfiUniversity.com โ
โ โ โ โ
โ sub โ student account โ โ sub โ candidate profile โ
โ enrolled_courses โ gate โ โ certification_tier โ gate โ
โ Lab environments tied โ โ Architect claims added โ
โ to sub; DIU metering โ โ to token on exam pass โ
โ in SDK labs uses same โ โ Enterprise org certs โ
โ identity + wallet โ โ scoped to OrgID claim โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ All 20 Mesh Nodes
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ MESH NODE LAYER (20 nodes) โ
โ โ
โ Each node: โ
โ โโ Presents DeviceCert (DOSFI-signed Ed25519) on mTLS connect โ
โ โโ Verifies incoming task token against DOSFI JWKS before execution โ
โ โโ Enforces privacy_policy claim before decrypting prompt โ
โ โโ Signs heartbeats with DeviceID Ed25519 private key โ
โ โโ Attributes all earned DIU to NodeID โ owner UserID wallet โ
โ โโ Writes settlement + health events with full identity metadata โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Agent identity security
Agents are first-class identity principals. Each deployed agent receives a dedicated @dosfi.ai identity and is authorized to invoke MeshInfer inference under its owner's privacy and tier policy.
Agent identity binding
| AgentID format | agentname@dosfi.ai (personal) ยท agentname@company.dosfi.ai (enterprise) |
| Deployment gate | Agent deployment requires MFA confirmation from the owning UserID. No agents can be deployed without explicit human authorization. |
| Inference authority | Agents inherit the owner's subscription_tier and privacy_policy claims. An agent cannot request routing or privacy tiers exceeding those of its owner. |
| Signing | Every alert, summary, and inference result produced by an agent is signed with the agent's Ed25519 private key. Recipients can verify the signature offline using the published agent public key at identity.dosfi.ai/agents/{agentname}. |
| Revocation | Owner can revoke any agent identity at identity.dosfi.ai/agents. Revocation propagates to all five systems within 5 s. All in-flight agent inference requests are cancelled. |
Agent DIU accounting
| Spend attribution | Agent inference spend is debited from the owner UserID's DIU wallet. Agents do not have independent wallets. |
| Spend visibility | The metering event records both the AgentID and the owner UserID, so per-agent spend can be reported separately in the usage dashboard. |
| Audit | Every agent action is written to AuditLog with agent_id and owner_user_id. Agents cannot perform unattributed operations. |
Enterprise identity โ org-scoped namespaces
Org namespace provisioning
Enterprise admin identity.dosfi.ai All five systems
โ โ โ
โโโ Hardware MFA challenge โโโโโโบโ โ
โโโโ challenge signed โโโโโโโโโโโโ โ
โ โโโ provision OrgID namespace:
โ โ company.dosfi.ai
โ โโโ create admin@company.dosfi.ai
โ โโโ issue org root Ed25519 keypair
โ โโโ register org DIU wallet (OrgID-bound)
โ โ โ
โ โโโ PROPAGATE โโโโโโโโโโโโโบโ
โ โ event: org_created โ
โ โ { org_id, admin_id, โ
โ โ org_namespace } โ
โโโโ org provisioned โโโโโโโโโโโโ โEnterprise permission mapping โ across all systems
Cross-org request boundary
| Default | All inference requests from an OrgID are isolated to that org's routing pool. Cross-org task dispatch is blocked at the Gateway. |
| mesh_ok override | Org admin can enable mesh_ok policy at the org level. This allows any org member's requests to be served by any mesh node โ still encrypted end-to-end. |
| Cryptographic enforcement | Org boundary is enforced by the OrgID claim in the OIDC token. Forging an org boundary crossing requires forging an Ed25519-signed JWT โ computationally infeasible. |
