← All Publications

Norn — Contract Document Intelligence

Mimir Labs Technical Publication·March 2026

Overview

Norn is a contract document intelligence platform that transforms static documents into governed, reusable, signable templates with full lifecycle management. It bridges the gap between starting from scratch in Word every time and paying for a full contract lifecycle management suite.

Norn operates in three modes: Import existing documents (PDF, DOCX, ODT, TXT, Markdown), Compose contracts from scratch with a built-in rich text editor, or Fill existing templates and send them for signature. The result is a complete document workflow — from authoring through signing to governed archival — in a single tool.

At its core, Norn introduces the document package — a governed, portable, machine-actionable contract object that carries its template, fields, sections, signatures, provenance chain, and integrity metadata as a single structured unit. Document packages are the foundation for compatibility validation, template exchange, and deterministic document governance.


Architectural Role

Norn extends the Mimir Labs platform lifecycle into the contractual domain:

  • Ratatosk: discover and define meaning in enterprise data
  • Ragnarok: migrate data into aligned structures
  • Bifrost: maintain alignment across systems
  • Jormungandr: enforce canonical governance
  • Norn: govern the documents that define business relationships

The relationship between Norn and the data platform is bidirectional. Contract data flows into the enterprise through manifest export, and enterprise data can inform contract generation through template field pre-population.


Application Modes

Template Mode

Import an existing document and convert it into a reusable template. Norn extracts text, detects candidate fields and sections via heuristic pattern matching, and allows manual field promotion. The source document is preserved; fields are overlaid as a separate layer.

Compose Mode

Write a contract from scratch using the built-in rich text editor. Formatting toolbar supports bold, italic, underline, headings (H1–H3), bullet and numbered lists, and table insertion. Fields are inserted inline via the "+ Field" button. Sections can be created inline, or browsed from the section library — a curated collection of 19 reusable clauses.

24 starter templates are included across five categories:

CategoryTemplates
Services & ConsultingMSA, SOW, Independent Contractor, Subcontractor, Software Development, SLA
Employment & HREmployment Agreement, Internship, Non-Solicitation
Sales & CommercialSales Agreement, Referral, License, Lease, Equipment Rental, Promissory Note
Legal & ComplianceMutual NDA, Data Processing Agreement, Release & Waiver, Assignment, Cease & Desist
Business StructuresPartnership, Joint Venture, Letter of Intent, Memorandum of Understanding

19 reusable sections ship as a clause library:

Confidentiality, Non-Compete, Non-Solicitation, IP Assignment, Indemnification, Limitation of Liability, Arbitration, Litigation, Mediation, Governing Law, Force Majeure, Insurance, Data Protection, Termination, Entire Agreement, Notices, Assignment, Signature Block (2-party), Signature Block (3-party).

Fill Mode

Open an existing template, fill field values through a form dialog, and export or send for signature. Formula fields compute automatically. Signature and initials fields open a capture dialog. Completed documents export as PDF with footer provenance metadata.

Tabbed Interface

Multiple documents can be open simultaneously, each in its own tab with independent mode, fields, sections, and OCR state. The field panel and CRM dock sync to whichever tab is active. Closing a tab with unsaved changes prompts to save. A welcome screen appears when no documents are open, offering quick-start workflow buttons.


Document Import

Norn accepts multiple input formats:

FormatMethodText Extraction
PDFQPdfDocument + Tesseract OCRNative extraction first, OCR fallback at 300 DPI
DOCXXML parsing (word/document.xml)Direct extraction + image preservation
ODTXML parsing (content.xml)Direct extraction
TXT, MDDirect file readSplit on page breaks or line count

Image Preservation

Images are first-class document content elements. When importing DOCX files, Norn extracts all images from the word/media/ directory and registers them as managed image assets with:

  • Stable content ID and MIME type
  • Placement metadata (inline, header, footer, table cell, anchored)
  • Role classification (logo, signature, seal, diagram, exhibit, decoration)
  • Original and display dimensions
  • Template element flag for replaceable images (e.g., org logos)

Images are preserved through parsing, editing, templating, versioning, and export.

OCR Processing

Each page of an ingested PDF is rendered at 300 DPI and processed through the active OCR engine. Two engines are available:

  • Tesseract (Free tier) — local CLI-based OCR, no data leaves the machine
  • Google Document AI (Pro+ tiers) — cloud OCR with superior accuracy

Section and Field Detection

The FieldDetector identifies both sections (document structure) and fields (fillable regions) simultaneously. Detection is heuristic and deterministic — no AI, no inference.

Section detection recognizes: numbered headings (1., 2.1), roman numerals (I., II.), lettered sections (A., B.), Article/Section/Clause prefixes, ALL-CAPS headings, and common contract section names. Each section is auto-categorized: confidentiality, restrictive, IP, liability, compensation, term, dispute, compliance, definitions, core, execution, general.

