Platform proofs

App Attest, Play Integrity, and extension installation proofs.

Platform proofs answer: “Is this request coming from a real app / install we trust?”

They are independent of auth mode. Turn them on or off with config.

Mobile

  • iOS — Apple App Attest (app-attest)
  • Android — Play Integrity (play-integrity)
createReactNativeSecureLink({
  attestationEnabled: true, // default
  getAttestationToken: async (challenge) => nativeModule.attest(challenge),
  // ...
});

Failed proof → server responds 403 Forbidden (PROOF_INVALID).

Extension

Each install gets a keypair. Requests include an installation proof bound to method/path/body.

createExtensionSecureLink({
  installationProofEnabled: true,
});

Web

No App Attest by default. Edge bot/browser challenges (e.g. Cloudflare) remain your infrastructure.

Server verification

createSecureLinkServer({
  attestation: {
    enabled: true,
    verifier: myProofVerifier, // optional custom verifier
  },
});