00How to read this page
Fourteen tools. Each one does exactly one job.
These are separate from the practice brains, which are a different thing entirely. Every tool here is free, the source is published, and it runs on your own machine.
Each is described the same way: what it actually is, then the problem it exists for, then what it does about it, then the honest limits. If a description here does not make sense to a working practitioner, that is a defect in the description, and I would rather hear about it than have it politely ignored.
01Tomorrow's board
NAKASHA
macOS app · freeWhat it is. A small Mac application that reads tomorrow's court board and pulls out the matters that are yours.
The problem. The daily board is published in the evening. It runs to 87 pages and 700 or more matters. Finding your own name in it means scrolling a PDF on a phone, late, tired, hoping you do not skip a line — and a missed matter is not a small mistake.
What it does. Type your surname. It gives you your list. Click any row and it shows you that entry against the printed page, so you confirm it with your own eyes rather than trusting the software. Export the ones you keep. It reads both a bar association's daily board and a High Court daily causelist, and when you open both for the same date it uses one to fill the gaps in the other.
The matching is deliberately loose, because boards are printed with words broken mid-line and fields cut off at fixed widths. A tool like this is allowed to show you an extra row you do not need. It is not allowed to hide one you do.
02Privacy conformance
samanvaya · समन्वय
macOS app · freeWhat it is. An adviser writes down one declaration describing an organisation. samanvaya reads it and returns a local report saying which obligations under four named privacy regimes appear satisfied, which are unaddressed, and which cannot be resolved on the facts as declared.
The problem. Four separate compliance reports are four separate compliance reports. The sentence an adviser actually needs is the one that falls out of comparing them — where the regimes agree, where they diverge, and where the declaration is simply silent.
What it does. It reconciles, and it refuses to rank. It never touches the organisation's systems, networks or data; it reads what a human wrote down. It makes no network calls at all.
The honest limits, from its own README. Of the four regimes, one is sourced and three are draft — the repository badges say so on its front page rather than burying it. It reports; it does not advise. 790 tests, 90.8% coverage.
03Scanned paper
Multi-Script PDF OCR
macOS app · freeWhat it is. A Mac app with three buttons — Open, OCR, Save — that reads text out of scanned PDFs in 12 or more Indian scripts and 17 other languages and saves a searchable copy: the recognised text is written back into the PDF as an invisible layer, so the file looks identical to the scan but the text can be searched and copied out of it.
The problem. A certified copy arrives as a scan. It has no text layer, so you cannot search it, quote from it, or paste a paragraph into your own document. The cloud OCR services that handle Devanagari want you to upload the document — which is the one thing you cannot do with a client's papers. And the file is 40 MB, which the registry's upload form will not take.
What it does. English and sixteen other non-Indic languages go through
Apple's on-device Vision framework. Every major Indian language goes through a Tesseract binary
bundled inside the app with its language data — nothing is downloaded at runtime. The
text appears in a side panel, selectable and copyable per page or in bulk. There are two ways
to save. Save with OCR writes the recognised text back into the PDF as an invisible
layer: the page looks identical to the scan but pdftotext, Spotlight and a PDF
reader's find function can all reach the text. Save Reduced is the separate
size-shrinking pass and does not add a text layer — pages that already have a real text layer
are passed through untouched so they stay searchable and small, and only image pages are
rasterised. If the source is already optimised, the app refuses to write an inflated "reduced"
copy and tells you so instead of silently making the file bigger.
04Before it leaves
Pseudonymisation Gateway
Library · freeWhat it is. A filter that sits between you and any cloud AI and takes your client's identity out of your words before they leave your computer — then puts it back into the answer when it returns.
The problem. The moment you ask any cloud assistant to save this reply against the matter and put the next date in my calendar, the client's name, the other side's name and the case number have already left your machine — because they were in the sentence you typed. You never decided to send them.
What it does. Before anything is transmitted it replaces every identifying value with a neutral placeholder, sends only that version, and restores the real values in the reply you read:
You type → File this under the Mehta matter, PAN ABCDE1234F.
What is sent → File this under the [PERSON_1] matter, PAN [PAN_1].
What you see → File this under the Mehta matter, PAN ABCDE1234F.
The substitution is consistent within a session — the same person is
[PERSON_1] every time they appear — so the model can still follow who did what to
whom. It simply never learns who they are. The map between real and placeholder lives in memory
for that session only and is never written to disk.
What it covers. The identifiers general-purpose tools miss, because most were built for American and European data: Aadhaar, PAN, GSTIN and IFSC for India; National Insurance, NHS and UTR numbers for the UK; NRIC for Singapore; Emirates ID and trade licence numbers for the UAE; TFN and ABN for Australia; SSN and ITIN for the US. Emails, names with honorifics, dates and case numbers work everywhere. Microsoft's Presidio is good software and does not cover the Asian and Gulf identifiers — that gap is why this exists.
The honest limits. Anything it cannot fully resolve is shown to you and recorded rather than quietly transmitted, so you make the call rather than discovering it later. And it remains a technical safeguard, not a legal discharge.
pip install git+https://github.com/Wolfgangrush/pseudonymisation-gateway
05Statute as code
The DPDP Act 2023, as runnable code
Reference implementation · freeWhat it is. India's data-protection statute written out as working software instead of prose, so that a compliance question can be run rather than only argued.
The problem. Two advisers read section 8 and reach two answers. Neither is being careless; the text admits both. When the disagreement is about what the section does rather than what it means, code settles it faster than correspondence.
What it does. Sections 5 to 16 as Python you can call, with 407 tests standing behind the behaviour. Published as one citizen's reference implementation in response to MeitY's Law-to-Code consultations.
pip install git+https://github.com/Wolfgangrush/dpdp-law-to-code
dpdp-check
Supreme Court Draft AI Regulations 2026 — clause map
Analysis · freeWhat it is. A clause-by-clause mapping of the Supreme Court of India's draft Regulations for the Use of AI in Courts, 2026 against open-source legal tooling, with a stakeholder comment template.
The problem. A draft regulation lands, the consultation window is short, and every practitioner reads it alone. What is missing is a map that says which clause reaches which kind of tool.
06Keeping track
Legal Citation Manager
Local system · freeWhat it is. A local system that receives judgment PDFs, pulls the citation metadata out of them, stores it in a database on your own machine, and lets you search, edit and export the library.
The problem. You read a judgment in court, you use it, and four months later you remember the proposition but not the citation. There is no record, because the reading happened on a phone between two boards.
What it does. Send the PDF to your own bot from court. It extracts the metadata, files it in local SQLite, and gives you a dashboard to search and edit. Export the whole library when you need it elsewhere.
News digest bot
Server-side · freeWhat it is. A bot that collects the day's reported judgments, statutory notifications and legal news from several sources, drops the duplicates, attaches the judgment or order link where it can find one, and sends you a short digest written for a practitioner rather than a general reader.
Built with the help of Sidinsights — credited in the repository, and credited here.
07From the dissertation
CHOF — quantifying human oversight
Research · freeWhat it is. The working implementation of a formula I proposed in my LL.M. dissertation at Queen's University Belfast.
The dissertation asked how much human oversight an autonomous system must retain before the law is satisfied, and proposed a way of measuring it rather than asserting it. Writing it surfaced two problems with my own answer. The first was that a formula on paper cannot be applied consistently by two different assessors. The second was that a figure calculated once, before deployment, says nothing about the moment the system is actually running.
These two repositories are the fix. chof-calc is the formula as
software — the same inputs give the same number, and the working is shown. chof-kernel
is the second answer: an embedded governor that applies the measure in real time rather than
once on paper, following the pattern of a tactical safety governor, and writing a
cryptographically signed audit trail so the record of what it did cannot be quietly revised
afterwards.
pip install git+https://github.com/Wolfgangrush/chof-calc
chof-calc
Installation guide chof-calc — the formula chof-kernel — the governor
08Before you install it
repofacts
Command line · freeWhat it is. A command-line tool that checks any GitHub repository before you install it — whether a model recommended it, a colleague sent you the link, or you found it yourself in a search.
The problem. A confident list of libraries arrives — from a model, a forum thread, or your own afternoon of searching. One of them does not exist. One has no licence file at all, so there is no grant of rights whatever its README implies. One has been dead for two years. On the page, all three look exactly like the ones that are fine, and none of them announces which it is.
What it does. Give it the list — a chat log, a markdown file, your notes. It pulls out every repository reference, asks GitHub about each one, and prints a verdict per repo: STOP, CAUTION or OK, with the reason in plain words. A repository with no licence file is a STOP rather than a warning, because there is nothing to rely on. It can also compare what the model claimed — the star count, the licence — against what GitHub actually reports, and a deeper pass adds security, quality and install-simulation checks.
A check that could not run says so. It never reports an unchecked thing as a pass — which matters more here than usual, since the tool exists to catch exactly that habit in something else.
pip install git+https://github.com/Wolfgangrush/repofacts
repofacts
09Before you file it
pratipaksha · प्रतिपक्ष
AI agent · freeWhat it is. The opposing counsel you have not met yet. Point it at your own draft and it attacks it — then tells you how to survive the attack.
The problem. You find out what was wrong with your petition when the other side says it in open court, or when the Bench asks the question you had not thought about. By then the cheapest moment to fix it — before filing — is gone. Reading your own draft as an opponent is genuinely hard, because you already believe it.
What it does. It classifies the document, runs a threshold pass first — the objections that end a matter at the door regardless of merits, like pre-institution mediation, court fee on the relief actually claimed, res judicata, limitation, non-joinder — and then runs the attack battery for that document type. There are fourteen: civil and writ pleadings, defensive pleadings, contracts, notices, opinions, criminal pleadings, arbitration, appellate work, execution, consumer, direct tax, rent control, family, and company and insolvency. For each finding it switches register twice: once as the opponent putting the attack to the Bench, coldly and without softening, and once back on your side with the defensive fix. Findings are ranked FATAL through LOW, and it writes a timestamped report without touching your file.
git clone https://github.com/Wolfgangrush/pratipaksha
cp -r pratipaksha/agents/pratipaksha ~/.claude/agents/
pramaan · प्रमाण
Command line · freeWhat it is. It makes a screenshot, a CCTV clip, a WhatsApp export or a downloaded statement provable — and produces the certificate an Indian court requires before it will look at any of them.
The problem, in plain words. You cannot simply hand a printout of a WhatsApp chat to a court in India. Electronic material is admitted only with a certificate — under section 63 of the Bharatiya Sakshya Adhiniyam, which replaced the old section 65B of the Evidence Act — signed by someone responsible for the device or system, stating how the record was produced and that the device was working normally. Get that certificate wrong, get it signed by the wrong person, or forget it, and the evidence simply does not come in. Cases are lost on this and never on the merits. And separately: once a file leaves the phone and travels through email, WhatsApp and three laptops before it reaches the Registry, the other side will ask how you know it was not altered on the way — and usually you cannot answer.
What it does. Three things, in order. It fingerprints the file the moment you take custody of it, so any later change is detectable and you can prove the copy filed is the copy captured. It keeps a chain of custody — who held it, when, what was done to it — as a record you can put before a court. And it generates the section 63 certificate with the particulars the section actually asks for, rather than a template someone copied from another matter.
pip install git+https://github.com/Wolfgangrush/pramaan
pramaan
nyaya-check · न्याय
Command line · freeWhat it is. A cause-of-action checker for cheque dishonour. It answers one question before you draft anything: is this complaint still alive, or is it already dead on the calendar?
The problem. A section 138 complaint is a sequence of deadlines, and missing any one of them by a single day ends it — whatever the merits, whatever the amount. The cheque must be presented within validity. The demand notice must go within thirty days of the bank's memo. The drawer gets fifteen days to pay. Only then does the cause of action arise, and the complaint must follow within a month of that. Practitioners do this arithmetic by hand, under time pressure, from a file where the dates are scattered across four documents — and a mistake is not recoverable.
What it does. You give it the dates. It runs each statutory ingredient in order, tells you which are satisfied and which are not, computes every window with the actual calendar, and shows its reasoning at each step rather than returning a verdict you have to trust. Behind it sits a kernel of civil and criminal procedure and evidence provisions, so the answer is grounded in the sections rather than in a rule of thumb.
pip install git+https://github.com/Wolfgangrush/nyaya-check
nyaya-check
asthir · अस्थिर
Command line · freeWhat it is. A radar for law that is wobbling. Not "this case was overruled" — a citator tells you that. This tells you "this proposition is unsettled, and here is whether the unsettled line is the one that binds your bench."
The problem. A citator answers a question about a case: is it good law. The question you actually have is about a proposition: if I argue this, will it hold. Those are different, and nothing tells you the second one. A point can be settled in one High Court, openly doubted in another, and sitting under a pending reference in a third — and the judgment you are reading will not mention any of that. You find out when the other side hands up the contrary line.
What it does. It reads judgments across India's High Courts, tracks where the same proposition is being decided both ways, and flags the fault line — including which way your own bench has gone, which is the part that decides whether the instability is your problem or your opportunity.
pip install git+https://github.com/Wolfgangrush/asthir
asthir