OTP Verification & Proof
Deep dive into the OTP validation flow, proof certificate format, and eIDAS compliance details.
OTP flow
Each signer goes through this sequence:
Code
OTP rules
| Parameter | Value |
|---|---|
| OTP length | 6 digits |
| Validity | 5 minutes from sending |
| Max attempts | 3 per OTP |
| Resend cooldown | 60 seconds |
| Delivery | SMS to signer's registered mobile phone |
Validate an OTP
The signer's application calls:
Code
Code
Resend an OTP
If the OTP expires or the signer didn't receive it:
Code
The previous OTP is invalidated when a new one is sent.
OTP error handling
Wrong OTP code
Code
OTP expired
Code
Max attempts exceeded
After 3 failed attempts, the signer's OTP is locked. A new OTP must be sent:
Code
Proof certificate
After all signers complete, FairePlace generates a proof certificate — a JSON document that provides a legally admissible record of the signing process.
Retrieve the proof
Code
Proof format
Code
Proof fields explained
| Section | Purpose |
|---|---|
document | SHA-256 hash of the original document — proves the signed document matches |
signers | Audit trail for each signer: when OTP was sent, validated, and when they signed |
certificate | Certificate authority details and eIDAS compliance level |
integrity | Hash chain linking the document, signatures, and proof together |
eIDAS compliance
FairePlace signatures meet the Advanced Electronic Signature (AdES) level under EU Regulation 910/2014 (eIDAS):
| eIDAS Requirement | FairePlace Implementation |
|---|---|
| Uniquely linked to signer | OTP sent to signer's personal mobile phone |
| Identifies the signer | Identity verified via email + phone number |
| Under sole control of signer | OTP valid 5 minutes, 3 attempts max, single-use |
| Detects subsequent changes | PAdES-B with SHA-256 hash — any modification breaks the seal |
| Qualified certificate | Certinomis (ANSSI-qualified trust service provider) |
| Qualified timestamp | Certinomis TSA (RFC 3161 compliant) |
Legal validity in France
Under French law (Article 1367 of the Civil Code), an electronic signature has the same legal force as a handwritten signature when it meets:
- A reliable identification process
- A link between the signature and the document
FairePlace's Advanced Electronic Signature satisfies both requirements through OTP verification and PAdES-B certificate embedding.
Troubleshooting
Signer didn't receive the SMS
- Verify the phone number is in international format (e.g.,
+33612345678) - Check that the number is a mobile phone (landlines cannot receive SMS)
- Wait 60 seconds and resend the OTP
- If the issue persists, verify the signer's phone is not in "Do Not Disturb" mode
Signature expired
Signatures expire after 14 days by default. If expired:
- Cancel the expired signature
- Generate a new PDF (if lease data changed)
- Initiate a new signature process
Proof not available
The proof certificate is only generated after all signers complete. Check GET /leases/{id}/signature/status to verify the overall status is Completed.
Related
- Electronic Signatures — Full signature workflow
- Lease Workflow — End-to-end tutorial
- Payments & Credits — Purchase signature credits