🧱 Flint Frames Explained: Structured Representation of Legal Norms
Learn what Flint Frames are and how they represent legal norms as Acts, Facts, and Duties. Includes clear examples and use cases in compliance automation.
Legal texts are often dense, ambiguous, and hard to interpret consistently — especially when different agents, systems, or decisions depend on them. Flint Frames offer a structured, machine-readable way to model such norms clearly and unambiguously.
Developed by van Doesburg and van Engers (2019), the Flint language enables formal interpretation of legal rules using three core frame types: Act, Fact, and Duty.
✅ What is a Flint Frame?
A Flint Frame is a modular representation of a norm in legal or policy texts, used to capture the logic of what should, must, or may happen — and under what conditions.
Flint distinguishes three types of frames:
- Act Frame: Represents actions an agent can or must perform under certain conditions.
- Fact Frame: Represents Boolean or calculable conditions that influence actions or duties.
- Duty Frame: Represents obligations between parties, including how they are created, enforced, or terminated.
⚙️ Flint Frame Examples
1. 🔧 Act Frame
"A processor may collect personal data if it is done lawfully and transparently."
act: collect_personal_data
action: collect
actor: processor
object: personal_data
recipient: data_subject
preconditions:
- personal_data_processed_lawfully_and_transparently
postconditions:
- controller_can_demonstrate_compliance
source: GDPR_Art_5_1
2. 📌 Fact Frame
"Personal data are processed lawfully and fairly."
fact: personal_data_processed_lawfully_and_transparently
function: boolean
condition:
- processing_basis in ["consent", "contract", "legal_obligation"]
- processing_is_fair = true
3. 📜 Duty Frame
"The controller must respond to a data subject access request within one month."
duty: respond_to_access_request
duty_holder: controller
claimant: data_subject
creating_acts:
- submit_access_request
enforcing_acts:
- lodge_complaint_with_supervisory_authority
satisfying_acts:
- provide_data_copy
deadline: P30D # ISO 8601 duration
source: GDPR_Art_15
🎯 Why Flint?
- Clarity: Makes implicit legal logic explicit
- Automation: Enables rule engines and compliance checks
- Interoperability: Structured format can be reused across legal tech, simulation, and AI systems
- Explainability: Clear traceability from rule to action
🧠 Final Thoughts
As legal systems move toward greater digitalization, Flint Frames help bridge the gap between natural language norms and automated decision-making. They provide a solid foundation for building transparent, trustworthy, and AI-compatible legal infrastructure.