Skip to main content
The Non-Disclosure Agreement (NDA) sample demonstrates a common legal document template. It shows how to work with multiple parties, dates, and term durations in a professional contract format.

Complete Example

Model

The model defines the structure of an NDA:
namespace [email protected]

@template
concept NDA {
  o String disclosingParty
  o String receivingParty
  o String purpose
  o DateTime effectiveDate
  o Integer durationInMonths
}
Key Features:
  • Party Information: Both disclosing and receiving parties
  • Purpose: Description of why the NDA is needed
  • DateTime: Effective date of the agreement
  • Duration: Term length specified in months

Template

The template creates a professional NDA:
DATE: {{effectiveDate as "DD MMMM YYYY"}}

This Non-Disclosure Agreement ("Agreement") is entered into between  
**{{disclosingParty}}** and **{{receivingParty}}**.

## Purpose
The purpose of this Agreement is {{purpose}}.

## Term
This Agreement shall remain in effect for **{{durationInMonths}} months**
from the effective date.

This Agreement is effective as of the date written above.

Sincerely,  
**{{disclosingParty}}**
Key Features:
  • Date Formatting: {{effectiveDate as "DD MMMM YYYY"}} for professional date display
  • Bold Text: Uses **text** markdown for emphasis on important terms
  • Structured Sections: Clear headings for different parts of the agreement
  • Variable Substitution: Simple placeholders for party names and terms

Data

The data object provides the agreement details:
{
  "$class": "[email protected]",
  "disclosingParty": "Tech Innovators Inc.",
  "receivingParty": "John Doe",
  "purpose": "evaluating a potential business collaboration",
  "effectiveDate": "2025-02-01T00:00:00Z",
  "durationInMonths": 24
}
Key Points:
  • Fully-qualified class name includes version @0.0.2
  • DateTime in ISO 8601 format
  • Integer value for duration
  • String descriptions for parties and purpose

Generated Output

When rendered, this template produces:
DATE: 01 February 2025 This Non-Disclosure Agreement (“Agreement”) is entered into between
Tech Innovators Inc. and John Doe.

Purpose

The purpose of this Agreement is evaluating a potential business collaboration.

Term

This Agreement shall remain in effect for 24 months from the effective date. This Agreement is effective as of the date written above. Sincerely,
Tech Innovators Inc.

Usage

import { TemplateMarkTransformer } from '@accordproject/markdown-template';

const MODEL = `namespace [email protected]

@template
concept NDA {
  o String disclosingParty
  o String receivingParty
  o String purpose
  o DateTime effectiveDate
  o Integer durationInMonths
}`;

const TEMPLATE = `DATE: {{effectiveDate as "DD MMMM YYYY"}}

This Non-Disclosure Agreement ("Agreement") is entered into between  
**{{disclosingParty}}** and **{{receivingParty}}**.

## Purpose
The purpose of this Agreement is {{purpose}}.

## Term
This Agreement shall remain in effect for **{{durationInMonths}} months**
from the effective date.

This Agreement is effective as of the date written above.

Sincerely,  
**{{disclosingParty}}**`;

const DATA = {
  "$class": "[email protected]",
  "disclosingParty": "Tech Innovators Inc.",
  "receivingParty": "John Doe",
  "purpose": "evaluating a potential business collaboration",
  "effectiveDate": "2025-02-01T00:00:00Z",
  "durationInMonths": 24
};

const transformer = new TemplateMarkTransformer();
const result = await transformer.generate({
  model: MODEL,
  template: TEMPLATE,
  data: DATA
});

console.log(result);

Variations

{
  "$class": "[email protected]",
  "disclosingParty": "StartupCo",
  "receivingParty": "Consultant LLC",
  "purpose": "discussing a potential product development partnership",
  "effectiveDate": "2025-03-15T00:00:00Z",
  "durationInMonths": 12
}
Creates a 12-month NDA between a startup and consultant.
{
  "$class": "[email protected]",
  "disclosingParty": "Global Enterprises Inc.",
  "receivingParty": "Regional Solutions Ltd.",
  "purpose": "exploring a merger and acquisition opportunity",
  "effectiveDate": "2025-01-01T00:00:00Z",
  "durationInMonths": 36
}
Creates a 3-year NDA between two corporate entities.
You can modify the template to use different date formats:
DATE: {{effectiveDate as "MMMM D, YYYY"}}
This would produce: “February 1, 2025” instead of “01 February 2025”.

Key Concepts Demonstrated

1. Date Formatting

{{effectiveDate as "DD MMMM YYYY"}}
The date format pattern:
  • DD - Day with leading zero (01, 02, …)
  • MMMM - Full month name (January, February, …)
  • YYYY - Four-digit year (2025)
Other common patterns:
  • "MM/DD/YYYY" - 02/01/2025
  • "D MMM YYYY" - 1 Feb 2025
  • "YYYY-MM-DD" - 2025-02-01
See Date Formatting for all available patterns.

2. Simple Variable Substitution

{{disclosingParty}}
{{receivingParty}}
{{purpose}}
{{durationInMonths}}
Direct replacement of placeholders with data values.

3. Markdown Formatting

  • Bold: **text** for party names and important terms
  • Headings: ## for section titles
  • Line breaks: Two spaces or explicit line breaks

Extending the Sample

You can extend this NDA template by adding:

1. Address Information

concept Address {
  o String line1
  o String city
  o String state
  o String country
}

@template
concept NDA {
  o String disclosingParty
  o Address disclosingAddress
  o String receivingParty
  o Address receivingAddress
  // ... other fields
}

2. Signature Section

## Signatures

**Disclosing Party:**

Signature: _________________________  
Name: {{disclosingParty}}  
Date: {{effectiveDate as "DD MMMM YYYY"}}

**Receiving Party:**

Signature: _________________________  
Name: {{receivingParty}}  
Date: {{effectiveDate as "DD MMMM YYYY"}}

3. Permitted Disclosures

enum DisclosureType {
  o LEGAL_REQUIREMENT
  o COURT_ORDER
  o REGULATORY_REQUEST
}

@template
concept NDA {
  // ... existing fields
  o DisclosureType[] permittedDisclosures optional
}

4. Jurisdiction

@template
concept NDA {
  // ... existing fields
  o String governingLaw
  o String jurisdiction
}
Template addition:
## Governing Law
This Agreement shall be governed by the laws of {{governingLaw}},
and disputes shall be resolved in {{jurisdiction}}.

Real-World Usage Tips

  1. Legal Review: Always have legal counsel review contract templates
  2. Versioning: Use semantic versioning in namespaces (@0.0.2)
  3. Immutability: Once signed, store the template version used
  4. Validation: Validate data against the model before generation
  5. Audit Trail: Log when and how documents are generated

Common Customizations

## Definition of Confidential Information
For the purposes of this Agreement, "Confidential Information" means all
information disclosed by {{disclosingParty}} to {{receivingParty}},
whether orally or in writing, that is designated as confidential or that
reasonably should be understood to be confidential.
## Exclusions
Confidential Information does not include information that:
- Was already known to {{receivingParty}} prior to disclosure
- Is or becomes publicly available through no breach of this Agreement
- Is independently developed by {{receivingParty}}
- Is rightfully received from a third party without breach

Employment Offer

Another business document with more complex structures

Hello World

Start with the basics

Next Steps

Build docs developers (and LLMs) love