Security context

Normalized context your backend receives after SecureLink verification.

After securelink.verify(...) succeeds, you get a SecurityContext — not business data, just security metadata.

interface SecurityContext {
  identity: { id: string; type: "anonymous" | "user" | "device" | "installation" };
  identityType: IdentityType;
  authMode: "anonymous" | "customAuth";
  authorizationState: "anonymous" | "authenticated" | "none";
  clientPlatform: "web" | "react-native" | "extension" | "unknown";
  applicationInstallation?: string;
  deviceId?: string;
  requestMetadata: { requestId: string; timestamp: number; /* ... */ };
  proofVerificationResult: boolean;
  protocolVersion: string;
  securityMetadata: Record<string, unknown>;
  ip?: string;
}

Use it to authorize your business handlers:

const ctx = await securelink.verify(incoming);
if (ctx.authMode === "customAuth" && ctx.identity.type !== "user") {
  // reject
}
return myBusinessLogic(ctx.identity.id);