Quickstart

Sign your first document hash using SecureSign Mobile App or Desktop Software.

Platform Overview Mobile App and Desktop Software (same securesign:// deep link) MOBILE PATH DESKTOP PATH Browser 1 Portal 2 Hash DEEP LINK 3 securesign://sign ?requestId&hashBase64 4 Mobile App 5 DSC Token CALLBACK callbackUrl?ss_result=... Browser JS 1 Portal DEEP LINK 2 securesign://sign opens Desktop Software 3 Token, cert, PIN callbackUrl 4 Desktop Software 5 DSC Token signatureBase64 to browser Product UI (both paths) Mobile App DSC Rajesh K. 4A3B..1D PIN Sign with DSC Narrow phone — Android / iOS Desktop Software DSC Sign Rajesh K. | 4A3B2C1D valid 2027 Sign with DSC Wide window — Windows / Linux / macOS No public SDK — Mobile App + Desktop Software only | Enterprise SDK: contact enterprise@toolsbots.com
One deep link for mobile and desktop — securesign://sign

Step 1 — Get API Key

Log in to the SecureSign Admin Console and create an API key. Use test keys (ss_test_...) in development and live keys (ss_live_...) in production.

Authorization: Bearer ss_live_abc123xyz
X-SecureSign-Api-Key: ss_live_abc123xyz

Step 2 — Register Domain

Add your portal origin (e.g. https://portal.example.gov.in) to the domain whitelist. Deep-link callbacks are rejected if the origin is not registered.

Step 3 — Sign a Hash

Generate a SHA-256 hash of your document on your server, then redirect the browser to the SecureSign deep link. Use the same link on mobile and desktop — the OS opens Mobile App or Desktop Software automatically.

const params = new URLSearchParams({
  requestId: crypto.randomUUID(),
  hashBase64: sha256Base64,
  hashAlgo: 'SHA256',
  documentType: 'hash',
  callbackUrl: 'https://portal.example.gov.in/sign/callback',
  apiKey: 'ss_live_abc123xyz'
});
window.location.href = `securesign://sign?${params}`;

Step 4 — Handle Response

After the user completes PIN authentication in SecureSign Mobile App or Desktop Software, your callbackUrl receives the signed payload:

{
    "requestId": "a1b2c3d4e5f6",
    "success": true,
    "signatureBase64": "MEUCIQDxxx...",
    "certificate": {
        "subjectCN": "Rajesh Kumar",
        "serialNumber": "4A3B2C1D",
        "validTo": "2027-01-01"
    },
    "signedAt": "2026-06-22T10:30:00Z"
}

Upload signatureBase64 to your backend and complete the portal-specific signing workflow.