Where WebAuthn is preferred
For browser-based passkey authentication, phishing-resistant login, and platform authenticator flows, WebAuthn/FIDO2 remains the recommended standard.
Time-bound asymmetric authentication proofs for offline, OTP-style, transaction-signing, duress-aware, and multi-device flows.
PulseProof Sentinel Protocol, abbreviated PPS, is an experimental open authentication protocol that replaces shared-secret TOTP-style codes with signed, time-bound, asymmetric proofs called Pulses.
Instead of storing OTP secrets on the server, PPS verifiers store only public keys.
# TOTP
code = HMAC(shared_secret, time)
# Server stores:
# - shared secret
# - counter / time window
# PPS
Pulse = Sign(private_key, time + rp + nonce + counter + context + policy)
# Server stores:
# - public key only
# - no shared OTP secret
WebAuthn remains the preferred mechanism for browser-based passkey authentication. PPS targets operational gaps where WebAuthn is unavailable or insufficient.
For browser-based passkey authentication, phishing-resistant login, and platform authenticator flows, WebAuthn/FIDO2 remains the recommended standard.
PPS is designed for offline authentication, legacy OTP forms, QR/deep-link flows, constrained terminals, transaction signing, silent duress, and threshold approval.
PPS combines asymmetric proofs, deterministic CBOR encoding, and optional advanced security modules for transaction signing, duress, threshold approval, and more.
Authentication is based on signed Pulses, not shared OTP secrets.
Verifiers store only public keys, reducing server breach impact.
Pulse generation can work without a live network round-trip.
Optional key rotation helps limit exposure from key compromise.
Optional Honey-Pulse mechanism for coercion-aware authentication.
Optional offline n-of-m multi-device approval for sensitive actions.
Optional human-visible amount checksum embedded in the Trust Code.
Optional server-issued policy hash bound to each Pulse.
Optional environmental and session context binding using deterministic CBOR.
The PPS ecosystem is split into a protocol specification, a framework-agnostic PHP implementation, and a Laravel integration package.
The canonical PulseProof Sentinel Protocol specification, documentation, and protocol-level reference materials.
Framework-agnostic PHP implementation of PPS: Pulse creation, verification, storage backends, Trust Code, duress, threshold, and transaction signing.
Laravel bridge for PPS: service provider, routes, controller, facade, config, migrations, and storage integration built on top of pps-php.
A reference implementation is available in PHP as a framework-agnostic core package, plus a Laravel integration package.
| Category | Resource | Link |
|---|---|---|
| Protocol | PulseProof Sentinel Protocol repository | github.com/pps-protocol/pulseproof-sentinel |
| Protocol | Protocol website | pps-protocol.github.io/pulseproof-sentinel |
| Protocol | Specification | pps-protocol.github.io/pulseproof-sentinel/SPEC.html |
| Protocol | Documentation | pps-protocol.github.io/pulseproof-sentinel/docs |
| Protocol | IETF Internet-Draft | datatracker.ietf.org/doc/draft-hezami-pulseproof-sentinel |
| PHP Core | pps-php repository | github.com/pps-protocol/pps-php |
| PHP Core | pps-php website | pps-protocol.github.io/pps-php |
| PHP Core | pps-php documentation | pps-protocol.github.io/pps-php/docs |
| PHP Core | Packagist package | packagist.org/packages/pps-protocol/pps-php |
| Laravel | laravel-pps repository | github.com/pps-protocol/laravel-pps |
| Laravel | laravel-pps website | pps-protocol.github.io/laravel-pps |
| Laravel | Packagist package | packagist.org/packages/pps-protocol/laravel-pps |
PPS is experimental and has not been independently audited. It should not be used in production without cryptographic review, security audit, interoperability testing, and operational risk assessment.