pulseproof-sentinel

PPS FAQ

This is the FAQ for PulseProof Sentinel Protocol, abbreviated PPS.

PPS is experimental and not audited.


1. What is PPS?

PulseProof Sentinel Protocol is an experimental authentication protocol that uses signed, time-bound, asymmetric proofs instead of shared-secret OTP codes.

A PPS authentication artifact is called a Pulse.


2. Is PPS a replacement for TOTP?

PPS can replace TOTP in many OTP-style flows, especially where stronger security or transaction binding is needed.

However, PPS is more complex than TOTP.

For very simple low-risk 2FA, TOTP may still be acceptable.


3. Is PPS a replacement for WebAuthn/FIDO2?

No.

PPS is not intended to replace WebAuthn/FIDO2.

WebAuthn is preferred for browser-based passkey authentication.

PPS is designed for operational gaps such as:


4. Why not just use WebAuthn?

WebAuthn is excellent, but it is not always available or suitable.

PPS is useful when you need:


5. Is PPS phishing-resistant?

PPS can be strongly phishing-resistant when the full Pulse Token is transmitted through a bound channel, such as QR code, deep link, or authenticated API.

Manual Trust Code entry is weaker.

If only a short numeric Trust Code is typed, security depends heavily on rate limiting and code length.


6. Is the 6-digit or 8-digit Trust Code secure by itself?

No.

Short human-enterable codes have limited entropy.

Approximate entropy:

6 digits  = about 19.9 bits
8 digits  = about 26.6 bits
10 digits = about 33.2 bits
12 digits = about 39.9 bits

The full Pulse Token is strongly preferred.

Trust Code fallback should be protected by strict rate limiting.


7. What happens if the server database is breached?

PPS stores only public keys on the server.

A database breach does not reveal private keys or shared OTP secrets.

An attacker with only public keys cannot generate valid Pulses.

However, an attacker with write access may disrupt service or modify state, so server integrity remains important.


8. Does PPS work offline?

Yes.

PPS can generate Pulses offline.

Offline mode may omit the server nonce.

Offline security relies more on:

Online nonce-bound mode is preferred when possible.


9. What is AmountMark?

AmountMark embeds a two-digit transaction checksum into the Trust Code.

Example:

Amount: 2,500,067 IRR
Trust Code: 49371867

The last two digits, 67, come from the amount.

This helps users detect transaction tampering.


10. What is a Honey-Pulse?

A Honey-Pulse is a valid Pulse signed by a hidden duress key.

It indicates that the user may be under coercion.

The server returns an outwardly normal response but may internally restrict the account or trigger a silent alert.


11. Can PPS detect duress?

PPS provides a mechanism for silent duress signaling.

It cannot guarantee user safety.

Duress flows must be designed carefully.

The server must not reveal duress detection to the attacker.


12. What is threshold mode?

Threshold mode allows multiple devices to approve the same Pulse.

Example:

2-of-2: phone + watch

PPS version 1 uses n-of-m Ed25519 multisignature.

Future versions may define FROST or other threshold signature schemes.


13. Is threshold mode the same as FROST?

No.

PPS version 1 threshold mode is multisignature:

multiple independent Ed25519 signatures

FROST is a true threshold signature scheme.

FROST may be added in a future PPS profile.


14. Is PPS post-quantum secure?

The mandatory profile uses Ed25519.

Ed25519 is not believed to be secure against large-scale quantum computers.

PPS defines algorithm identifiers to allow future post-quantum or hybrid profiles.


15. Can I implement PPS in PHP, JavaScript, or Python?

Yes.

PPS is designed to be technology-neutral.

You need:

Recommended libraries:

Language Libraries
PHP ext-sodium, paragonie/sodium_compat, spomky-labs/cbor-php
JavaScript @noble/ed25519, @noble/hashes, cbor-x
Python cryptography, cbor2
Go crypto/ed25519, fxamacker/cbor
Rust ed25519-dalek, ciborium

16. Is PPS standardized?

PPS is currently an experimental individual Internet-Draft:

draft-hezami-pulseproof-sentinel

It is not yet an RFC.

Datatracker:

https://datatracker.ietf.org/doc/draft-hezami-pulseproof-sentinel/

17. Is PPS production-ready?

No.

PPS is experimental.

It has not been independently audited.

Do not use it in production without proper review.


18. Is PPS patentable?

This project does not assert patentability.

Many underlying ideas have prior art, including:

PPS is a protocol profile combining known techniques.

Anyone considering patents should perform prior-art searches and obtain legal advice.


19. Is there a name collision?

There may be existing products or projects using similar names.

This project is independent.

If naming conflicts become a problem, the protocol or project may be renamed in the future.


20. Why version 1 and not version 2?

The protocol version was simplified to version 1 for the initial public specification.

The Internet-Draft revision is separate.

For example:

Protocol version: 1
Internet-Draft revision: 00

21. What is the difference between protocol version and draft revision?

Protocol version appears inside the protocol fields:

version = 1

Internet-Draft revision appears in the draft name:

draft-hezami-pulseproof-sentinel-00
draft-hezami-pulseproof-sentinel-01

They are independent.


22. Can PPS be used for banking or crypto exchanges?

PPS may be suitable for transaction signing, but it is experimental.

For banking or crypto exchanges, use only after:


23. Does PPS require a hardware token?

No.

PPS can be implemented in software.

However, secure hardware is strongly recommended for private key storage.

Examples:


24. Does PPS require biometrics?

No.

Biometrics are optional.

A policy may require biometric confirmation if supported by the authenticator.


25. How can I contribute?

You can contribute by:

See CONTRIBUTING.md.