Official Repository EC-LEGAL-SOP-2026 · v3.1 Comprehensive

Legal System
Complete Operations Manual

The authoritative guide to every feature, workflow, button, and action available to Eximp & Cloves legal practitioners. This document covers the full lifecycle — from matter intake to final execution and archival — with no step omitted.

All 6 Dashboard Tabs · Full Editor · Signature Vault
Lawyers, Legal Assistants, Directors
Active · v3.1 · HR-Legal & Sealing Expanded
CH. I

Introduction, Roles & System Architecture

The Legal Suite is Eximp & Cloves' unified contract execution environment. It replaces fragmented paper-based processes with a structured, auditable digital workflow — from matter intake and document drafting through multi-party digital signing, physical sealing, and permanent archival.

Who Uses the Legal Dashboard
Role Primary Responsibilities Key Access
🧑‍⚖️ Authorizing Lawyer Drafts, reviews, and seals all legal documents. Manages the full execution workflow. All tabs, full editor, seal authority
👩‍💼 Managing Director Provides signature authority on contracts. Final approval signatory. Signature vault slot, signing sessions
🗂️ Company Secretary Records and certifies resolutions and corporate documents. Signature vault slot, archive
🧑‍💻 Legal Assistant / Viewer Read-only access to visible matters. Can view documents and status. Staff portal (read-only)
📋 Witness Provides witness signature — either remote (signing link) or walk-in. Signing portal (external link or physical device)
🏡 Client / Buyer Signs the contract as the primary party. Signing portal (external link or physical device)
System Architecture
🏗️

Backend (FastAPI)

Python-based REST API under /legal/. Handles all matter data, signing logic, PDF generation, and Google Drive vault storage.

🖥️

Frontend (Jinja2 Templates)

Server-rendered HTML pages. Three core interfaces: the Dashboard, the Legal Editor, and the Signing Portal for external signatories.

☁️

Storage (Google Drive)

All signed PDFs, attachments, and authority signatures are stored encrypted in a private organizational Google Drive vault.

CH. II

The Dashboard — Command Center

The Dashboard tab is the first screen upon login. It provides a real-time operational snapshot of all legal activity in the system, split into two categories: Matters (legal cases) and Contracts (execution documents).

Matter Statistics (Top Row)
N
Total Matters
N
Draft Matters
N
Active Matters
N
Executed Matters

These four cards track all legal matters (both internal/staff and external/client) by lifecycle stage.

Contract Statistics (Second Row)
N
Total Contracts
N
Active Contracts
N
Executed Contracts
N
Pending Signing

These cards track contract-level status. "Executed" excludes voided contracts. "Pending" = active signing sessions awaiting completion.

Activity Feed

The Activity Feed shows the 15 most recent actions across the system — document saves, signature captures, execution events, and status changes. Each entry displays the actor, action, matter title, and timestamp.

Quick Navigation

The Dashboard contains a "View Portal" shortcut link that instantly switches to the Execution Portal tab — useful when you spot pending contracts in the stats cards and want to act on them immediately.

Execution Velocity Chart

A line/bar chart (rendered via Chart.js) showing execution volume over recent periods. This visualizes how many contracts have been signed and sealed over time, helping legal leadership identify throughput trends and seasonal patterns.

CH. III

Internal Matters — Staff & Personnel

Internal Matters cover all legal cases related to Eximp & Cloves' own staff — employment contracts, disciplinary matters, HR-initiated legal proceedings, and any other personnel-facing legal document. These are linked to staff profiles in the HR system.

Opening an Internal Matter
+ Initiate New Staff Matter

Clicking Initiate New Staff Matter opens the Initiate Modal pre-set to category Staff.

Initiate Matter Modal — Fields
1

Select Staff Member

Choose the employee this matter pertains to. Their name will be linked to the case record and used for document personalisation.

2

Matter Title

Provide a clear, descriptive title (e.g. "Employment Contract — J. Adeyemi 2026"). This becomes the document's primary identifier across all views.

3

Case Category

Select the appropriate legal category from the predefined list (e.g. Employment Agreement, Disciplinary, NDA, Settlement). Categories are managed by the system administrator.

4

Submit

Click Submit to create the matter. The system auto-generates a unique matter ID and redirects to the Legal Editor for this matter.

Internal Matters Table — Columns
Column Description
Matter ID Auto-generated unique reference code (e.g. EC-INT-2026-0042)
Staff Member The linked staff profile from HR
Title Full matter title as entered during initiation
Category Legal case category tag
Status Draft → Active → Signing → Executed
Created Date and time the matter was initiated
Actions Row-level action buttons (see Per-Matter Actions chapter)
Key Feature

HR administrators do not need to access the Legal Dashboard to initiate a legal matter for a staff member. A dedicated Create Legal Case widget is embedded directly inside the HR Staff Profile page, allowing HR to request legal action without leaving the HR module. This is the primary handoff mechanism between HR and Legal — no emails or manual coordination required.

Where to Find It

In the HR Personnel Portal → Staff Profile → Legal tab, click the ⚖️ Create Legal Case button on any staff member's profile. The widget slides open as a right-side panel — no navigation away from HR is needed. The button is only visible to users with HR Admin or higher permissions.

