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);