Critical actions
- People see the operation and its values
- Passkey or phone with a code
- A signed receipt, verifiable outside the service
MFA · ProofFlow
ProofFlow is AuthGuard’s MFA for what matters. The confirmation is bound to the exact operation the person sees, given with a passkey or on the phone with the comparison code, decided once and kept in a signed receipt you can verify offline. For everyday sign-in, passkeys, phone approval, TOTP and HOTP cover the browser, Windows and the VPN.
Watch
Narrated in English, with English and Portuguese subtitles. Real product screens; people, organisations and amounts are fictitious.
ProofFlow · how it works
AuthGuard’s own technology, used in the console, for application sign-in, for privileged access and for requests from your other systems.
The server writes the request in a canonical form with the operation, its fields and its deadline. A SHA-256 digest covers the whole request.
The six digits are derived from the digest. On the phone, the person types the code the screen shows; three wrong codes decline the request. If the request is swapped, the codes no longer match.
The passkey signs that digest and nothing else. Phone approval is confirmed with biometrics or a PIN.
In the console, the authorisation expires after two minutes and is consumed only once, with the policy evaluated again at that moment. The decision goes into a receipt signed with ML-DSA-65, plus Ed25519 in hybrid mode.
Common MFA vs ProofFlow
The generic push-MFA pattern confirms that someone is signing in. ProofFlow confirms what is about to happen, and leaves proof.
| Criterion | Common MFA (push notification) | ProofFlow |
|---|---|---|
| What the person sees | A notice that someone is signing in, sometimes with the application and location. | The operation. In the console, every field: amount, destination, reference. On the phone, the operation, who requested it and the reference. |
| What the approval is bound to | The session that is signing in. | The canonical request and its SHA-256 digest. A confirmation given to another request does not count. |
| Phishing and approval fatigue | A plain yes/no can be accepted out of fatigue; number matching reduces that risk. | With a passkey, it resists phishing. On the phone, the person types the six-digit code from the screen, and three mistakes decline the request. |
| Proof afterwards | Usually a sign-in log entry at the provider. | A receipt signed with ML-DSA-65 (plus Ed25519 in hybrid mode), verifiable outside the service with the installation’s public keys. |
| Where it is used | Mostly at sign-in. | Application sign-in, payments, access changes, administrative actions and requests from other systems through the intents API. |
Compared with the generic push-MFA pattern; each product implements it in its own way.
Marta starts her Windows laptop: she types her password and, on her phone, the number the screen shows. Mid-morning she starts the VPN and approves Connect to Lisbon VPN.
In the afternoon, the ERP asks her to approve paying invoice INV-42. She checks the amount and destination in the console, confirms with her passkey, and the ERP receives a signed receipt before it pays.
The other factors
Pilot
A payment, an access change or an administrative task with ProofFlow, and passkeys or phone approval for the rest of the team. We define the policy and the recovery path with you.
geral@authguard.pt