HR Legal Case Widget — Fields
Field Options / Input Purpose
Case Type 📄 Contract Request ⚠️ Disciplinary Review ✓ Legal Clearance 📋 Termination 📝 Other Sets the legal category for the matter. Pre-populates the matter type in the editor and determines which template library section is surfaced first when the lawyer opens the editor.
Case Title Free text — e.g. "Senior Developer Offer Letter" Becomes the matter's primary display name across the legal system. Should be specific enough to distinguish from other matters for the same staff member.
HR Notes / Context Multi-line text area (max 2,000 characters) Internal notes for the legal team — background context, urgency, special instructions, relevant history. Stored as the matter's first internal memo, visible only to lawyers and HR admins — never to the staff member.
Urgency Level Routine Urgent Critical Flags priority in the Legal Dashboard. Urgent and Critical matters appear with coloured indicators in the Internal Matters table. Critical urgency generates an additional email to the Director of Legal Services.
Requires Digital Signature Checkbox (checked by default) Flags the matter for the digital signing workflow. If unchecked, the matter is treated as informational/advisory only — no signing session can be started. This cannot be changed after submission.
Complete HR → Legal Handoff — End-to-End Workflow
1

HR Locates the Staff Member

In the HR Personnel Portal, navigate to the staff member's profile and open the Legal tab. Any previously created legal cases for this staff member are listed here, showing their status (Draft, Active, Executed) so HR can review the full legal history before creating a new case.

2

HR Fills the Widget & Submits

HR selects Case Type, writes the Case Title, provides context in HR Notes, sets urgency, and confirms the signature requirement. Clicking Submit Case Request calls POST /api/hr-legal/staff/{staff_id}/create-legal-case. The staff member's ID is automatically injected — HR does not need to enter it manually.

3

System Creates the Matter

The backend creates a new Internal Matter in Draft status with a unique matter ID (e.g. EC-INT-2026-0042). The matter is linked to the staff member's HR profile. The HR Notes are stored as the first internal memo, timestamped and attributed to the submitting HR admin. The matter immediately appears in the Legal Dashboard under Internal Matters.

4

Notification to Legal Team

The system sends an in-app notification to all users with Legal Admin access. The notification shows: matter title, case type, urgency level, the HR admin who submitted it, and a direct link to open the Legal Editor. Critical urgency cases generate an additional email to the Director of Legal Services.

5

Lawyer Opens the Editor & Reviews HR Memo

The lawyer opens the matter from the Internal Matters table or via notification. In the editor sidebar, the Internal Memos section displays the HR Notes as context. The lawyer reads this, selects an appropriate template, customises the content, and saves drafts. The matter title and staff name are pre-populated on the Cover Page tab from the HR submission data.

6

Matter Visibility Toggle (Lawyer Controls This)

Prior to the visibility toggle, the matter is completely invisible to the staff member. Once the document is ready for the staff member to review or sign, the lawyer enables visibility via PATCH /matters/{id}/visibility. The staff member can then see the document in their self-service portal under My Legal Documents.

7

Signing & Execution (If Required)

If the matter requires a digital signature, the lawyer starts a signing session. For employment contracts and offer letters, the staff member signs via a remote link sent to their company email. For disciplinary or termination matters, the walk-in capture method is more appropriate — the staff member signs on-screen in the presence of an HR witness.

8

HR Views Completed Status

Once the matter reaches Executed status, the status badge on the staff member's Legal tab in the HR Portal updates automatically. HR cannot download the sealed PDF directly — they must request a copy from the legal team, who can share it via the Document Hub.

HR Legal Tab — What HR Can See vs. Access
Item HR Can See HR Can Do
Matter list (this staff member) ✅ Title, Type, Status, Date Created Read only
Document content / contract wording ❌ Hidden from HR No access
Internal memos ⚠️ Their own submitted HR Notes only Cannot add further memos after submission
Signing status ✅ Signed / Pending / Not Started Read only
Create new legal case ✅ Via the widget Submit only — cannot edit after submission
Sealed PDF ❌ Not accessible to HR directly Must request from legal team
⚠️ HR vs. Lawyer Permissions — Critical Boundaries

HR administrators can create a legal case via this widget, but only users with Legal Admin credentials can: draft or edit document content, manage signing sessions, toggle matter visibility, add internal memos, access the sealed PDF, or execute the document. The Create Legal Case widget is a request mechanism only. If an HR admin also holds Legal Admin credentials (dual role), both sets of permissions apply and they will be redirected directly into the full Legal Editor on submission.

CH. IV

External Matters — Client Contracts

External Matters are client-facing legal documents — property sale agreements, purchase contracts, co-ownership deeds, and all external commercial arrangements. These are the primary contract type that goes through digital signing with external parties.

Opening an External Matter
+ Initiate New External Matter

Opens the same Initiate Modal with category pre-set to External. Fields are identical but the matter will appear in the External Matters table and be flagged for client-facing signing workflows.

External Matter Table — Columns
Column Description
Matter ID Unique reference, e.g. EC-EXT-2026-0108
Client Name Primary client / buyer linked from CRM
Title Contract description (e.g. "Full Payment Sale — Plot 12B, Lekki")
Type Full Payment, Part Payment, Co-Ownership, etc.
Status Draft → Active → Signing → Executed → Voided
Last Modified Most recent save or action timestamp
Actions Row-level actions (see next chapter)
Per-Matter Row Actions (Applies to Both Tables)

Every row in both matter tables contains an actions column with the following icon buttons:

