Skip to content
ai-supply.store
ОбзорКатегорииРейтингиСообществоAgent APIFAQ
ВойтиБесплатная регистрация
catalog / Legal & Compliance / Catala — Law-as-Code Language
▤TemplateLegal & ComplianceFree

Catala — Law-as-Code Language

A domain-specific language for translating statutory and regulatory text into correct, auditable executable code, pairing lawyers and programmers.

@ai-supply
Установки31k
⟳ upstream 1.2.1 · updated 1mo ago
↗ Исходный репозиторий
← More Legal & ComplianceLegal & Compliance leaderboard →How we grade security →Source ↗
✓ Grade A · 100/100 · SafeSecurity assessment
✓No compromise signals4capabilities surfaced8of 20 OWASP controls clear
Suspicious network referencesSuspicious code patternsBroad capability surfacePotentially unbounded loop
scanned 1mo ago·osv · gitleaks · opengrep · picklescan + heuristics·full breakdown in the Security tab ↓

Catala

Catala is a programming language designed to faithfully encode legislative and regulatory text — tax codes, benefits rules, statutes — into executable, auditable code. Developed by researchers at Inria, it uses a literate-programming style so each block of code sits next to the exact legal article it implements, letting lawyers and developers co-review the logic. It has been used to reimplement portions of the French and U.S. tax codes.

Key features

  • Literate syntax pairing legal text with its executable implementation
  • Default-logic semantics that mirror how statutes express rules and exceptions
  • Compiles to general-purpose languages including OCaml, Python, and C
  • Prioritizes correctness, traceability, and auditability of legal rules
  • Backed by peer-reviewed research on computational law

Legal engineers write Catala programs that mirror statute structure, then compile them into libraries other systems call to compute benefits, taxes, or eligibility with a clear audit trail back to the law.

Curated mirror of the open-source Catala (Apache-2.0). Get it from the source.

Rating rank
#1
of 11 in Legal & Compliance
Install rank
#5
of 11 in Legal & Compliance
Security score
100/100 · A
safe
Security rank
#1
of 11 in Legal & Compliance
Installs
31k
cat avg 29k
This listing vs category average
Installs
this
cat avg
Security (of 100)
this
cat avg
Adoption trend
See the Legal & Compliance leaderboard →
✓ Security: Safe · 100100/100 · grade Ascanned 1mo ago
✓ no compromise signals4 risk-surface · 7/20 OWASP controls flagged

Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.

Prompt card · med confidence (static)
{github.token}{GITHUB_REPOSITORY}{CI_PIPELINE_CREATED}{CI_REPO_CLONE_SSH_URL}{CI_COMMIT_BRANCH}{CI_REPO_DEFAULT_BRANCH}{CI_WORKSPACE}{CURDIR}{CLEANUP_TMP_GIT_CLONES}{CATALA_VERSION}{CUSTOM_LINKING_CATALA_Z3}{CUSTOM_LINKING_CLERK}{CUSTOM_LINKING_CATALA_NOZ3}{f}{BIN_TAG}{OCAMLOPT_EXE}{OCAML_FLAGS}{dir}{in}{out}{var}{xvarname}{xvar}

Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).

