This is a rough mock-up of the data model. It gives an idea of what can be done just with lists and substitution. The real thing is available by invitation.

Agt_Frame:
* [General_Resources]
Body {Prologue}

  1. {Sec.S}

{Signature}

Prologue {Agt.Title}{Prologue.ThisAgreement} …
Prologue.ThisAgreement This {Agt.Title} is made by and between {Pcpl.ID.N,E,A} (“{Pcpl.-}”) and {Cttr.ID.N,E,A} (“{Cttr.-}”)
Signature {Pcpl-Cttr.Signature._Block}
Agt_NDA:
* [Agt_Frame]
Sec.S
  1. {Def._Sec}
  2. {Conf._Sec}
  3. {IP._Sec}
  4. {Misc._Sec}
Def._Sec Definitions.

  1. {Def.Confidential_Information}
  2. Def.Work_Product}
  3. ….
Conf.Except.Makes._Cl is independently developed by the Receiving Party without the use of any Confidential Information
ID_Acme:
ID.* [Class_ID_Entity_Corp]
ID.Addr.* [Geo_USA_CA_RedwoodCity]
Regist.* [Geo_USA_DE]
Name.Full Acme Incorporated
Acme_Supren_NDA_d-01:
* [Agt_NDA]
Pcpl.* [ID_Acme]
Cttr.* [ID_Supren]
Agt.Date May 19, 2013
Conf.Except.Makes._Cl {_empty}
Advertisement