Docs menu
Get started
Quickstart Install: Claude Code Install: Codex Install: other clients API keysConcepts
How a run works The app profile The severity model What a run does not sayTools
check_access claim_trial_key set_profile run_lint get_law resolve_domain_jurisdiction submit_feedback upload_lint_runGuides
A whole run, end to end Console TestPack in CIReference
Endpoint and transport lexlint.yml schema Errors ChangelogHelp
Support and feedbackConcepts
The severity model
WARN and INFO, the four kinds of finding, and the three rules that bound what a run can claim.
| Severity | Meaning |
|---|---|
| WARN | Something to act on. Three different things arrive this way, and kind tells them apart: a live obligation applies to your declared profile (obligation); a jurisdiction-wide crawl-law attribute LexLint flags as worth acting on, such as an unsettled or restrictive posture (posture); or LexLint lacks current data for a jurisdiction you declared (coverage). |
| INFO | Context, not a live duty on you. Three different things arrive this way, and kind tells them apart: an instrument LexLint cannot say is in force today (pending); a jurisdiction-wide statement of how the local law treats crawling as a whole (posture), which cites nothing and binds nobody on its own; and a note about what was not reported (coverage), such as instruments that exist but no longer bind. |
| Kind | Meaning |
|---|---|
obligation | A specific instrument binds the declared profile now. |
coverage | A note about what was not reported, never a pass: LexLint could not read something, holds no data for a declared jurisdiction, cannot map what it holds to a declared activity, or holds an instrument that no longer binds. |
posture | How this jurisdiction's law treats crawling as a whole: whether browsewrap binds, what weight robots.txt carries, whether a public page is outside computer-crime law. Jurisdiction-wide attributes rather than instruments, so they bind nobody on their own and cite nothing. Appear only when crawls_web is declared. |
pending | An instrument LexLint cannot say is in force today: proposed, not yet in force (from a later day, or from a date not yet set), blocked by a court, or carrying a status LexLint has no policy for. An injunction can be lifted, and a start date missing from the record does not mean the law is not in force, so treat this as a duty to watch, not one to ignore. |
A posture finding whose value is unsettled is a warning, not a pass.
"The law here is silent, untested, or in flux" is among the most actionable things a crawler
author can be told.
LexLint never reports an ERROR severity. A lint cannot be sure an activity is prohibited rather than merely regulated, and it will not assert unlawfulness on the strength of a matched instrument. Treat a live WARN obligation as the thing to act on.
Three rules bound what the output can claim. A jurisdiction LexLint has no current data for is a
WARN, never a silent pass. Every finding carries its as-of
date and a staleness flag, because laws change faster than any law library can follow. And the passing state
is no basic issues found: the word "compliant" does not appear in LexLint
output, because a lint cannot know that.