Icon Button What It Does
👁️ View Document Opens the matter in read-only preview mode (/legal/view?id=…). The document renders as a formatted page — no editing permitted.
✏️ Open Editor Opens the full Legal Editor for this matter (/legal/advanced-editor?id=…). Available only when the matter is in Draft or Active status, and only for authorized users.
🔗 Share Preview Link Generates a secure, time-limited preview link and copies it to clipboard. The recipient can view (but not sign) the document without logging in. Uses POST /matters/{id}/preview-link.
👥 Duplicate Matter Creates an exact copy of this matter as a new Draft. All content and metadata is preserved; the new matter receives a fresh ID. Uses POST /matters/{id}/duplicate.
📋 View Audit Trail Opens the Audit Trail panel showing every action taken on this matter — who saved, signed, modified, or changed status, with timestamps and IP metadata.
📁 Document Hub (Vault Panel) Opens the Document Hub slide-over panel for this matter. Allows uploading, downloading, previewing, and deleting attached files. See Chapter IX for full details.
⚠️ Permission Levels

The Edit button (✏️) is hidden from users with View-only permissions. Visibility of matters can also be toggled by an authorized administrator using PATCH /matters/{id}/visibility.

CH. V

The Execution Portal

The Execution Portal is the master control panel for all contracts in the system — regardless of category. This is where lawyers manage the transition from drafted document to fully executed, legally binding contract.

Portal Controls
🔄 Refresh — reload contract list 🔍 Search — filter by invoice number or client name 👁 Show Voided — toggle to include voided contracts
Contract Table Columns
Column Description
Invoice / Ref No. The sales invoice number or contract reference linked from the CRM
Client Buyer name from the linked invoice
Matter Title The legal matter title
Status Badge Current signing status: Draft, Active, Signing, Executed, Voided
Created Contract creation date
Action Contextual button based on status (see below)
Row Action — Contextual by Status
Status Button Shown What It Opens
Draft / Active Manage Execution Opens the full Execution Status Modal for this contract
Executed View Certificate Opens the signed PDF certificate of authentication
Voided — (row is greyed out) No action available. Voided contracts are read-only.
Invoice-Based Contract Session — How It Actually Works
Critical Architecture Detail

Every contract in the Execution Portal is identified by its Invoice ID, not the matter ID. When you click Manage Execution on a row, the system loads the orchestration state for that specific invoiceId. All session API calls use the invoice as the key: POST /api/contracts/session/{invoiceId}.

State A — No Session Active (Empty State)

When you open Manage Execution for a contract that has no active signing session, you see this screen with exactly 4 buttons:

Button What It Does
🚀 Start Signing Session The primary action. Calls POST /api/contracts/session/{invoiceId}. Generates a signing token, locks the current document content via hash, and dispatches the signing request email to the client. This is how all invoice-based contract executions begin. The button shows a spinner while processing — if it fails, the error message will say "Ensure company signatures are set" — which means the Signature Vault is incomplete.
🚶 Record Walk-in Witness Skip the remote session for the witness. Opens the canvas capture modal directly. Use this when the witness is physically present and does not need a signing link.
🚶 Record Walk-in Client Same as above for the client/buyer. Use when the client is sitting with you in the office and can sign on the screen directly.
✏️ Edit Contract Wordings Navigates to /legal/editor?id={invoiceId} for last-minute content edits before starting the session. Important: Once a signing session is started and the document is hashed, edits will break the hash integrity. Always finalize content before clicking Start Signing Session.
⚠️ Before You Click "Start Signing Session"

Verify three things: (1) all 5 Signature Vault slots are Active — the session will fail silently if any are missing; (2) the contract content is final — editing after session start invalidates the document hash; (3) the client's email address in the CRM is correct — the signing link is sent there automatically.

State B — Active Session (Orchestration View)

Once a session is started, the modal switches to the live orchestration view. The invoice label changes from UNAVAILABLE to ACTIVE ORCHESTRATION. The available actions expand:

📋 Copy Signing Link — share the client URL manually 📤 Resend Link — re-email the signing invite ⏱️ Extend Session — give more time before the token expires ✏️ Edit Wordings — modify content (use with caution) 👁 View Draft (HTML) — preview the document as-is 🚶 Walk-in Witness — capture on-site if not yet signed 🚶 Walk-in Client — capture on-site if not yet signed
State C — All Signatures Collected

When both the client and witness signatures are confirmed in the orchestration view, the terminal action becomes available:

🔏 Final Execution — opens the Seal & Execute modal

The Seal & Execute modal presents two execution paths. The choice depends on the document type and what the law or counterparty requires:

Option 1: Digital Execution (Dashboard Seal)

The system automatically overlays all Signature Vault authority signatures — MD, Company Secretary, Authorizing Lawyer — onto the execution page. The Law Firm Seal (Vault Slot 4) is applied as a circular stamp image at the designated seal position on the PDF. Optional: Include Audit Certificate (default on) appends the cryptographic Certificate of Authentication as a final page. Fastest method; no printing or physical handling required. Appropriate for the majority of Eximp & Cloves contracts.

🖋️

Option 2: Wet Ink / Hybrid Physical Sealing

Download the base PDF (vault signatures already overlaid) → print → apply wet ink handwritten signatures in designated blocks → apply the firm's physical rubber stamp at the seal position → for Deeds: have it sworn before a Commissioner for Oaths → scan at 300 DPI → Upload Sealed PDF back into the system. Required by law for Deeds of Assignment, CAC filings, and any transaction where the counterparty's solicitors need a physical original with a stamped seal. See the Sealing & Execution chapter for the full step-by-step process.

💡 Which Method Do I Use?

