Non-Disclosure Agreements (NDAs)
Deliver personalized, legally defensible NDAs to any counterparty in seconds using merge variables — no manual customization, no printing, no chasing signatures.
Screenshot: Personalized NDA modal with recipient name and company pre-filled, "I Agree" button visible
Before You Begin
- Decide whether this is a one-sided NDA (counterparty acknowledges only) or a mutual NDA requiring both parties to sign. Click is the right tool for one-sided acknowledgment. For mutual or countersigned NDAs, use Propper Sign instead.
- Have your NDA template text ready, with placeholders identified.
Step 1: Create a Generated Template
- Go to Click → Templates → New Template.
- Set the type to Generated — this is the only template type that supports merge variables for personalization. Static type does not support per-recipient data.
- Name it (e.g., Mutual NDA, Standard) and click Save.
Step 2: Write Content with Merge Variables
In the Content tab, write your NDA using {{variableName}} double-curly-brace syntax for any recipient-specific fields:
This Non-Disclosure Agreement is entered into as of {{effectiveDate}}
by and between Your Company, Inc. and {{companyName}} ("Receiving Party"),
represented by {{recipientName}}.
Then go to the Variables tab and define each variable: give it a name, a label your team will see when sending, a data type (text, number, date, or yes/no), and optionally a default value.
Screenshot: Variables panel showing recipientName, companyName, and effectiveDate fields with types and descriptions
Mark variables as Required in the Variables panel to prevent sessions from being created with missing data.
Step 3: Configure Acceptance
- In Content Settings, enable Require Checkbox and write a clear acknowledgment label (e.g., "I agree to the terms of this Non-Disclosure Agreement on behalf of myself and the company named above").
- Optionally enable Show Confirmation Dialog for a second confirmation step on high-stakes agreements.
Step 4: Publish and Deploy
- Click Publish. The template must be Published before it can be deployed or used via the API.
- Go to Deployments → New Deployment, set your domain and path (e.g.,
partners.yourcompany.com//nda), and activate.
Step 5: Send NDAs Programmatically
For each recipient, create a session via the Sessions API, passing the recipient's details and variable values. The API returns a session URL — email it to the recipient or embed the NDA directly in your portal using the SDK.
// After creating a session via the API, embed it with the SDK
await sdk.render(sessionId, {
containerId: 'nda-container',
onAccept: (response) => console.log('NDA accepted:', response.receiptId)
});
See the Sessions API reference for the full request and response format.
What Gets Captured as Evidence
For Generated templates, the Evidence Bundle stores:
- A personalized PDF of the exact NDA the recipient saw, downloadable at any time
- The variable values used to generate it (e.g., recipient name, company, effective date)
- IP address, browser, timestamp, and template version
- A tamper-evident record proving exactly what was displayed
The PDF is immutable and accessible from the Evidence section or via the Evidence API.
Screenshot: Evidence Bundle detail view showing generated PDF artifact, hash, and acceptance metadata
Common NDA Variables
| Variable name | Label shown to sender | Type |
|---|---|---|
recipientName | Recipient Full Name | Text |
companyName | Company Name | Text |
effectiveDate | Effective Date | Date |
confidentialityPeriod | Confidentiality Period | Text |
governingLaw | Governing Law | Text |