The Open, Secure, and Self-Hostable e-Signature Platform
Website • Request a Demo • Pricing • Issues
Signing documents digitally should be fast and easy and should be the best practice for every document signed worldwide. This is technically quite easy today, but it also introduces a new party to every signature: The signing tool providers. While this is not a problem in itself, it should make us think about how we want these providers of trust to work. SPACE-SIGN aims to be the world's most trusted document-signing tool. This trust is built by empowering you to self-host SPACE-SIGN and review how it works under the hood.
Join us in creating the next generation of open trust infrastructure.
- 🕊️ Create and manage secure digital signatures
- 📄 Add multiple signers and signature fields
- 🔐 Self-hosted deployment for full data control
- 🧾 Audit trail and document verification
- 💼 API integration for automated workflows
- 💳 Subscription & payment support
- 🤖 Developer-friendly architecture (Next.js + Node.js)
- 🎨 Beautiful, modern dashboard design
- Language: TypeScript
- Framework: React + Next.js
This project is licensed under the GNU Affero General Public License v3.0 only (AGPL‑3.0‑only). See LICENSE for the full text.
This repository is a fork derived from the Documenso Community Edition: https://github.com/documenso/documenso
Notes on Enterprise features
- No proprietary Enterprise Edition (EE) code is included. The directory
packages/ee/contains only non‑functional, AGPL‑licensed stubs to satisfy imports used by the Community Edition. Billing and SSO features are disabled by design.
AGPL network use (Section 13) If you interact with this software over a network, you may obtain the complete Corresponding Source at: https://github.com/pmspaceai7-wq/space-sign
Trademarks “Documenso” and any related marks are trademarks of their respective owners. Use does not imply endorsement.
- ORM: Prisma
- Styling: Tailwind CSS + shadcn/ui
- Email: React Email
- API: tRPC
- PDF Handling: PDF-Lib, React-PDF
- Payments: Stripe
To run SPACE-SIGN locally, ensure you have:
- Node.js (v22+)
- PostgreSQL
- Docker (optional)
Note: This is a quickstart for developers. It assumes that you have both Docker and Docker Compose installed.
-
Fork the repository: https://github.com/pmspaceai7-wq/space-sign
-
Clone it:
git clone https://github.com/<your-username>/space-sign cd space-sign
-
Set up environment variables:
cp .env.example .env
-
Run:
npm run dx
- This spins up a PostgreSQL database and mailserver in Docker.
-
Start development:
npm run dev
-
For a quicker setup:
npm run d
- App: http://localhost:9090
- Mail Server: http://localhost:9000
- Database Port: 54320
- S3 Dashboard: http://localhost:9001
-
Install dependencies:
npm install
-
Create
.env:cp .env.example .env
-
Configure environment variables:
NEXTAUTH_SECRET= NEXT_PUBLIC_WEBAPP_URL= NEXT_PRIVATE_DATABASE_URL= NEXT_PRIVATE_DIRECT_DATABASE_URL= NEXT_PRIVATE_SMTP_FROM_NAME= NEXT_PRIVATE_SMTP_FROM_ADDRESS= -
Create database schema:
npm run prisma:migrate-dev
-
Start app:
npm run dev
-
Register a new user at http://localhost:9090/signup
We support a variety of deployment methods, and are actively working on adding more. Stay tuned for updates!
Please note that the below deployment methods are for v0.9, we will update these to v1.0 once released.
git clone https://github.com/pmspaceai7-wq/space-sign.git
cd space-sign
cp .env.example .envSet the following environment variables:
NEXTAUTH_SECRET
NEXT_PUBLIC_WEBAPP_URL
NEXT_PRIVATE_DATABASE_URL
NEXT_PRIVATE_DIRECT_DATABASE_URL
NEXT_PRIVATE_SMTP_FROM_NAME
NEXT_PRIVATE_SMTP_FROM_ADDRESS
If you are using a reverse proxy in front of SPACE-SIGN, don't forget to provide the public URL for the
NEXT_PUBLIC_WEBAPP_URLvariable!
Install dependencies and build:
npm install
npm run build
npm run prisma:migrate-deployStart the application:
cd apps/remix
npm run startThe server runs on localhost:3000. Use a reverse proxy for frontend and SSL termination.
To run on another port:
next -p <ANY PORT>You can use a systemd service to run SPACE-SIGN. Example:
[Unit]
Description=spacesign
After=network.target
[Service]
Environment=PATH=/path/to/your/node/binaries
Type=simple
User=www-data
WorkingDirectory=/var/www/spacesign/apps/remix
ExecStart=/usr/bin/next start -p 9090
TimeoutSec=15
Restart=always
[Install]
WantedBy=multi-user.targetLocal setup uses Inbucket to catch emails:
- Web UI: http://localhost:9000
- SMTP:
localhost:2500
Run with:
docker run -it spacesign:latest npm run start -- -H ::- 🌐 Website: https://space-sign.ai
- 📄 Pricing: https://space-sign.ai/pricing
- 🗓 Request a Demo: https://space-sign.ai/request-a-demo
- 🤖 GitHub: https://github.com/pmspaceai7-wq/space-sign
SPACE-SIGN is a modified version of Documenso, licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
This project includes modifications and enhancements by SPACE-SIGN. Source code is made available under the same AGPL-3.0 license.
© 2025 Space-SIGN — All Rights Reserved.
🚀 Empowering Secure Digital Signatures with SPACE-SIGN