Digital Execution is appropriate for: property sale agreements, instalment agreements, co-ownership deeds, employment contracts, NDAs, and offer letters where all parties accept digital execution. Wet Ink / Physical is required for: Deeds of Assignment (compulsory under the Land Use Act), documents filed with the CAC or any government registry, and any matter where the counterparty's solicitors specifically demand a physical original with a stamped seal. When in doubt, consult the Director of Legal Services before proceeding — executing the wrong way can render a document void or unregistrable.

Invoice Label in the Modal

The Manage Execution modal shows a small label at the top reading "UNAVAILABLE" (no session) or "ACTIVE ORCHESTRATION" (session live). This is the fastest way to tell at a glance whether a contract has a live signing session without reading the full status.

Clicking Manage Execution opens a rich modal displaying the full signing status and all available actions. This is the primary interface for driving a contract to completion.

Action When Available What It Does
🚀 Start Signing Session No session active Initiates the digital signing workflow. Generates a unique signing token and dispatches signature request emails/links to all required signatories.
📋 Copy Signing Link Session active Copies the client/signatory signing URL to clipboard. Can be manually shared via WhatsApp, email, or any channel.
📤 Resend Link Session active Re-dispatches the signing request email to the client. Use when the original email was not received.
⏱️ Extend Session Session active Extends the signing session expiry time. Sessions expire after a configured period; use this to give more time to signatories without restarting the entire workflow.
✏️ Edit Wordings Always (if Draft/Active) Navigates to /legal/editor?id=… — the full Legal Editor — to modify document content before or during the signing session.
📄 View Draft (HTML) Always Opens a read-only HTML preview of the current document state in a new modal. Does not require the document to be signed.
🔏 Final Execution All required signatures collected Opens the Final Execution Modal. This is the terminal action that seals the contract. See Sealing section.
🚶 Walk-in Witness Witness not yet signed Opens the Walk-in Capture Modal for the witness role. Allows capturing a physical signature on a drawing canvas if the witness is present in person.
🚶 Walk-in Client Client not yet signed Opens the Walk-in Capture Modal for the client role. Same as above but for the buyer.
⬇️ Download Sealing PDF Final execution complete Downloads the fully assembled, signed PDF with all authority signatures overlaid. This is the legally binding version.
⬆️ Upload Sealed PDF Physical/hybrid signing Allows uploading a physically signed and scanned PDF back into the system vault for hybrid workflows.
📨 Send Sealed PDF After upload Emails the sealed PDF to the client. Button is disabled until a sealed PDF has been uploaded or generated.
CH. VI

The Legal Editor

The Legal Editor is the core document workspace. It is a rich-text, three-pane interface opened via /legal/advanced-editor?id={matter_id}. Every contract is composed and refined here before being dispatched for signing. The editor has a read-only mode for view-only users.

How to Access

Click the ✏️ Edit button on any matter row, or use Edit Wordings from the Execution Modal. The URL /legal/editor?id=… is a lighter version; /legal/advanced-editor?id=… is the full interface.

