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.
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.
| 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) |
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.
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).
These four cards track all legal matters (both internal/staff and external/client) by lifecycle stage.
These cards track contract-level status. "Executed" excludes voided contracts. "Pending" = active signing sessions awaiting completion.
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.
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.
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.
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.
Clicking Initiate New Staff
Matter opens the Initiate Modal pre-set to category Staff.
Select Staff Member
Choose the employee this matter pertains to. Their name will be linked to the case record and used for document personalisation.
Matter Title
Provide a clear, descriptive title (e.g. "Employment Contract — J. Adeyemi 2026"). This becomes the document's primary identifier across all views.
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.
Submit
Click Submit to create the matter. The system auto-generates a unique matter ID and redirects to the Legal Editor for this matter.
| 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) |
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.
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.
| 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. |
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.
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.
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.
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.
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.
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.
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.
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.
| 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 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.
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.
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.
| 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) |
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. |
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.
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.
| 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) |
| 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. |
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}.
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. |
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.
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:
When both the client and witness signatures are confirmed in the orchestration view, the terminal action becomes available:
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.
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.
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. |
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.
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.
| 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). |
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.
The toolbar appears above the
Document Body canvas. It uses the browser's native document.execCommand API for
formatting operations.
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.
The right sidebar (340px wide) contains document preview shortcuts and the Deal Intelligence section.
| 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. |
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.
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:
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.
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.
| 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 |
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.
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.
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.
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.
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.
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.
For signatories who are physically present in the office. Eliminates the need for a signing link.
Trigger Walk-in Modal
Click Walk-in Witness or Walk-in Client from the Editor signing panel or Manage Execution Modal.
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.
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.
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.
| 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. |
The fastest and most complete execution path. All authority signatures are applied programmatically — no printing, no scanning.
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.
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.
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.
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.
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.
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.
Used when a physical original with ink signatures and a stamped seal is required by statute or by the counterparty's solicitors.
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.
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.
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.
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.
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.
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.
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.
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.
| 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. |
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.
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 |
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.
Opened via the 📁 button on any matter row, the Vault Panel slides in from the right. It is the per-matter document repository.
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.
| 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}. |
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.
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.
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.
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.
View Template Details
Call GET /legal/templates/{template_id} to preview the full template content
before using it.
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.
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.
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.
The system ships with pre-seeded templates (loaded via
migration 021_seed_legal_templates.sql). These include:
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.
GET /legal/clauses
returns all saved clauses. Each clause has a title, category, and HTML content body.
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.
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.
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.
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.
DELETE /matters/{id}/collaborators/{target_admin_id} — immediately revokes the
collaborator's access to the matter.
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.
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.
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.
Click the 📋 Audit Trail button on any matter row. The panel shows every logged event in chronological order:
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.
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.
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 |
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.
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.
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.
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.
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.
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.
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.
| # | 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 |
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.