Legal Architecture & Technical Specs
Trust accounting, smart conflict check, court deadline calculator, SOL engine, 4-tier billing, and 13 more services.
1. Trust Accounting
| Type | Effect | Overdraft Check |
|---|---|---|
| deposit | +amount | Never blocked |
| withdrawal | -amount | Hard stop |
| fee | -amount | Hard stop |
| correction | ±amount | Bypassed |
| interest-credit | +amount | Never blocked |
| transfer | ±amount | Hard stop |
2. Conflict Check
| Type | Condition | Severity |
|---|---|---|
| Exact ID | Same contact/company record | Definite conflict |
| Exact name | Normalized names identical | Definite conflict |
| Close name match | High similarity | Potential conflict |
| Partial name match | Moderate similarity | Informational |
3. Deadline Calculator
| Type | Skips | Notes |
|---|---|---|
| Calendar day | Nothing | Every day counts |
| Business day | Saturdays, Sundays | Weekdays only |
| Court day | Weekends + holidays | Skips non-court days |
4. Time Billing
Resolves billing rates using 4-tier priority with automatic expiry handling.
Rate Resolution Priority:
`
- Matter-specific rate (highest)
- Client-specific rate (contact OR company)
- Practice-area rate
- Attorney-default rate (lowest)
`
Expiry Handling:
Rates carry an optional expiration date. Any rate whose expiration has passed is automatically excluded from consideration, so a future-dated rate change takes effect on schedule without anyone having to remember to flip a switch.
Resolution at a Glance:
When a time entry is created, Aeion looks up the matter's client and practice area, then walks the priority chain — matter-specific, then client-specific, then practice-area, then attorney-default — and applies the first valid (non-expired) match it finds. If nothing matches, it falls back to your firm's configured default hourly rate.
Invoice Generation:
- Aggregate unbilled work-in-progress by matter/attorney/date
- Apply billing rates
- Generate line items
- Write-off capability
- AR aging buckets
5. Statute of Limitations Engine
Calculates SOL deadlines and creates 90-day warning reminders automatically.
Rule Configuration:
Each SOL rule pairs a jurisdiction and tort type with a period (in months), a calculation method, and a citation — e.g. "CA / Personal injury / 24 months / CCP § 335.1." Your firm configures the rule set for the jurisdictions and tort types you practice in; the engine applies whichever rule matches a matter's jurisdiction and tort type when calculating deadlines.
Calendar Month Arithmetic:
SOL periods are frequently expressed in months, and naive month math breaks on date overflow. Aeion handles this correctly: adding one month to January 31st correctly lands on February 28th (or the 29th in a leap year) instead of accidentally rolling into March.
Warning Thresholds:
Every SOL calculation returns the deadline date, a warning date set 90 days earlier, whether the deadline has already passed, and whether it's approaching within the warning window — along with the statutory citation, so your team always has the source of the rule at hand.
Auto-Docket Creation: When SOL is calculated, docket reminders are automatically created for the matter:
- 1-year warning
- 90-day warning
- 30-day warning
- 7-day warning
6. Supporting Capabilities
Contract Analytics:
- Contract performance metrics by counterparty, type, value
- Clause frequency analysis across contracts
- Obligation tracking and deadline monitoring
- Renewal pipeline with risk scoring
- Key terms extraction
Contract Obligation Tracking:
- Track contractual obligations per contract
- Compliance reminder scheduling
- Deadline notifications
- Escalation workflows for missed obligations
Contract Renewal Pipeline:
- Auto-identify contracts expiring in 90/60/30 days
- Generate renewal quotes with updated terms
- Track renewal status (pending, negotiated, renewed, expired)
- Renewal history preservation
Contract Version Control:
- Document version tracking with audit trail
- Version comparison (diff)
- Rollback to previous version
- Version metadata (author, date, change summary)
Document Automation:
- Template-based document generation
- Clause library for standard provisions
- Variable substitution from matter/client data
- Numbered paragraph generation
- Section cross-references
E-Signature:
- Multi-provider orchestration (Native/DocuSign/HelloSign)
- Envelope creation with signers
- Status tracking (sent, delivered, completed, declined, voided)
- Signing URL generation
- Webhook handling for status updates
Legal Research:
- Case law database search
- Citation verification
- Precedent tracking across matters
- Research notes with matter association
- Citation formatter
Legal Analytics:
- Firm-wide metrics dashboard
- Matter pipeline visualization
- Attorney utilization tracking
- Revenue by practice area
- Client profitability analysis
- Custom report builder
LEDES Export:
- LEDES 1998B/2000/2010 invoice format generation
- Line item mapping from time entries
- Expense categorization
- Batch export for insurance billing
Calendar Sync:
- Sync deadlines to Google Calendar, Outlook
- Two-way sync for court dates, deadlines
- Conflict detection with existing events
- Reminder configuration
Email Capture:
- Capture emails sent/received via the Connect module
- Auto-associate with matters based on client
- Threading by conversation
- Full-text search
- Attachment handling
7. Zero-Knowledge Compliance Proofs
For compliance attestations that shouldn't expose the underlying data, Legal includes a visual Zero-Knowledge Prover. It lets a compliance officer prove a statement is mathematically true without revealing the private values behind it.
How it works:
- On the canvas, drag Private Signal nodes (hidden inputs — e.g. an actual bank balance) and Public Signal nodes (visible thresholds — e.g. a $10M minimum), and wire them through comparison nodes (
Greater Than, etc.). - The builder compiles the graph into a zero-knowledge circuit that encodes the comparison you designed — proving, for example, that actual liquidity clears a required minimum — without the circuit itself containing the private number.
- "Compile WASM Prover" produces a browser-side proof generator, so the proof is generated client-side in the browser — the private inputs never leave the user's machine.
- The output is a compact JSON proof a counterparty can verify: it confirms the threshold is met without ever seeing the actual figure.
Use case: prove to an auditor that liquidity clears a covenant, or that every signer passed a conflict check, without disclosing the sensitive numbers. The visual builder is a power-user / compliance-engineer tool — standard matters don't need it.
The hard-stop rule is absolute for withdrawals and fees: if the requested amount exceeds the current balance, the transaction is rejected before it's recorded, and the response carries both the available balance and the requested amount. Correction entries are the sole exception, letting authorized staff fix legitimate ledger errors without being blocked by the same guard.
Close-but-not-exact name matches are scored on a similarity scale rather than a binary match/no-match — so "Johnson & Johnson" registers as identical to "Johnson and Johnson," while a name that's merely similar (say, a shared last name at a different company) surfaces as a lower-confidence, informational hit instead of a false alarm.
When deadline calculation lands on a weekend or holiday:
1. Advance day-by-day until a valid court day
2. Skip all Saturdays and Sundays
3. Skip all dates in the jurisdiction's holiday set
4. Return the first valid court day
Month-length overflow is handled correctly:
- Jan 31 + 1 month = Feb 28 (or 29 in a leap year)
- The engine detects the overflow and lands on the last day of the intended month
- Result: no accidental rollover into the following month
Rates have an optional expiration date:
- No expiration date → always valid
- Expiration date in the future → valid
- Expiration date in the past → automatically excluded from resolution
- This design allows future-dated rate changes to be scheduled in advance
Words are sorted alphabetically during normalization to handle word-order variations:
```
"Johnson & Johnson" → same normalized form
"Johnson and Johnson" → same normalized form
"Acme Corporation" → same normalized form
"Corporation Acme" → same normalized form
```
Both pairs above normalize to the same result, so word order and punctuation never cause a missed match.