Electronic Signatures
Sign leases electronically with eIDAS-compliant advanced electronic signatures.
FairePlace provides a built-in electronic signature workflow that handles OTP verification, document signing, certificate embedding, and tamper-proof proof archival — no third-party signature service needed.
How it works
Code
Each signer goes through the following flow:
Code
Signer types
| Type | Description |
|---|---|
PROPRIETAIRE | Property owner — signs first |
LOCATAIRE | Tenant — signs after the owner |
AGENT_IMMOBILIER | Real estate agent — can sign on behalf of the owner |
Starting a signature
Prerequisites
- A lease with status
DraftorActive - A generated PDF for the lease (see Create a Lease, step 8)
- At least 1 signature credit (see Payments & Credits)
Initiate the signature
Code
Code
The first signer (Proprietaire) immediately receives an OTP via SMS.
Signature statuses
Overall signature status
| Status | Description |
|---|---|
Pending | Signature initiated, waiting for signers |
InProgress | At least one signer has started |
Completed | All signers have signed successfully |
Failed | A signer failed (wrong OTP, rejected) |
Expired | Signature expired before completion (14 days default) |
Cancelled | Signature was cancelled by the initiator |
Individual signer status
| Status | Description |
|---|---|
Pending | Waiting for their turn (signers sign in order) |
OtpSent | OTP sent via SMS, waiting for validation |
Signing | OTP validated, signer is drawing their signature |
Completed | Signature captured and embedded |
Failed | OTP validation failed (3 attempts max) |
Expired | OTP expired (5 minutes validity) |
Checking status
Poll the signature status to track progress:
Code
Code
Tip: Use webhooks to get real-time notifications instead of polling. See Payments & Credits for webhook configuration.
Downloading the signed document
Once status is Completed:
Code
The signed PDF includes:
- Each signer's drawn signature on the signature pages
- An embedded digital certificate (PAdES-B format)
- A tamper-proof seal — any modification invalidates the document
Retrieving the proof certificate
The proof file provides a legally admissible record of the signing process:
Code
Code
Cancelling a signature
Cancel a pending or in-progress signature:
Code
Cancelling does not refund the signature credit.
eIDAS compliance
FairePlace electronic signatures meet the Advanced Electronic Signature (AdES) level under the EU eIDAS regulation:
| Requirement | Implementation |
|---|---|
| Uniquely linked to signer | OTP sent to signer's personal mobile phone |
| Capable of identifying signer | Identity verified via phone number + email |
| Under sole control of signer | OTP valid for 5 minutes, 3 attempts max |
| Linked to data integrity | PAdES-B embedded signature with SHA-256 hash |
| Certificate Authority | Certinomis (French qualified trust service provider) |
| Timestamp | Qualified timestamp from Certinomis TSA |
| Proof archive | JSON proof file with all verification details |
When things go wrong
Real integrations hit edge cases. Here's how to handle each one.
OTP not received
The signer didn't get the SMS within 60 seconds.
- Verify the phone number is in international format (
+33612345678, not0612345678) - Confirm it's a mobile number (landlines can't receive SMS)
- Resend the OTP:
Code
The previous OTP is immediately invalidated.
Wrong OTP entered (3 attempts max)
After 3 failed attempts, the OTP is locked for 5 minutes:
Code
What to do: Wait for the lockout to expire, then resend a new OTP. Don't retry the same code.
Signature expired (14-day default)
If signers don't complete within 14 days, the entire signature process expires.
What to do:
- The signature credit is consumed (not refunded)
- Regenerate the PDF if lease data changed:
POST /leases/{id}/pdf - Initiate a new signature:
POST /leases/{id}/signature/initiate - This consumes another credit
Insufficient credits
Code
What to do: Purchase credits via POST /credits/checkout. See Payments & Credits.
Signer order matters
Signers sign in order. The owner (PROPRIETAIRE) must sign before the tenant (LOCATAIRE). If you list the tenant first, the owner still signs first — the API enforces the legal signing order.
Concurrent signature attempts
You cannot initiate a new signature while one is already in progress for the same lease. Cancel the existing one first:
Code
Error handling
Insufficient credits
Code
Fix: Purchase credits via Payments & Credits.
OTP expired
If a signer's OTP expires, you can resend it:
Code
Invalid phone number
Code
Known limitations
- No bulk signing — Each lease requires a separate signature initiation. No batch API.
- SMS only — OTP delivery is SMS-only. No email, WhatsApp, or authenticator app support.
- French mobile numbers preferred — International numbers work but delivery is not guaranteed for all carriers.
- 14-day expiration — Not configurable. After 14 days, the signature expires and a new one must be initiated.
- No partial signatures — If 1 of 2 signers completes but the other doesn't, the entire process expires. The completed signer must re-sign.
- Credit consumed on initiation — Credits are consumed when the signature is initiated, not when it's completed. Expired or cancelled signatures are not refunded.
Related
- Create a Lease End-to-End — Full workflow including signature
- Payments & Credits — Purchase signature credits
- Leases API — PDF generation and signature endpoints