C'est quoi ?
OpenSign est une application web de signature de PDF, que son dépôt présente comme « l'alternative libre et gratuite à DocuSign ». Le client est écrit en React, le serveur en Node.js sur Parse Server et MongoDB. On dépose un PDF ou un DOCX, on place les champs (signature, paraphe, tampon, date, case à cocher...), et chaque destinataire reçoit par e-mail un lien pour signer dans le navigateur. Quand le dernier a signé, le serveur scelle le PDF avec le certificat de l'instance et produit un certificat de fin de signature, signé lui aussi : l'empreinte SHA-256 du document, puis l'e-mail, l'adresse IP et les heures de consultation et de signature de chaque signataire.
Documenso suit le même parcours en TypeScript sur PostgreSQL, DocuSeal en Ruby on Rails. Pour écrire la signature dans le PDF, OpenSign s'appuie sur @signpdf, une bibliothèque Node.js.
Le comparatif des outils de signature électronique open source met en regard la signature qu'OpenSign appose et ce que réservent ses offres payantes.
Pourquoi c'est intéressant ?
- Des signataires sans compte : l'expéditeur peut exiger un code à usage unique, envoyé par e-mail, avant la signature, et imposer un ordre strict qui bloque chaque signataire tant que les précédents n'ont pas signé.
- Plusieurs façons de signer : tracé à la main, image importée, texte tapé ou signature enregistrée. Un document peut expirer après un nombre de jours, et le signataire peut le refuser en donnant un motif, que l'expéditeur reçoit.
- Le DOCX à l'import : l'image Docker du serveur embarque LibreOffice, qui convertit le fichier en PDF. Une instance auto-hébergée accepte des fichiers de 80 Mo, le cloud 10 Mo.
- Plusieurs utilisateurs sur sa propre instance : la gestion des utilisateurs, que le cloud réserve aux formules Teams et Enterprise, fait partie de la version auto-hébergée.
- Modèles, dossiers et e-mails : modèles réutilisables, espace de rangement « OpenSign Drive », éditeur des e-mails d'invitation et de fin de signature, et une page qui lit les signatures de n'importe quel PDF déposé.
- Interface en français, parmi sept langues.
À savoir
Le certificat de la configuration par défaut est public et expiré. La commande d'installation du README copie le fichier .env.local_dev du dépôt en .env.prod. Ce fichier contient déjà, dans PFX_BASE64, un certificat auto-signé au nom d'OpenSign Labs, expiré depuis le 16 novembre 2024, avec sa phrase de passe, opensign : sa clé privée est à la portée de quiconque lit le dépôt. Tant qu'on ne remplace pas cette variable, l'instance signe avec ce certificat. Pour la coche verte d'Acrobat, la documentation renvoie à un certificat acheté auprès d'une autorité de l'Adobe Approved Trust List. Le même fichier fixe la MASTER_KEY de Parse Server, qui donne accès à toutes les données, et la documentation prévient que MongoDB tourne sans authentification : son port ne doit pas être exposé à Internet.
Une signature CMS, sans horodatage. OpenSign garde le sous-filtre par défaut de @signpdf, adbe.pkcs7.detached : une signature CMS, pas PAdES. L'heure inscrite vient de l'horloge du serveur, et le code public n'appelle aucune autorité d'horodatage. La signature, apposée une seule fois, porte le nom « OpenSign » ; les signataires n'apparaissent que dans son motif et dans le certificat de fin de signature. OpenSign se dit conforme à l'ESIGN Act, à UETA et au règlement eIDAS, sans préciser le niveau eIDAS de sa signature.
L'API et les webhooks passent par le cloud payant. La documentation décrit une API REST en trois versions (v1, v1.1, v1.2) et des webhooks. Un jeton d'API ou un webhook « Live » exige la formule Professional ou Teams, et chaque document créé par l'API consomme des crédits. Le code public n'implémente ni cette API ni l'envoi de webhooks. Le cloud gratuit n'a pas de limite de signatures, et le sous-domaine personnalisé est réservé à l'offre Enterprise.
AGPL-3.0, sauf un dossier. Le fichier LICENSE place le dépôt sous AGPL-3.0, à l'exception du dossier apps/OpenSignServer/cloud/customRoute (conversion DOCX, déchiffrement des PDF protégés, suppression de compte), soumis à « la licence définie » dans ce dossier, qui n'en contient aucune. GitHub n'y reconnaît pas de licence et affiche NOASSERTION.
Un dépôt public alimenté par une édition privée. OpenSign a publié 83 versions depuis novembre 2023, dont 11 en 2026. La dernière, la 2.41.3, date du 21 août 2026, et aucun commit n'a été poussé depuis. Ses fusions récentes viennent de branches sync-to-public_repo du compte nxglabs, et les notes de la 2.39.0 renvoient au dépôt nxglabs/OpenSign-Enterprise, qui n'est pas public. Les notes de version décrivent aussi cette édition : le code d'accès par destinataire annoncé dans la 2.41.0 est absent du code public, et un commentaire du serveur précise que le rôle d'approbateur ne compte que dans l'édition « EE ».