OWASP Top 10 for LLM Applications
⚠LLM05Improper Output Handlingmedium
Code that pipes model/user output into shell, eval, SQL or paths unsafely.
•Suspicious code patterns — dynamic code execution · CatalaLang-catala-682c1f7/compiler/driver.ml (CWE-95)risk surface
⚠LLM10Unbounded Consumptionmedium
Unbounded loops/recursion causing DoS or runaway cost.
Enforced at runtime by the gateway (rate limits + spend caps + size caps); static check flags unbounded loops.
•Potentially unbounded loop — an infinite loop (while True / while(1) / for(;;)) may cause runaway consumption · CatalaLang-catala-682c1f7/stdlib/c/period_internal.c (CWE-835)risk surface
⚠LLM03Supply Chainlow
Vulnerable/compromised dependencies, models or archives in the artifact.
•Dependency manifest — 2 npm dependencies declared · CatalaLang-catala-682c1f7/runtimes/rescript/package.jsonrisk surface
⚠LLM06Excessive Agencylow
Over-broad tool/permission surface or unrestricted egress.
•Broad capability surface — 3 high-impact capability categories referenced — verify least-privilege · CatalaLang-catala-682c1f7/compiler/surface/lexer.cppo.ml (CWE-272)risk surface
§LLM09MisinformationGovernance
Artifacts designed to produce false/deceptive output.
Detectable only by runtime behavioral evaluation; addressed via responsible-use attestation.
✓LLM01Prompt InjectionPassed
✓LLM02Sensitive Information DisclosurePassed
✓LLM04Data and Model PoisoningPassed
Backdoors/poisoning in training data or serialized models.
Behavioral poisoning needs model execution; static check covers unsafe serialization + dataset skew only.
✓LLM07System Prompt LeakagePassed
✓LLM08Vector and Embedding WeaknessesPassed
PII or plaintext source leakage in embedding/vector exports.
Embedding inversion/poisoning is largely runtime; static check covers PII in vector exports.
OWASP Machine Learning Security Top 10
⚠ML09Output Integritymedium
Middleware tampering with model outputs in transit.
Gateway enforces TLS + response integrity; static check flags output-rewriting code.
•Suspicious code patterns — dynamic code execution · CatalaLang-catala-682c1f7/compiler/driver.ml (CWE-95)risk surface
⚠ML05Model Theftlow
Unlicensed re-distribution / license-incompatible derivatives.
Static check verifies license declaration; extraction throttling is runtime.
•No license signal — no SPDX id or license keyword found · CatalaLang-catala-682c1f7/.git-blame-ignore-revsrisk surface
⚠ML06AI Supply Chainlow
Compromised PyPI/npm packages, typosquats, unsafe serialized models.
•Dependency manifest — 2 npm dependencies declared · CatalaLang-catala-682c1f7/runtimes/rescript/package.jsonrisk surface
§ML01Input Manipulation (Adversarial)Governance
Models vulnerable to adversarial perturbations.
Requires runtime robustness evaluation; addressed via publisher robustness attestation.
§ML03Model InversionGovernance
Training data reconstructable from a model's outputs.
Runtime/evaluation property; addressed via model-card data-provenance + DP attestation.
§ML04Membership InferenceGovernance
Determining whether a record was in the training set.
Runtime/evaluation property; addressed via overfitting disclosure + DP attestation.
§ML08Model SkewingGovernance
Models trained on skewed data producing biased output.
Requires fairness evaluation; addressed via model-card bias/limitations disclosure.
✓ML02Data PoisoningPassed
Poisoned training datasets with triggers or anomalous distributions.
Static check covers trigger phrasing, PII and label skew; full poisoning detection is runtime.
✓ML07Transfer Learning AttackPassed
Backdoored base models / LoRA adapters propagating to derivatives.
Backdoor detection needs behavioral probing; static check covers unsafe serialization + provenance.
✓ML10Model Poisoning (Weights)Passed
Tampered model weight files; integrity must be verifiable.
Static check enforces safe formats + records a content hash for downstream verification.
Other findings (32) · hygiene / uncategorized
•Unrecognized file type — '.git-blame-ignore-revs' is not on the allowlist · CatalaLang-catala-682c1f7/.git-blame-ignore-revsrisk surface
•Unrecognized file type — '.gitattributes' is not on the allowlist · CatalaLang-catala-682c1f7/.gitattributesrisk surface
•Unrecognized file type — '.gitignore' is not on the allowlist · CatalaLang-catala-682c1f7/.gitignorerisk surface
•Unrecognized file type — '.ocamlformat' is not on the allowlist · CatalaLang-catala-682c1f7/.ocamlformatrisk surface
•Unrecognized file type — '.cff' is not on the allowlist · CatalaLang-catala-682c1f7/CITATION.cffrisk surface
•Suspicious network references — URL shortener (3 URLs) · CatalaLang-catala-682c1f7/CITATION.cffrisk surface
•Unrecognized file type — '.?' is not on the allowlist · CatalaLang-catala-682c1f7/CNAMErisk surface
•Unrecognized file type — '.ml' is not on the allowlist · CatalaLang-catala-682c1f7/build_system/backend/backend.mlrisk surface
•Unrecognized file type — '.mli' is not on the allowlist · CatalaLang-catala-682c1f7/build_system/backend/c.mlirisk surface
•Unrecognized file type — '.sexp' is not on the allowlist · CatalaLang-catala-682c1f7/build_system/manpages.sexprisk surface
•Unrecognized file type — '.opam' is not on the allowlist · CatalaLang-catala-682c1f7/catala-js.opamrisk surface
•Unrecognized file type — '.locked' is not on the allowlist · CatalaLang-catala-682c1f7/catala.opam.lockedrisk surface
•Unrecognized file type — '.mld' is not on the allowlist · CatalaLang-catala-682c1f7/compiler/catala_utils/catala_utils.mldrisk surface
•Unrecognized file type — '.ocamlformat-ignore' is not on the allowlist · CatalaLang-catala-682c1f7/compiler/surface/.ocamlformat-ignorerisk surface
•Unrecognized file type — '.messages' is not on the allowlist · CatalaLang-catala-682c1f7/compiler/surface/parser.messagesrisk surface
•Unrecognized file type — '.mly' is not on the allowlist · CatalaLang-catala-682c1f7/compiler/surface/parser.mlyrisk surface
•Unrecognized file type — '.c' is not on the allowlist · CatalaLang-catala-682c1f7/deps/dates-calc/lib_c/dates_calc.crisk surface
•Unrecognized file type — '.h' is not on the allowlist · CatalaLang-catala-682c1f7/deps/dates-calc/lib_c/dates_calc.hrisk surface
•Unrecognized file type — '.fst' is not on the allowlist · CatalaLang-catala-682c1f7/deps/dates-calc/proof/dates.fstrisk surface
•Unrecognized file type — '.hints' is not on the allowlist · CatalaLang-catala-682c1f7/doc/formalization/Catala.DefaultCalculus.fst.hintsrisk surface
•Unrecognized file type — '.tex' is not on the allowlist · CatalaLang-catala-682c1f7/doc/out_of_date/motivation.texrisk surface
•Unrecognized file type — '.typ' is not on the allowlist · CatalaLang-catala-682c1f7/doc/syntax/catala_syntax_hl.typrisk surface
•Unrecognized file type — '.catala_en' is not on the allowlist · CatalaLang-catala-682c1f7/doc/syntax/syntax_en.catala_enrisk surface
•Unrecognized file type — '.catala_fr' is not on the allowlist · CatalaLang-catala-682c1f7/doc/syntax/syntax_fr.catala_frrisk surface
•Unrecognized file type — '.nix' is not on the allowlist · CatalaLang-catala-682c1f7/flake.nixrisk surface
•Unrecognized file type — '.files' is not on the allowlist · CatalaLang-catala-682c1f7/runtimes/java/java.filesrisk surface
•Unrecognized file type — '.res' is not on the allowlist · CatalaLang-catala-682c1f7/runtimes/rescript/src/CatalaRuntime.resrisk surface
•Unrecognized file type — '.resi' is not on the allowlist · CatalaLang-catala-682c1f7/runtimes/rescript/src/CatalaRuntime.resirisk surface
•Unrecognized file type — '.in' is not on the allowlist · CatalaLang-catala-682c1f7/stdlib/clerk.toml.inrisk surface
•Unrecognized file type — '.el' is not on the allowlist · CatalaLang-catala-682c1f7/syntax_highlighting/emacs/catala-mode.elrisk surface
•Unrecognized file type — '.vim' is not on the allowlist · CatalaLang-catala-682c1f7/syntax_highlighting/en/vim/catala_en.vimrisk surface
•Unrecognized file type — '.catala_pl' is not on the allowlist · CatalaLang-catala-682c1f7/tests-extra/literate/good/test_grave_char_pl.catala_plrisk surface
✔ verified source · pinned CatalaLang-catala-682c1f7
Check against a policy