Field detection identifies: blank lines, date patterns, signature patterns, checkbox patterns, and label:value patterns. Each field is assigned a replacement mode that controls how it interacts with source text:

ModeBehavior
Replace Entire RegionThe full source text region becomes the field
Replace Input OnlyLabels like "Name:" are preserved; only the blank/value portion becomes the field
Preserve Label, Replace ControlFor checkboxes: the label text stays, only the control glyph becomes the field
Insert AdjacentFor pure-label signatures: the field is placed adjacent to the descriptive text, not replacing it

Fields that belong to a detected section carry the section's ID, establishing a nesting relationship. Fields outside any section remain top-level.

Formatting Artifact Filter

Page breaks, page numbers, horizontal rules, watermarks, copyright lines, and other rendering artifacts are automatically detected and excluded from field and section detection. Users can manually mark additional text as ignored via the "Ignore Text" button in the field panel. Ignored patterns persist in the template file.


Field System

Field Types

TypeWidgetUse Case
TextFree-form inputNames, addresses, company names, custom clauses
DateDate picker (ISO 8601)Effective dates, expiration dates
SignatureDraw / type / upload captureLegally binding signatures
InitialsDraw / type / upload capturePage-level acknowledgment
CheckboxBoolean toggleOpt-in/opt-out, service selections
RadioGrouped one-of-NMutually exclusive choices
DropdownCombo selectionPredefined option lists
CurrencyNumeric with symbolLine item prices, totals, fees
NumberPlain numericQuantities, percentages, counts
FormulaComputed (read-only)Line totals, subtotals, tax, grand total

Signatory Assignment

Each field can be assigned to a signatory by name and email. When a document is sent for signing, each recipient sees only their assigned fields. Supports parallel (all at once) and sequential (ordered) signing.


Signature Capture

Three capture methods:

  • Draw — Freehand on canvas with mouse, touch, or stylus (pressure-sensitive)
  • Type — Name rendered in a script font (multiple fonts available)
  • Upload — Import an existing signature image (PNG, JPG)

Signatures are stored per-contact in the CRM and rendered directly into exported PDFs.


Document Sending

Documents are sent via Norn's managed mailbox (SendGrid SMTP):

  1. Fill a document, assign fields to signatories
  2. Choose parallel or sequential signing order
  3. Each signatory receives a branded email with a secure signing link
  4. Recipients fill only their assigned fields on a standalone signing page (no account required)
  5. Completion notification sent when all signatures collected

Token-based access: single-use, time-limited (default 7 days), field-scoped, IP-logged.


Formula Engine

Recursive descent parser supporting field references ({Quantity} * {Unit Price}), arithmetic (+ - * /), parentheses, and functions (SUM, MIN, MAX, ROUND). Multi-pass evaluation for dependency chains. Currency formatting with locale-aware thousands separators.


Template Format

Templates are stored as .norn files — JSON documents containing:

  • Identity: ID, form number, name, version, author, timestamps
  • Source binding: PDF path and SHA-256 hash (integrity verification)
  • Source type: "pdf", "text", or "composed"
  • Field declarations: each with type, label, position, replacement mode, signatory assignment
  • Section definitions: conditional content blocks with condition expressions
  • Variable declarations: workflow parameters that control section inclusion
  • Image assets: managed images with placement, dimensions, and role metadata
  • Footer configuration: provenance metadata and optional branding
  • Document metadata: document type, jurisdiction, governing law, industry
  • Ignored patterns: user-defined text to exclude from detection
  • Version history: up to 50 prior version snapshots
  • Components: references to child templates for composite documents

Template Versioning

Every save snapshots the previous version and auto-increments the version number. Users can view history and revert to any prior version.

Save Dialog

Templates are saved with a form number (e.g., "MSA-2026-001") and version (e.g., "1.0") via a custom dialog. The system produces both a .norn template file and an optional master PDF with the same name.

Conditional Sections

Sections bring conditional logic into the compose workflow:

  • Inline: select text → wrap as section → set condition
  • From library: browse 19 pre-built clauses and insert directly
  • Condition tree model: AND/OR nesting with variable references

Composite Templates (Stitching)

Templates can be composed from multiple child templates: addendums, exhibits, amendments. Components are ordered, labeled, and resolved at fill/export time.


Document Package Model

A document package is the canonical governed contract object — a structured, portable, machine-actionable container. This is distinct from formatting/rendering artifacts (page breaks, etc.), which are treated separately in the codebase.

Each package carries:

ElementPurpose
Package IDStable UUID for this package instance
Schema versionPackage format version (independent of template version)
CompatibilityNornNative, NornCompatible, RawImport, or External
Template lineageSource template ID, version, and lineage chain
Field declarationsAll fields with types, positions, and replacement modes
Section definitionsAll sections with conditions and nesting
Signature stateUnsigned → Pending → Partially Signed → Fully Signed → Voided
Provenance chainTimestamped entries: created, modified, signed, exported, forked
Integrity hashSHA-256 of the serialized package

Compatibility Validation

