Why LexLint?
LexLint is built by UnGovr, whose transparency platform documents governments across 200+ countries. Operating at that scale means crawling public sites, processing recordings, and generating content under many different legal regimes at once, so we had to answer for ourselves, continuously, which AI, scraping, privacy, cybersecurity, age-gating, and news-aggregation law applies where. LexLint is the tool we built to lint our own work: it checks all six against what an app declares, automatically, and cites the instrument behind every finding. Now we are opening it to other developers, so any coding agent can catch the basics as early as we do.
UnGovr itself is a transparency platform: a public record of 330,000+ government entities across those countries, the open records law that applies to each one, and the documents, meetings and reports they publish. It is built in Santa Barbara, California, by a small team of engineers and operators rather than lawyers, which is worth knowing before you read a finding. You can see who they are on the UnGovr people page.
What it is, in one paragraph
A compliance lint, not a legal assessment. Findings are research summaries of public legal sources with citations and as-of dates. They are not legal advice, they create no attorney-client relationship, and they are never authorization to access any system. The passing state is "no basic issues found," never "compliant." LexLint is in beta.
If you are counsel rather than a developer, LexLint for legal teams says what a developer will hand you and what the tool will never do.
The words this site uses are defined in the glossary, in United States legal usage first, with the term each other regime uses for the same thing beside it.
How current the law data is
LexLint is only useful if it knows today's law, so this is stated rather than implied. Three things run on a schedule and they are three different things. The legal news wire is swept every day, across every jurisdiction in the corpus; a story that outruns what we hold opens a research request and never writes a law row by itself. The corpus is rebuilt and republished every day. And every law carries the date it was last checked against its sources, which a finding on an instrument reports and which a page never averages away.
Research is human and runs in waves, so those dates spread out. That is why the footer of every page gives a range rather than a single date, and why the range includes the oldest check in the corpus: a heartbeat that only ever shows its best number is not a heartbeat. Findings older than 60 days come back flagged stale, and a jurisdiction whose data has aged is a warning rather than a quiet pass.
AI and this site
The lint itself is deterministic. When your agent calls LexLint, no model runs on our side: findings are rules applied to a researched software-law corpus, and the only AI in the loop is the agent you bring.
AI does help build what the lint reads. The UnGovr corpus is researched with AI assistance, and citations are verified against primary sources. The pages on this site, including the law notes, are drafted with AI assistance under the direction of UnGovr staff and checked against primary sources. Where a note has had a substantive editorial review, the note says so and gives the date. UnGovr holds editorial responsibility for every page; write to hello@ungovr.org. Illustrations on Insights articles are generated with AI, and each one carries that claim in its own file metadata, where a machine can read it. The News page carries publishers' own headlines: AI selects the stories and resolves their jurisdictions, it does not write them. Several jurisdictions LexLint covers now require disclosure when AI-generated text is published. This section is that disclosure, and a lint should pass its own checks. How every UnGovr and LexLint site is made, site by site, is on How this site is made.
Terms and privacy
LexLint is an UnGovr service: the UnGovr terms of service and privacy policy apply to all of it, including your use of the MCP server and the UnGovr key a lint runs on. LexLint stores nothing you have not deliberately sent it. That key, whether it came with a free account or a trial, passes through to the UnGovr Open Data API on each call, and LexLint never writes it down. Exactly two things are collected automatically by LexLint, and they are the whole list. The Open Data API keeps a request log of its own, set out at https://www.ungovr.org/open-data/api-keys and holding which collection was asked for and a one-way hash of the key, never which jurisdiction you looked up.
Which plugin version you are running. LexLint forwards it with the preflight it already makes, and we store it on its own, in a place that holds nothing but version numbers. It is how we tell whether anyone is still on a bundle old enough that retiring an old tool name would break them, and we got that wrong once: we retired three names in August 2026 without being able to check. A version string and nothing else, with no record of what you linted.
Feedback you send deliberately. /lexlint-feedback, which
you run yourself when you have something to tell us. It shows you the exact text first
and sends only what you approve, recorded against your account so we can write back.
A lint run you see before it leaves. A run reaches the LexLint portal only at the close of the run that produced it, after your agent has shown you exactly what it contains and you have approved the upload. From there it is kept against your UnGovr account, and a trial key's run comes back with a share link that needs no sign-in, never against a session or a repository.
You can delete a run or delete a project at any time from the portal. Deleting a run removes it immediately and its stored payload is purged within 30 days; deleting a project removes it, and everything under it, right away. You can also export a project's own runs as JSON. A run can be shared by an unguessable, expiring link that works without signing in, and revoking it deletes the link immediately, not merely marks it inactive. A trial key's account has no sign-in. To keep its runs, sign in (an account is free) and paste the trial key at my.lexlint.io/claim and the runs, their project and the key move to your account, where the portal's delete button is yours. To have a trial's run deleted without an account, write to hello@ungovr.org quoting the share link and we delete the run, or the link alone, within one working day.
LEM
LEM is a fictional robot, and the character in the illustrations on Insights. LEM stands in for the UnGovr crawler, which is real.
The crawler fetches public records from government sites around the world and works out, one page at a time, what each site allows. The situations LEM is drawn into are the ones it meets: the sign on the lawn, the padlock on the gate, the contract that will not stop unrolling. Every constraint an article describes is one we have run into.
There are more pictures of LEM on ungovr.org.