The same gate an agent runs before installing (POST /api/v1/trust/catala-law-as-code/check). Click a policy:

Consume Catala — Law-as-Code Language programmatically. Authenticate with an API key or session — see Authorize an agent.

# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/catala-law-as-code

# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/catala-law-as-code/check \
  -H "Content-Type: application/json" \
  -d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'

# CLI
npx ai-supply add catala-law-as-code

# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/catala-law-as-code/install \
  -H "Authorization: Bearer $AIM_KEY"

# MCP tool
install_listing({ "slug": "catala-law-as-code" })
OpenAPI spec →
vlatest
✓ Security: Safe · 1001mo ago

Curated mirror — latest upstream source. See the repository for tagged releases.

Sign in and install this listing to leave a review.

More from @ai-supply

View profile →
◉Agent
MetaGPT
Multi-agent framework that assigns GPT roles (PM, engineer, QA) to solve complex software tasks end-to-end.
↓ 1.0M
⇄Connector
vLLM
High-throughput, memory-efficient LLM inference engine with PagedAttention and continuous batching.
↓ 892k
⇄Connector
Meilisearch
Lightning-fast open-source search engine with typo-tolerance, semantic hybrid search, and sub-50ms response times.
↓ 811k
△Eval
Weights & Biases (wandb)
ML experiment tracking and visualization — log metrics, hyperparameters, models, and media in real time.
↓ 784k
ai-supply.store

Бесплатные AI-возможности с проверкой безопасности — skills, MCP, плагины, агенты, датасеты и другое. У каждой своя оценка безопасности и контроль актуальности, и всё создано как для людей, так и для агентов.

api · v3.1status · all green
Контакты
support@ai-supply.storesecurity@ai-supply.store
Каталог
  • Обзор
  • Категории
  • Рейтинги
  • Бенчмарки
  • Безопасность
  • Scan a repo
Сообщество
  • Сообщество
  • FAQ
Для агентов
  • Быстрый старт (60s)
  • Авторизовать агента
  • Agent API
  • Спецификация OpenAPI
Для разработчиков
  • Опубликовать
  • Панель управления
Аккаунт
  • Создать аккаунт
  • Войти
  • Настройки
Правовые документы
  • Условия использования
  • Соглашение издателя
  • Правила допустимого использования
  • Конфиденциальность