[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-175":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":48,"lastSyncTime":49,"discoverSource":50},175,"OpenSign","OpenSignLabs\u002FOpenSign","OpenSignLabs","🔥 The free & Open Source DocuSign alternative",null,"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign","JavaScript",6502,742,34,104,0,13,37,183,39,39.61,false,"main",[25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"hacktoberfest","javascript","reactjs","mongodb","nodejs","open-source","digital-signature","e-signature","electronic-signature","esign","docusign-alternative","docusign-free","electronic-signatures","esignature","sign-pdf-files","document-signing","legaltech","pdf-sign","pdf-signature","self-hosted","2026-06-12 02:00:09","\u003Ch1 align=\"center\">\u003Ca href='https:\u002F\u002Fwww.opensignlabs.com'>\u003Cimg src=https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F5486116\u002Fe518cc9c-5de3-47da-950b-f93336b9f14e>\u003C\u002Fa>\n\u003C\u002Fh1>\u003Cdiv align=\"center\">\n\n[The free and open source alternative to DocuSign](https:\u002F\u002Fwww.opensignlabs.com)\n\n[![Average time to resolve an issue](http:\u002F\u002Fisitmaintained.com\u002Fbadge\u002Fresolution\u002Fopensignlabs\u002Fopensign.svg)](http:\u002F\u002Fisitmaintained.com\u002Fproject\u002Fopensignlabs\u002Fopensign \"Average time to resolve an issue\")\n[![All Contributors](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fall-contributors\u002Fopensignlabs\u002Fopensign?color=ee8449&style=flat-square)](#contributors)\n![GitHub commit activity (branch)](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcommit-activity\u002Fw\u002Fopensignlabs\u002Fopensign)\n![GitHub last commit (by committer)](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fopensignlabs\u002Fopensign)\n\n\n\u003Ca href=\"https:\u002F\u002Fwww.opensignlabs.com\u002F\">Website\u003C\u002Fa>\n  \u003Cspan>&nbsp;&nbsp;•&nbsp;&nbsp;\u003C\u002Fspan>\n  \u003Ca href=\"https:\u002F\u002Fdocs.opensignlabs.com\">Help Docs\u003C\u002Fa>\n  \u003Cspan>&nbsp;&nbsp;•&nbsp;&nbsp;\u003C\u002Fspan>\n    \u003Ca href=\"https:\u002F\u002Fdocs.opensignlabs.com\u002Fdocs\u002FAPI-docs\u002Fopensign-api-v-1\">API Docs\u003C\u002Fa>\n  \u003Cspan>&nbsp;&nbsp;•&nbsp;&nbsp;\u003C\u002Fspan>\n  \u003Ca href=\"https:\u002F\u002Fwww.opensignlabs.com\u002Fblog\">Blog\u003C\u002Fa>\n  \u003Cspan>&nbsp;&nbsp;•&nbsp;&nbsp;\u003C\u002Fspan>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.com\u002Finvite\u002Fxe9TDuyAyj\">Discord\u003C\u002Fa>\n  \u003Cspan>&nbsp;&nbsp;•&nbsp;&nbsp;\u003C\u002Fspan>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fopensignlabs\">Twitter\u003C\u002Fa>\n  \u003Cspan>&nbsp;&nbsp;•&nbsp;&nbsp;\u003C\u002Fspan>\n  \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fopensign%E2%84%A2\u002Fabout\u002F\">LinkedIn\u003C\u002Fa>\n\n\n## The premier open source document signing solution(DocuSign alternative)\n\n---\n\u003C\u002Fdiv>\n\n### Table of Contents\n\n1. [Introduction](#introduction)\n2. [Features](#features)\n3. [Installation](#installation)\n4. [Usage](#usage)\n5. [Contribution Guidelines](#contribution-guidelines)\n6. [License](#license)\n7. [Acknowledgments](#acknowledgments)\n\n---\nPlease star ⭐ the repo to support us! 😀\n\n### Introduction\n\nWelcome to OpenSign, the premier open source docusign alternative - document e-signing solution designed to provide a secure, reliable and free alternative to commercial esign platforms like DocuSign, PandaDoc, SignNow, Adobe Sign, Smartwaiver, SignRequest, HelloSign & Zoho sign. Our mission is to democratize the document signing process, making it accessible and straightforward for everyone.\n\n---\n\n### Features\n\n- **Secure PDF E-Signing:** With the help of robust encryption algorithms, OpenSign™ ensures maximum security, privacy & compatibility. Now sign unlimited documents even on the [cloud hosted free version of OpenSign](https:\u002F\u002Fwww.opensignlabs.com\u002F).\n- **Annotate Documents:** OpenSign™ allows you to annotate PDF documents with an advanced signing pad that allows hand drawn signatures, uploaded images, typed signatures & saved signatures for the simplest open source document signing experience ever.\n- **User-Friendly Interface:** OpenSign™ was built while keeping Intuitive design in mind for ease of use. Features like \"Sign yourself\", \"Templates\", \"One click signatures\" and \"OpenSign™ Drive\" makes it stand out of the crowd and even makes it better than a lot of so-called industry leaders. OpenSign intends to provide the best document signing experience in the open source ecosystem.\n- **Multi-signer Support:** OpenSign's ability to invite multiple signers for signing along with the ability to invite by sharing signing links & being able to enforce signing in a sequence makes it the only open source solution that is fully loaded and allows it to compete head-to-head with established players in e-signature space.\n- **Email Unique Code(OTP) verification support for guest signers:** With OpenSign™, your documents are fully secure even when being signed by guest users. Guest signers can only sign the document after entering a unique code sent to their email address. \n- **\"Expiring Docs\" & \"Rejection\":** You can set documents to expire after certain number of days after which nobody will be able to sign. Not just this, OpenSign™ also allows signers to reject signing a document with a reason that will be promptly shared with the sender.\n- **Beautiful email templates:** All document signing invitations, completion notifications & reminders are formatted using great looking email templates. Not just this, you are even allowed to customise the email templates making your free document signing invitations look the way you always wanted them to be.\n- **PDF Template Creation:** OpenSign™ allows you to create and store PDF document templates for repeated use thereby saving you a lot of time & collect e-signatures seamlessly.\n- **OpenSign™ Drive:** It is a centralised secure vault for your digital documents that makes storing, signing, organizing, sharing & archieving your docs a breeze.\n- **Audit Trails & completion certificate:** Being a security focused solution, OpenSign™ makes it a top priority to save detailed logs for tracking document activities along with time-stamps, IP addresses, email IDs & phone numbers. A completion certificate is generated as soon as document is completed which contains all the document related logs for added safety.\n- **API Support:** OpenSign™ API allows seamless integration into existing systems and software. You can generate an API key from the app and refer the [official API docs](https:\u002F\u002Fdocs.opensignlabs.com\u002Fdocs\u002FAPI-docs\u002Fv1.1) to start integrating it in your existing applications.\n- **Integrations:** The open source document signing experience becomes even more seamless because of integrations with various Cloud storage systems, CRMs & enterprise platforms. We also have a Zapier integration that allows you to integrate it with virtually any application.\n\u003Cimg alt=\"Login page\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002F8016edb6-7d6e-4185-ab72-82d2c4a16032\" height='200' > \n\u003Cimg alt=\"Dash_board\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002F6e7b96f7-3154-4c25-bc1e-caf33925cc47\" height='200'>\n\u003Cimg  alt=\"Widgets\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002F7edb65bd-c265-4b3d-9758-38e79766c5c2\" height='200'>\n\u003Cimg  alt=\"Request Signature\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002F1697ae46-dcac-41c9-a081-aded25693846\" height='200'>\n\u003Cimg  alt=\"Create template\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002Fc2060fda-50f1-4116-a532-51b94b48463a\" height='200'>\n\u003Cimg  alt=\"Manage_Template\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002F90310c74-8271-49bd-8c5f-89daa5a623c4\" height='200'>\n\u003Cimg  alt=\"Folders\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002Fa52207e7-3b0e-497c-b5f6-747bc4e67918\" height='200'>\n\u003Cimg alt=\"OpenSign_Confetti\" src=\"https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FOpenSign\u002Fassets\u002F171803164\u002F8f4c6a6e-4a73-439c-9f34-f426044d0a7f\" height='200'>\n\n---\n\n### Deploy\n\nNote: The default MongoDB instance used in deployment is not persistant and will be cleared on every restart. To retain your data, configure and supply your own MongoDB connection URL.\n\n#### DigitalOcean\n[![Deploy on DigitalOcean](https:\u002F\u002Fwww.deploytodo.com\u002Fdo-btn-blue.svg)](https:\u002F\u002Fcloud.digitalocean.com\u002Fapps\u002Fnew?repo=https:\u002F\u002Fgithub.com\u002FOpenSignLabs\u002FDeploy-OpenSign-to-Digital-Ocean\u002Ftree\u002Fmain&refcode=30db1c901ab0)\n\n#### Docker\nThe simplest way to install OpenSign on your own server is using official docker images by running the following command -\n\n**Command for linux\u002FMacOS**\n``` \nexport HOST_URL=https:\u002F\u002Fopensign.yourdomain.com && curl --remote-name-all https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002Fdocker-compose.yml https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002FCaddyfile https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002F.env.local_dev && mv .env.local_dev .env.prod && docker compose up --force-recreate\n```\n**Command for Windows (Powershell)**\n```\n$env:HOST_URL=\"https:\u002F\u002Fopensign.yourdomain.com\"; Invoke-WebRequest -Uri https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002Fdocker-compose.yml -OutFile docker-compose.yml; Invoke-WebRequest -Uri https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002FCaddyfile -OutFile Caddyfile; Invoke-WebRequest -Uri https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002F.env.local_dev -OutFile .env.local_dev; Rename-Item -Path .env.local_dev -NewName .env.prod; docker compose up --force-recreate\n```\n**Command for Windows (CMD\u002FTerminal)**\n```\nset HOST_URL=https:\u002F\u002Fopensign.yourdomain.com && curl -O https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002Fdocker-compose.yml && curl -O https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002FCaddyfile && curl -O https:\u002F\u002Fraw.githubusercontent.com\u002FOpenSignLabs\u002FOpenSign\u002Fmain\u002F.env.local_dev && rename .env.local_dev .env.prod && docker compose up --force-recreate\n```\nMake sure that you have `Docker` and `git` installed before you run this command -\n\nPlease refer to the [Installation Guide](https:\u002F\u002Fdocs.opensignlabs.com\u002Fdocs\u002Fself-host\u002Fdocker\u002Frun-locally\u002F) for detailed instructions on how to install OpenSign on your system.\n\n---\n\n### Usage\n\nFor comprehensive guidelines on how to use OpenSign™, please consult our [User Manual](USAGE.md).\n\n---\n\n### Contribution Guidelines\n\nWe welcome contributions from the open-source community. For more information on how to contribute, please read our [Contribution Guidelines](CONTRIBUTING.md).\n\n---\n\n### License\n\nOpenSign is licensed under the AGPL-3 License. For more details, see the [LICENSE](LICENSE) file.\n\n---\n\n### Acknowledgments\n\nWe would like to thank all our contributors and users for their support and feedback. Special thanks to [OpenSignLabs](https:\u002F\u002Fwww.opensignlabs.com) for spearheading this initiative.\n\n---\n\n## Contributors\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n\u003C!-- prettier-ignore-start -->\n\u003C!-- markdownlint-disable -->\n\u003Ctable>\n  \u003Ctbody>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Faleksandarjakovljevic.com\u002F\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2115393?v=4?s=100\" width=\"100px;\" alt=\"Aleksandar Jakovljevic\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Aleksandar Jakovljevic\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-ajakov\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FBuilderPrid\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F106882895?v=4?s=100\" width=\"100px;\" alt=\"Priyanshu Dwivedi\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Priyanshu Dwivedi\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-BuilderPrid\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FTashuuuu\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85075827?v=4?s=100\" width=\"100px;\" alt=\"Akriti Sengar\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Akriti Sengar\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-Tashuuuu\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fparthrc\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F101104958?v=4?s=100\" width=\"100px;\" alt=\"Parth Chawande\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Parth Chawande\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-parthrc\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FRishabh-git10\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F107680241?v=4?s=100\" width=\"100px;\" alt=\"Rishabh Dewangan\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Rishabh Dewangan\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-Rishabh-git10\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FLemonDrop847\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F106615670?v=4?s=100\" width=\"100px;\" alt=\"Nitin Mishra\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Nitin Mishra\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-LemonDrop847\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Fjobinselvanose.com\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F63976083?v=4?s=100\" width=\"100px;\" alt=\"Jobin Selvanose\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Jobin Selvanose\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#doc-Jobin-S\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FHansF\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1503?v=4?s=100\" width=\"100px;\" alt=\"Hans Fraiponts\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Hans Fraiponts\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#doc-HansF\" title=\"Documentation\">📖\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"http:\u002F\u002Flinktr.ee\u002Fmonilprajapati\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F99136041?v=4?s=100\" width=\"100px;\" alt=\"Monil Prajapati\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Monil Prajapati\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-Monilprajapati\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Femm-dev0.github.io\u002Fportfolio\u002F\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F97445413?v=4?s=100\" width=\"100px;\" alt=\"Edogbanya Emmanuel\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Edogbanya Emmanuel\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#bug-Emm-dev0\" title=\"Bug reports\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpranav514\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F76992202?v=4?s=100\" width=\"100px;\" alt=\"pranav514\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>pranav514\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-pranav514\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Farianxq\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F122199576?v=4?s=100\" width=\"100px;\" alt=\"Aria\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Aria\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-arianxq\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FSoumyadiptoPal\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F119007659?v=4?s=100\" width=\"100px;\" alt=\"Soumyadipto Pal\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Soumyadipto Pal\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-SoumyadiptoPal\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAndreyCurious\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F105622604?v=4?s=100\" width=\"100px;\" alt=\"Andrey Didenko\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Andrey Didenko\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-AndreyCurious\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FVishakhaSainani\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F113436770?v=4?s=100\" width=\"100px;\" alt=\"VishakhaSainani\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>VishakhaSainani\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-VishakhaSainani\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fandrew-opensignlabs\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F148278535?v=4?s=100\" width=\"100px;\" alt=\"Andrew\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Andrew\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-andrew-opensignlabs\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frishabjasrotia\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F33950743?v=4?s=100\" width=\"100px;\" alt=\"Rishab\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Rishab\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-rishabjasrotia\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fsession.it\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F327285?v=4?s=100\" width=\"100px;\" alt=\"Maurizio Pillitu\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Maurizio Pillitu\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#bug-maoo\" title=\"Bug reports\">🐛\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fluisparra.dev\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F16653744?v=4?s=100\" width=\"100px;\" alt=\"Luis Parra\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Luis Parra\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#a11y-lsprr\" title=\"Accessibility\">️️️️♿️\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FGovinda04\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F50038172?v=4?s=100\" width=\"100px;\" alt=\"Govinda Kocharekar\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Govinda Kocharekar\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-Govinda04\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fbilal.cc\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F55330484?v=4?s=100\" width=\"100px;\" alt=\"Bilal Ahmad Bhat\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Bilal Ahmad Bhat\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-crediblebilal\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n    \u003Ctr>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FVikramNagwal\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F123088024?v=4?s=100\" width=\"100px;\" alt=\"Vikram\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Vikram\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-VikramNagwal\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fugoconsonni\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F13661702?v=4?s=100\" width=\"100px;\" alt=\"ugoconsonni\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>ugoconsonni\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-ugoconsonni\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdaniel-mutwiri\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8936960?v=4?s=100\" width=\"100px;\" alt=\"Daniel Mutwiri\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Daniel Mutwiri\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-daniel-mutwiri\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FZathiel\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26553418?v=4?s=100\" width=\"100px;\" alt=\"Zathiel\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Zathiel\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-Zathiel\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002F1024mb\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F9301204?v=4?s=100\" width=\"100px;\" alt=\"1024mb\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>1024mb\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#translation-1024mb\" title=\"Translation\">🌍\u003C\u002Fa>\u003C\u002Ftd>\n      \u003Ctd align=\"center\" valign=\"top\" width=\"14.28%\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fehowe\">\u003Cimg src=\"https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F756984?v=4?s=100\" width=\"100px;\" alt=\"Eugene Howe\"\u002F>\u003Cbr \u002F>\u003Csub>\u003Cb>Eugene Howe\u003C\u002Fb>\u003C\u002Fsub>\u003C\u002Fa>\u003Cbr \u002F>\u003Ca href=\"#code-ehowe\" title=\"Code\">💻\u003C\u002Fa>\u003C\u002Ftd>\n    \u003C\u002Ftr>\n  \u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n\u003C!-- markdownlint-restore -->\n\u003C!-- prettier-ignore-end -->\n\n\u003C!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project is tested with BrowserStack.\n\n","OpenSign 是一个免费且开源的电子签名解决方案，旨在替代DocuSign等商业平台。它基于JavaScript开发，利用React.js构建用户界面，并通过Node.js和MongoDB实现后端逻辑与数据存储。项目支持安全的PDF电子签名、文档注释以及保存多种签名样式等功能，确保了文档签署过程中的安全性与隐私性。其直观易用的设计使得个人及企业用户都能轻松上手。适用于需要高效、低成本地完成合同、协议等重要文件在线签署的各种场景。",2,"2026-06-11 02:31:20","trending"]