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 app profile
A declaration is two lists: what the app does, and where it operates. LexLint matches obligations against those two lists and nothing else.
Activities
What the app does, from this list. It is read from the live server at each build, so it is always the server's own list:
crawls_webtrains_modelsgenerates_contentdeploys_chatbotautomated_outreachhigh_risk_decisionsprocesses_voiceprocesses_biometricspublishes_adult_contentoperates_social_platformserves_minorsoperates_app_storeships_mobile_appaggregates_contentdistributes_software_producthandles_health_recordsprovides_financial_servicesoperates_essential_serviceis_listed_companyprovides_telecom_servicesstatutory_requestsrecords_conversationstracks_devices
Jurisdictions
Where the app operates, as lowercase slugs whose levels are separated by /, such
as us, us/ca, eu, de and kr. A slug is
the jurisdiction's path in the UnGovr Atlas, and
https://www.ungovr.org/atlas is where to find one.
A deeper or unresearched path resolves to the nearest jurisdiction with law, and the
jurisdictions whose law is researched are listed at
https://lexlint.io/law for you to check.
Name every jurisdiction the app operates in: one left off is simply not linted.
lexlint.yml
The plugin keeps the declaration in lexlint.yml at the repository root, so a
second run starts from the first run's answers. The fields are set out in
the schema reference.