MeshKit
Security

Threat Model

MeshKit trust boundaries and major risks.

Use this page to reason about what MeshKit protects, what it detects, and what your application or operator still owns.

Trust Boundaries

BoundaryTrusted forNot trusted for
MeshKit CoreEnvelope encryption, key wrapping, fail-closed checksProtecting plaintext after app code receives it
Provider byte storeStoring encrypted bytesPlaintext confidentiality
Metadata serviceProofs, capsules, mailboxes, sync records, logsHiding all relationship metadata
GatewayReturning bytes for a CIDAuthorization or plaintext integrity without CID verification
Identity directoryResolving public keysProving user intent unless your app verifies it
Policy providerExternal authorization decisionsDecrypting when unavailable or denied
Runtime key vaultLocal identity protectionStronger guarantees than the actual platform bridge provides

Main Risks

RiskMeshKit behaviorApplication/operator responsibility
Wrong bytes from provider or gatewayVerify CID before decryptingUse trusted providers and monitor failures
Provider sees sensitive metadataEncrypt content, but metadata may remain visibleKeep secrets out of metadata and design retention policy
Recipient key mismatchFail when key unwrap failsVerify contacts and identity bindings
Stale or revoked shareFail closed on future opensCommunicate revocation limits
Policy provider unavailableFail closed for policy-backed opensOperate policy service reliably
Token leakageAvoid returning secretsRedact logs, CI, support bundles, and config dumps
Mobile bridge missingFall back or report weaker capabilitiesTest production builds and document guarantees

Share Open Flow

What To Test

  • Wrong CID or gateway bytes are rejected before plaintext.
  • Missing metadata prevents unsafe opens.
  • Missing recipient key fails.
  • Expired and revoked shares fail.
  • Policy-denied shares fail closed.
  • Telemetry and support output redact secrets.
  • Runtime bridge absence changes reported capabilities.

Next Steps

On this page