Manifesto
Rules we wrote down before we needed them
Legal software fails quietly. A citation that does not exist, a date that is off by a week, a rate applied to work billed last quarter — none of these announce themselves. So the constraints came first, and the features were built inside them.
- 01
Nothing unresolvable reaches the user
No draft, memo, argument, chat answer or research result may contain a citation or case reference that does not resolve to a real judgment or provision in the corpus. The gate applies to every AI surface.
There is no bypass flag. "Does not make up cases" is either structurally true or it is marketing.
- 02
Legal instruments come from the engine, not from a chat model
The document engine has the clause registry and the statutory citation gate. A model writing a petition straight into the editor would go around both.
Every instrument this software produces is rendered through the clause registry. An unregistered clause type raises an error rather than disappearing from the file.
- 03
Everything is a draft until an advocate approves it
An unapproved document exports with an "AI-generated draft — verify before filing" watermark and a plain statement that this is not legal advice.
Approval clears the watermark and is recorded against a named user and a timestamp. The watermark is the default state, not an exception you opt into.
- 04
A computed limitation date is a prompt to check, never an answer
The engine cannot see the time a certified copy actually took, an unlisted court holiday, an acknowledgement under s.18, or a pending condonation — and those are exactly what move the date.
Every date is stored with its working and its caveats, and stays unverified until an advocate confirms it. No screen shows a due date without showing what it did not account for.
- 05
An unmatched cause-list item is normal
A day’s board is thousands of cases and a handful are yours. Matching is exact or normalised across the written forms of an Indian case number, and reports which of the two it used.
No edit distance, no party-name similarity. A wrong match puts somebody else’s hearing in a real advocate’s diary, which is worse than no match at all.
- 06
A billed rate is frozen at the moment work is logged
The applicable rate is resolved when a time entry is created and stored on the entry itself.
A rate card added or changed later cannot silently reprice work already logged, let alone work already invoiced.
- 07
This software does not assert a tax regime
Whether GST applies to a given advocate’s services to a given client, and who is liable under reverse charge, depends on both parties’ registration status. That is a legal and accounting question.
Tax rate is an input the advocate supplies, applied as plain arithmetic. An invoice states that the treatment is the advocate’s own determination; it never prints a rate as though the software computed it from the facts.
- 08
Money is exact decimal, never floating point
An invoice exists to reconcile to the rupee.
A type that cannot represent ₹0.10 exactly has no business anywhere near one. Rounding is half-up, the way a person totalling a bill by hand rounds — not the language default.
- 09
A court calendar is either loaded or it is not
Only fixed-date national holidays are seeded automatically, because only they can be stated without asserting something uncertain. A court’s vacation dates are entered as data, never invented.
A court with no calendar on file is shown as an honest gap. It is never silently treated as a clean calendar.
- 10
No credential ever reaches the browser
Every model call happens server-side, behind an authenticated API. The trust boundary is the backend, never a route guard in the frontend.
A build that contains an API key fails its own check. Authorisation lives in the auth dependency and the repository layer; a resource owned by someone else returns 404, exactly like one that does not exist.
- 11
Your matter documents are the sensitive asset
These are privileged client documents. Matter facts are client confidences.
No prompt, log line or third-party call carries client names, addresses, identifiers or case facts beyond the matter record. Uploads carry an expiry from creation, and the retention worker deletes the stored object as well as the row.
- 12
Proof is an artifact, not a checkmark
Nothing here is considered done because a test went green. It is done when it produces a running artifact — a citation that opens, a DOCX that renders correctly in Word, a deleted storage object, a rejected tampered webhook, a measured latency.
A passing test suite is table stakes. It is not evidence that the feature does what a practising advocate needs it to do.
Hold us to any of these
If something on this page is not true of the software you are shown in a walkthrough, say so on the call. That is what the page is for.
Get in touch
Got questions?
We answer them ourselves.
No chatbot, no ticket queue. Tell us what you are trying to do and someone who has worked on the software will reply.
info@legosphere.com