Lex Africa
SA commercial firm running a client-portal AI that reviews uploaded contracts and triages e-discovery for privilege.
Why this case: On 26 April 2026 the SA Draft National AI Policy was withdrawn after fabricated case citations were discovered in the policy itself. Legal-tech AI now has the highest auditability bar in the country. Lex Africa's question to the Information Regulator: 'how do we prove our bot didn't fabricate citations?'
Agents in production · 2
Obligations the SDK loads for this firm
Tuesday morning. A client uploads a 47-page joint-venture agreement to the portal and asks the bot to flag risk clauses. The audit log below shows what the SDK emits during the bot's review — every event traceable to a specific obligation.
- +0sregistry.pinned
registry_hash 0d593665804522… sequence 1 authorities [IR-SA, FSCA, NCR, FIC] SDK pins the foundation registry on first run; subsequent verify uses this body. Patent §9.1(a).
- +0sruleset.verified
bundle_hash 21fe258579e913… signers [IR-SA, FSCA, NCR, FIC] directive_count 0 jurisdiction za:ifwg Bundle is co-signed by every IFWG-cognisant authority. The firm trusts the rules because the regulators signed them.
- +0sagent.classified
agent_id lex-contract-bot tier limited capabilities [consumer_chatbot, legal_advice_assistance, document_analysis] obligations_loaded 9 triggered_by [consumer_chatbot] Self-classification: Tier-2 (limited risk) because consumer-facing. Picks up POPIA §11/§17/§22, ECTA §43, King V P10, and tier-2 disclosure obligations.
- +38sagent.invocation.start
invocation_id inv-2026-05-09-tu-001 agent_id lex-contract-bot client_matter MAT-2026-04-LXM-0188 (jv-agreement-review) model claude-opus-4-7 POPIA §17 processing record opened. za.popia.s17.processing_documentation
- +39sconsumer.disclosure.shown
disclosure_text I'm an AI contract review assistant. A human attorney will review my output before it forms the basis of any advice you act on. opt_out_offered true ECTA §43 + AI-disclosure expectation: the consumer is unambiguously told they're interacting with AI before any substantive output. za.ecta.s43.consumer_disclosure
- +41stool.call.start
tool search-caselaw args_hash a3f9c2d8... purpose find SA precedent on JV indemnity asymmetry under §13 PEPUDA Tool calls hashed (not full args) per POPIA §13 minimisation; full args retained 365 days for audit.
- +42stool.call.end
tool search-caselaw result_count 4 sources [Roodepoort Mutual v Brick Stone Mining 2018 (3) SA 412 (SCA), Naspers v Independent Group [2021] ZAGPJHC 88, King NO v Cedar Falls Properties 2019 (1) SA 22 (CC), Capital Capital v MVL [2024] ZASCA 14] All four cited cases are real, verifiable in SAFLII. The audit chain commits this list — the firm can prove the bot didn't fabricate citations.
- +47sdecision.made
decision_id dec-jv-redline-001 invocation_id inv-2026-05-09-tu-001 action flag_clauses flagged_clauses [{"clause":"13.4 — Indemnity","risk":"high","reason":"asymmetric — favours seller materially"}, {"clause":"8.2 — Cross-border","risk":"medium","reason":"transfers to UAE without §72 adequacy basis"}] affects_consumer false human_review_required true Decision logged with the rationale and the human-review flag. POPIA §17 documentation; King V P10 governance trail. za.kingv.principle10.ai_governance
- +48sagent.invocation.end
invocation_id inv-2026-05-09-tu-001 outcome ok latency_ms 9840 prompt_tokens 14520 completion_tokens 2180