The PackageValidator provides deterministic structural validation:

  • Required fields present (package ID, schema version, template ID)
  • Field declarations have IDs
  • Section conditions reference declared variables
  • Provenance chain is chronological
  • Integrity hash matches

A document is Norn-native if created in Norn with full structural metadata. It is Norn-compatible if imported and enriched. Raw imports and external documents are classified separately.


Footer Provenance

Exported documents carry configurable footer metadata:

Governance metadata (always available):

  • Template ID, version, generation timestamp
  • Form number / control number
  • SHA-256 integrity hash

Branding (optional, tier-aware):

  • Default: "Generated with Norn"
  • Alternate: "Structured by Norn" or custom text
  • Draft copies: branding on by default
  • Execution copies: branding off by default (paid tiers can remove entirely)

Footer rendering does not break document layout fidelity.


Template Exchange (Foundation)

Templates can exist as governed packages with metadata, lineage, and visibility controls:

VisibilityAccess
PrivateOnly the creator
Org-SharedAll users in the organization
PublicListed on the exchange (Phase 2)
VerifiedReviewed and verified (Phase 2)

Phase 1 (current): private and org-shared template libraries with publisher attribution, document type / jurisdiction / industry metadata, and fork tracking.

Phase 2 (planned): public listings, moderation workflow, verified badge, commercial template packs.


Licensing and Feature Gating

Server-side enforcement with tier-specific limits:

TierPriceContracts/MonthOCR EngineSend for SigningAdditional
Free$0/mo5Tesseract (local)No3 templates, PDF export
Pro$99/mo50Google Doc AIYesUnlimited templates, 3 seats
Business$399/mo250Google Doc AIYesAPI access, 10 seats, priority support
Enterprise$1,499/moUnlimitedGoogle Doc AIYesSSO, SLAs, unlimited seats, Ratatosk integration

All tiers include: import, compose, field detection, section detection, formula engine, conditional sections, workflow builder, governed archive, lite CRM, template versioning, composite templates, image preservation, footer provenance, and document package metadata.


Lite CRM

Contacts auto-populate from filled template fields. Saved signatures and initials stored per-contact. Contract records track lifecycle: Draft → Sent → Viewed → Signed → Expired → Archived.


Document Archive

Compliance controls: immutability (signed contracts), access logging (append-only), retention enforcement (7-year default), SHA-256 integrity verification.


Platform Integration

Ratatosk Manifest Export

Contract data exports as Ratatosk-compatible manifests: contacts → crm_entities, contract metadata → norn_contracts, field values → Mimisbrunnr-aligned columns.

Enterprise Direct Ingestion

Enterprise tier enables direct Yggdrasil API ingestion for trusted recurring contract workflows.


Account Management

Same credentials as the Mimir Labs portal. JWT-based authentication with 7-day sessions. Per-user product entitlements track tier, usage, and feature gates. Purchases automatically create or upgrade entitlements via webhook.


Security Model

  • OCR processing is local by default (Tesseract)
  • No document content transmitted to Mimir Labs at any tier
  • Signature request emails contain only metadata and signing links
  • Signatory tokens are single-use, time-limited, and field-scoped
  • Document packages carry SHA-256 integrity hashes and provenance chains
  • Image assets are validated for MIME type and size (10 MB limit)
  • Footer branding removable on execution copies for paid tiers

Technology Stack

ComponentTechnologyRationale
DesktopC++17 / Qt 6 WidgetsCross-platform, native PDF rendering, local OCR
Web AppNext.js 15 / React 19 / TypeScriptServer-side extraction, responsive UI
PDF RenderingQt Pdf + QPdfWriter / QPainter300 DPI, no external dependencies
Compose EditorQTextEdit (desktop)Rich text with inline field and section markers
OCR (Free)Tesseract 5.x CLIFree, local, no library linking
OCR (Premium)Google Document AISuperior accuracy, handwriting
Signature CaptureQPainter paths (desktop), HTML Canvas (web)Draw + typed + uploaded
EmailSendGrid SMTPBranded signature request and completion emails
Persistence.norn files (local), PostgreSQL (server)Portable templates, governed entitlements
IntegritySHA-256 (Qt Cryptographic)Document fingerprinting, provenance chains
IconsLucide (MIT)Consistent thin-line icon set

Platform Significance

Norn addresses the document layer that the rest of the Mimir Labs platform does not cover. Enterprise documents — contracts, agreements, compliance artifacts — typically have no structural awareness, no version control, and no governed lifecycle.

Norn makes documents structurally aware. It identifies fillable regions, preserves them as reusable templates, captures signatures with legal equivalence, governs documents through their lifecycle, and packages them as machine-actionable objects with provenance and integrity guarantees. When combined with the broader Mimir Labs platform, it creates a closed loop: contracts define relationships, data flows through those relationships, governance ensures alignment, and the archive preserves the record.


Copyright 2024–2026 Mimir Labs LLC. All rights reserved.