Top Bar Controls
Element Description
Matter Title + Ref Displays the invoice number and contract reference (e.g. INV-2026-0420 · REF: EC/PROP/026). Read-only in the top bar.
Current Tab Pill Shows which of the three tabs (Cover / Body / Execution) is currently active.
🧠 Deal Intelligence Opens the Deal Intelligence panel — shows client data, payment history, and property details pulled from the linked CRM invoice.
💾 Save Draft Saves the current editor state to the database. Also accessible via keyboard autosave buffer. Triggers PATCH /matters/{id}/save.
🔏 Seal & Execute Opens the Final Execution Modal to begin the official signing and sealing process.
← Back to Legal Navigates back to the Legal Dashboard without saving (unsaved changes may be lost if autosave hasn't triggered).
The Three-Tab System
🗂️

Cover Page Tab

The first page of the document. Typically contains the contract title, parties' names, effective date, property details, and the firm letterhead or branding elements. This page is usually locked from free-form editing and populated from CRM data via tokens.

📝

Document Body Tab

The main content area. A fully editable rich-text canvas where all contract clauses, schedules, terms, and conditions are authored or modified. This is the primary editing zone with full toolbar access.

✒️

Execution Clauses Tab

The signature block and attestation section. Contains the IN WITNESS WHEREOF clauses, signature placeholders for all parties, and the execution date. Signature placeholders are rendered as dashed-border boxes where authority signatures will be injected during final execution.

Formatting Toolbar — All Buttons

The toolbar appears above the Document Body canvas. It uses the browser's native document.execCommand API for formatting operations.

𝐁 Bold — Ctrl+B 𝐼 Italic — Ctrl+I U̲ Underline — Ctrl+U — Divider 1. Numbered List • Bullet List — Divider ⟵ Decrease Indent (Outdent) ⟶ Increase Indent — Divider ⌫ Clear Formatting (Remove Format)
Autosave

The editor triggers an autosave buffer on every keystroke (oninput="autoSaveToBuffer()"). This creates a temporary local save. Click Save Draft to commit changes permanently to the server. Do not rely on the autosave buffer alone — always explicitly save before closing.

Right Sidebar — Previews & Intelligence

The right sidebar (340px wide) contains document preview shortcuts and the Deal Intelligence section.

Document Preview Buttons
Button Opens
📄 Invoice Tax invoice preview for the linked sale (pulled from CRM). Opens in a fullscreen preview modal.
🧾 Receipt Payment receipt for any amounts received on the linked invoice.
📋 Statement Account statement showing all transactions on the client's account.
👁 View Draft A live HTML preview of the current contract as it would appear when sent to the client.
Deal Intelligence Panel

Accessible via the 🧠 button in the top bar, this panel surfaces live CRM data for the linked deal — client name, contact, payment percentage, property reference, sales representative, and any outstanding balance. Used by lawyers to verify contract details before sealing.

Signing Status Panel (Inside Editor)

The editor's right sidebar also includes a live orchestration/signing panel that mirrors the Manage Execution modal. All signing actions are available without leaving the editor:

🚀 Start Signing Session 📋 Copy Signing Link 📤 Resend Link ⏱️ Extend Session 🚶 Walk-in Witness 🚶 Walk-in Client
Read-Only Mode Banner

When a user lacks edit permission, the editor renders a Read-Only Banner above the canvas. The toolbar and Save button are disabled. All preview and intelligence features remain accessible.

CH. VII

Signature Vault — Authority Management

The Signature Vault stores the official signature and seal images that are automatically overlaid onto executed contracts. These represent the firm's legal authority and must be maintained by the designated administrator.

Five Authority Slots
Slot Role Used For
1. Managing Director Company's senior executive Overlaid on all contracts as the company's primary signatory authority
2. Company Secretary Corporate officer Overlaid as the certifying official for corporate documents
3. Authorizing Lawyer Legal counsel Overlaid as the legal professional certifying the document's validity
4. Law Firm Seal Firm's official seal / stamp image Rendered as a round stamp image on the execution page, signifying the firm's official endorsement
5. Company Witness Internal company witness Pre-placed company-side witness signature; separate from walk-in witness capture
Actions Per Slot
1

Upload Signature / Seal

Click Upload Signature (or Upload Seal for slot 4). An image picker opens. Accepted formats: PNG, JPG, SVG. Best practice: use a transparent-background PNG of the signature on white paper, scanned at 300+ DPI. The system stores the image securely in Google Drive and links it to the role.

2

View Status Badge

Each slot shows a status badge: Empty (no signature on file) or Active (signature loaded and ready). The signature image is previewed in the card.

3

Delete / Replace Signature

Click the 🗑️ Delete button to remove the current signature from the system. Important: This does not affect already-executed contracts — the overlay is applied at execution time and captured permanently in the PDF. The delete button is disabled when the slot is empty.

⚠️ Critical Requirement

All relevant authority slots must be filled before the Final Execution action can be completed. The system will not generate a sealed PDF if required signatures are missing from the vault. Verify all slots are Active before initiating any signing session.

CH. VIII

Signing Workflows

Eximp & Cloves supports three distinct signature capture methods. Each serves a different scenario: remote clients, physically present signatories, and hybrid situations. All methods feed into the same final execution pipeline.

Method A — Digital Remote Signing (Primary)

The standard workflow for clients who are not physically present.

1. Prepare Signing Session

Lawyer clicks Start Signing Session from the editor or the Execution Modal. The system calls POST /matters/{id}/prepare-signing, which computes a SHA-256 hash of the current document HTML to create a tamper-evident snapshot.

2. Dispatch Signature Request

The system sends a signing invitation email to the client containing a secure, unique signing link. The link contains a signing token. This calls POST /matters/{id}/dispatch-signature.

3. Client Opens Signing Portal

The client opens the link in their browser — no login required. They see a read-only, fully formatted view of the contract (GET /signing/{token}/details). The portal shows the document, an acknowledgement checkbox, and a signature drawing canvas.

4. Client Signs

The client draws their signature on the canvas (or types their name, depending on configuration). They submit the signature via POST /signing/{token}/submit. Their IP address, timestamp, browser metadata, and signature image are captured.

5. Acknowledgement

After submitting the signature, the client confirms their acknowledgement of the document via POST /signing/{token}/acknowledge. An automated confirmation email is sent to all parties.

6. Lawyer Reviews Signing Status

The lawyer checks the live signing status via GET /matters/{id}/signing-status — visible in both the Editor's signing panel and the Manage Execution Modal. Each party's signature appears with a timestamp when complete.

7. Final Execution

Once all signatures are collected, the Final Execution button activates. The lawyer proceeds to seal the document.

Method B — Walk-in Signature Capture

For signatories who are physically present in the office. Eliminates the need for a signing link.

1

Trigger Walk-in Modal

Click Walk-in Witness or Walk-in Client from the Editor signing panel or Manage Execution Modal.

2

Signatory Draws Signature

A modal appears with a large drawing canvas (<canvas> element). The physical signatory draws their signature using a finger (touchscreen) or mouse. The canvas is cleared with the Clear Canvas button if needed.

3

Save Walk-in Signature

Click Save Walk-in Signature. The canvas data is captured as a PNG image and submitted to the server, linking it to the matter as the witness or client signature with the current timestamp and the staff member's session as the recorder.

Method C — Sealing & Execution (Physical & Hybrid)
What "Execution" and "Sealing" Mean in Nigerian Legal Practice

In Nigerian contract law, execution refers to the formal completion of a legal document — the act that gives it binding legal force. It involves the authorised parties signing, dating, and (where applicable) affixing an official seal to the document. Sealing is the specific act of applying the firm's or company's official seal — historically a wax or embossed stamp, today recognised in both physical and digital forms. A sealed document carries a higher degree of legal formality than a merely signed one, particularly for deeds of conveyance, property transfer agreements, and corporate resolutions.

Understanding the Two Sealing Methods
Method When to Use Legal Standing
🖥️ Digital Execution (Dashboard Seal) Standard property contracts, employment agreements, NDAs — any contract where parties have agreed to digital execution in advance or where the nature of the deal does not require a physical original Fully recognised under Nigeria's Evidence Act 2011 and the Cybercrimes Act 2015 when accompanied by the Certificate of Authentication. The SHA-256 hash and IP/timestamp capture satisfy non-repudiation requirements.
🖋️ Wet Ink Seal (Physical) Deeds of Assignment for land (required by Land Use Act), corporate resolutions lodged with CAC, documents requiring notarisation, situations where the counterparty insists on a physical original, or transactions above a certain value threshold set by legal policy The traditional gold standard. The physical document with ink signatures, official firm stamp, and (for land deeds) Commissioner for Oaths or Notary Public attestation is the legally required form under specific Nigerian statutes.
🔄 Hybrid When both a digital record and a physical original are required — e.g. one client copy is digital, the company retains a physical original; or when the counterparty's solicitors require a wet-ink copy but the deal team also needs a digital record Both records have legal validity. The digital version serves as the authoritative system record; the physical version serves as the counterparty's original.
Method C1 — Digital Execution via the Dashboard (Recommended)

The fastest and most complete execution path. All authority signatures are applied programmatically — no printing, no scanning.

1

Confirm All Signatures Are Collected

The Final Execution button only activates once both the client signature and witness signature are confirmed in the signing status panel. The lawyer verifies this in the Manage Execution Modal — each party shows a green ✅ badge with their signing timestamp.

2

Click Final Execution → Select Digital Option

In the Seal & Execute modal, select Option 1: Digital Execution. Optionally check Include Audit Certificate (recommended — appends the Certificate of Authentication as a final page to the sealed PDF). Click Execute Now.

3

System Assembles the Sealed PDF

The system performs the following operations in sequence: (a) retrieves all authority signature images from the Signature Vault — Managing Director, Company Secretary, Authorizing Lawyer, and Law Firm Seal; (b) overlays each signature onto its designated placeholder in the Execution Clauses tab; (c) applies the Law Firm Seal as a circular stamp image on the execution page — this is the digital equivalent of the firm's official round stamp; (d) appends the client and witness signatures captured during the signing session; (e) appends the Certificate of Authentication if selected; (f) computes the final SHA-256 hash of the assembled PDF; (g) stores the sealed PDF in the Google Drive vault and updates the contract status to Executed.

4

Send Sealed PDF to Client

Click Send Sealed PDF in the Manage Execution Modal. This dispatches the sealed PDF to the client's registered email address. The email includes the contract reference, a summary of the execution details (date, parties, reference number), and the sealed PDF as an attachment. The matter is now fully executed and moves to the Archive.

The Law Firm Seal — What It Is and What It Represents
🔵

Physical Wet Seal (Traditional)

A physical round rubber stamp bearing the law firm's name, registration number, and any other legally required identifiers. Applied with ink to a printed document. This is the original form of legal sealing recognised in all jurisdictions. Required by statute for Deeds of Assignment and certain corporate filings in Nigeria.

🖥️

Digital Seal (Dashboard)

A high-resolution PNG or SVG image of the firm's official seal, stored in the Signature Vault as Slot 4: Law Firm Seal. During digital execution, this image is programmatically overlaid onto the execution page of the PDF at the designated seal position — typically a 100×100px circular placement. The result is visually and legally equivalent to a physical stamp on digital documents.

Seal Image Best Practices

Upload the seal as a transparent-background PNG at 300+ DPI for clean rendering. The seal image should match the firm's registered seal exactly — same font, same design, same registration details. The Director of Legal Services is responsible for approving and uploading the authoritative seal image to the Vault. Do not use a photograph of the physical stamp — use a professionally reproduced digital version.

Method C2 — Hybrid / Wet Ink Physical Sealing

Used when a physical original with ink signatures and a stamped seal is required by statute or by the counterparty's solicitors.

1

Download the Sealing PDF

From the Manage Execution Modal, click Download Sealing PDF. The system generates a PDF with all authority signatures from the Signature Vault already overlaid digitally. This serves as the base document for physical signing — it already shows the MD, Secretary, and Lawyer signatures in their designated positions, with placeholder spaces remaining for ink signatures where required.

2

Print & Apply Wet Ink Signatures

Print the downloaded PDF. The physically present signatories — typically the Managing Director and the authorising lawyer — apply their wet ink signatures (handwritten, in blue or black ink) in the designated signature blocks. This is distinct from the digitally overlaid authority signatures: the wet ink signature is the physical act of execution.

3

Apply the Physical Firm Seal (Rubber Stamp)

The authorising lawyer or designated seal custodian applies the law firm's physical round rubber stamp to the execution page — typically adjacent to or overlapping the lawyer's signature block. The stamp should be applied with even pressure for a clear, legible impression. The stamped area must be on the same page as the IN WITNESS WHEREOF clause and the signatory lines.

4

Commissioner for Oaths / Notarisation (If Required)

For Deeds of Assignment (land transfer documents), the document must also be sworn before a Commissioner for Oaths or a Notary Public. This involves the swearing party appearing in person before the Commissioner, who witnesses the signature, applies their own stamp and signature, and attaches the jurat (the attestation clause confirming the oath was taken). This step is a statutory requirement under the Land Use Act and the Oaths Act.

5

Scan to High-Resolution PDF

Scan the fully executed and stamped physical document to a high-resolution PDF (minimum 300 DPI, colour scan). Ensure all pages are included and the seal impression is clearly legible. Save as a single PDF file.

6

Upload Sealed PDF to System

In the Manage Execution Modal, click Upload Sealed PDF. Select the scanned file. The system stores it in the matter's Document Hub vault in Google Drive and enables the Send Sealed PDF button. The contract status updates to Executed and the matter moves to the Archive.

7

Send to Client & Retain Physical Copy

Click Send Sealed PDF to dispatch the digital version to the client by email. For the physical original — if both parties are entitled to an original — arrange for a second original to be executed (both sets are signed simultaneously at the same signing meeting), or make a certified true copy of the executed original, certified by the authorising lawyer. Retain the firm's original in a physical file.

⚠️ Important: Digital Seal vs. Physical Seal — Know When Each Applies

The digital seal in the dashboard (Slot 4 in the Signature Vault) is the appropriate execution method for the majority of Eximp & Cloves contracts — property sale agreements, instalment agreements, NDAs, and employment contracts. The physical wet seal and rubber stamp are specifically required for: (1) Deeds of Assignment (compulsory under the Land Use Act); (2) documents filed with the CAC or any government registry; (3) any transaction where the counterparty's solicitors specifically require a physical original with a wet seal. When in doubt, the Director of Legal Services makes the determination. Do not execute digitally a document that legally requires physical sealing — this can render the instrument void or unregistrable.

Session Management Tools
Tool When to Use Effect
Copy Signing Link Client didn't receive email or prefers a different channel Copies the signing URL to clipboard. Valid for the session's duration.
Resend Link Client says the email never arrived (check spam first) Sends a fresh signing invitation email to the client's registered address.
Extend Session Session token is approaching or has passed its expiry Extends the token validity. The client's signing link remains functional.
CH. IX

Archive & Document Hub

The Archive is the permanent, immutable ledger of all executed contracts. The Document Hub (Vault Panel) is the per-matter file manager for uploading, previewing, and managing supporting documents.

Archive Tab

The Archive tab automatically populates when a contract's status changes to Executed. It contains:

Column Description
Contract Reference The matter's unique ID and invoice reference
Client Signatory's name
Execution Date Timestamp of the Final Execution action
Signatories Names and roles of all parties who signed
Certificate Link to the Certificate of Authentication (PDF)
Audit Hash SHA-256 document integrity hash — verifiable proof of no tampering
Immutability

Archive entries are read-only. No editing, deletion, or status change is permitted on executed contracts. This ensures the integrity of the legal record as required by the Nigerian Evidence Act 2011.

Document Hub (Vault Panel)

Opened via the 📁 button on any matter row, the Vault Panel slides in from the right. It is the per-matter document repository.

Upload Zone

A drag-and-drop or click-to-browse upload zone. Accepted formats: PDF DOC DOCX. Maximum file size: 20 MB. Files are encrypted and stored in the organizational Google Drive vault.

File List Actions
Button Action
⬇ Download Downloads the file to the user's device via a signed Google Drive URL.
👁 Preview PDF Opens PDF files in a preview modal (only available for PDF files that have a signed URL).
🗑 Delete Permanently removes the file from the vault. Requires elevated permission. Uses DELETE /matters/{id}/attachments/{attachment_id}.
Version History

Click the Show All Versions ▼ toggle to reveal all historical file versions uploaded to this matter. By default, only the latest version of each file is shown.

Attachments via API

The attachment system supports programmatic access via three endpoints:

POST /matters/{id}/attachments

Upload a new file to this matter's vault. Requires multipart form data with the file and optional description.

GET /matters/{id}/attachments

List all files currently in this matter's vault, including metadata, upload time, and signed download URLs.

GET /matters/{id}/attachments/{att_id}/download

Retrieve a time-limited direct download URL for a specific attachment.

DELETE /matters/{id}/attachments/{att_id}

Permanently delete a specific attachment from the vault.

CH. X

Template Library

Templates are pre-built contract structures that allow lawyers to initiate new matters quickly without drafting from scratch. Each template contains formatted content, clause placeholders, and dynamic tokens for automatic data population.

Using a Template
1

Browse Template Library

Access via GET /legal/templates. Templates can be filtered by category (e.g. Property Sale, Employment, NDA, Co-Ownership). Each template shows its title, category, and a usage count.

2

View Template Details

Call GET /legal/templates/{template_id} to preview the full template content before using it.

3

Create Matter from Template

Call POST /legal/matters/from-template/{template_id} with the new matter's title and linked invoice/staff ID. A new matter is created pre-populated with the template's content, ready for customization in the editor.

Creating a New Template

Any drafted document can be saved as a template for future reuse. Use POST /legal/templates with the template title, category, and HTML body content. Templates are organization-wide and available to all lawyers.

Dynamic Tokens

Templates support double-brace tokens such as , , , and . When a matter is created from a template, these tokens are automatically replaced with the linked invoice's CRM data. Always verify token substitution in the editor before dispatching for signing.

Seeded System Templates

The system ships with pre-seeded templates (loaded via migration 021_seed_legal_templates.sql). These include:

Full Payment Sale Agreement Part Payment / Instalment Agreement Co-Ownership / Joint Purchase Deed Offer Letter Non-Disclosure Agreement (NDA) Employment Contract
CH. XI

Clause Library

The Clause Library is a reusable repository of individual contract clauses. Lawyers can save frequently used language — indemnity clauses, force majeure language, payment terms — and insert them into any document without retyping.

Accessing the Clause Library

GET /legal/clauses returns all saved clauses. Each clause has a title, category, and HTML content body.

Saving a New Clause

POST /legal/clauses — highlight a passage in the Legal Editor, give it a name and category, and save it to the library. It becomes immediately available for insertion into any future document.

Best Practice

Maintain a "Golden Clauses" category in the library containing legally approved boilerplate reviewed by the Director of Legal Services. All lawyers should use these golden clauses for recurring provisions rather than drafting fresh language each time, reducing the risk of unauthorized variations.

CH. XII

Collaboration & Access Control

Legal matters can be shared with multiple internal users (collaborators) with precise access controls. Matter visibility can also be toggled to expose specific documents to staff in the Personnel Portal.

Adding a Collaborator

POST /matters/{id}/collaborators — provide the target admin's ID and their permission level (View or Edit). Collaborators can then see the matter in their dashboard. The GET /legal/collaborator-candidates endpoint fetches the list of all admins who can be added.

Removing a Collaborator

DELETE /matters/{id}/collaborators/{target_admin_id} — immediately revokes the collaborator's access to the matter.

Matter Visibility (Staff Portal)

PATCH /matters/{id}/visibility — toggles whether a specific matter is visible to the linked staff member via their self-service portal. When visible, the staff member can view (but not edit) their own legal documents. This is used for employment contracts, offer letters, and HR-initiated legal cases.

👁️

Staff Self-Service View

GET /legal/staff/self/visible-matters — staff members can retrieve all matters made visible to them. Used by the Staff Legal Portal.

📄

Single Visible Matter

GET /legal/staff/self/visible-matters/{id} — retrieves a specific visible matter for a staff member, including signing status and document preview.

Matter Settings

Beyond collaborators, PATCH /matters/{id}/settings allows editing matter-level metadata: title, category, linked staff/invoice ID, and other configuration fields. This is used after initiation if details need correction.

CH. XIII

Audit Trail & Internal Memos

Every action in the legal system is logged to an immutable audit trail. Additionally, lawyers can attach internal memos to matters for team communication and case notes.

Viewing the Audit Trail

Click the 📋 Audit Trail button on any matter row. The panel shows every logged event in chronological order:

Matter Initiated Content Saved Signing Session Started Signature Link Dispatched Walk-in Signature Captured Remote Signature Submitted Final Execution Completed PDF Sealed & Generated Session Extended Collaborator Added / Removed Visibility Changed Matter Voided

Each log entry includes: the actor (admin name and ID), the action, the matter ID, the timestamp, and (for signing events) the IP address and browser user agent of the signatory.

System-Wide Activity

GET /legal/activity returns the 15 most recent events across all matters (used by the Dashboard activity feed). GET /legal/execution-trends returns time-series execution data for the velocity chart.

Internal Memos

Memos are private, internal-only notes attached to a matter — not visible to clients or external signatories.

Operation Endpoint Use Case
View Memos GET /matters/{id}/memos Read all internal notes for this matter in chronological order
Add Memo POST /matters/{id}/memos Add a case note, meeting record, or legal observation
Edit Memo PATCH /matters/{id}/memos/{memo_id} Correct or update an existing memo entry
Usage

Use memos to document client conversations, record decisions made during vetting, note outstanding due diligence items, or communicate instructions to other team members working on the matter. Memos are timestamped and author-attributed but can be edited, unlike audit logs which are write-once.

CH. XIV

Compliance, Integrity & Regulatory Framework

The legal system is engineered to comply with Nigeria's digital signature and electronic evidence framework, ensuring that every executed document carries the legal weight of its physical equivalent.

Regulatory Compliance
⚖️

Nigerian Evidence Act 2011

The system's digital signature process satisfies the requirements for electronic signatures under Nigerian law — capturing IP addresses, timestamps, device metadata, and explicit acknowledgement for non-repudiation.

🔒

Data Privacy

All personal data (client names, emails, signature images) is handled per applicable data protection principles. Signing sessions use unique tokens that expire, preventing unauthorized replay access.

Document Integrity Mechanisms
1

SHA-256 Document Hash

When a signing session is prepared, the system computes a SHA-256 cryptographic hash of the document's HTML content. This hash is stored and displayed in the Archive. Any subsequent tampering with the document's content would produce a different hash — providing verifiable proof of integrity.

2

Immutable Signing Token

Each signing session is tied to a unique, randomly generated token. This token links the signatory's action to the exact version of the document that was hashed. The token cannot be reused after the session concludes.

3

Certificate of Authentication

Upon execution, the system generates a Certificate of Authentication PDF. This certificate contains: the document hash, all signatory names and roles, timestamps, IP addresses, and the signatures themselves. This certificate is the primary legal proof of execution.

4

Google Drive Encrypted Storage

All executed PDFs, authority signatures, and attachments are stored in a private Google Drive vault with organizational access controls. No document leaves the vault without authentication.

Pre-Execution Compliance Checklist
# Requirement Where to Verify
1 All 5 Signature Vault slots are Active (not Empty) Signature Vault tab
2 Contract content reviewed and approved by the lawyer Legal Editor — Document Body tab
3 Client identity verified against CRM record Deal Intelligence panel in editor
4 Signing session token dispatched and received by client Manage Execution Modal — signing status
5 All required signatures collected (client + witness) Signing status indicators in editor/modal
6 Document hash matches pre-signing snapshot Archive — Audit Hash column (post-execution)
7 Sealed PDF generated and stored in vault Document Hub — Vault Panel
8 Sealed PDF sent to client Manage Execution Modal — Send Sealed PDF
Final Note — Support

For system access issues, missing signature slots, or questions about specific contract clauses, contact the Director of Legal Services. For technical errors or API failures, contact the system administrator with the relevant matter ID and the specific error message visible in the browser console or toast notification.