Deon – CodeX Group Meeting – December 11, 2025
Daniele Parla, CEO of Italian legal tech startup Deon, presented DeonLang, a domain-specific language based on Deontic Logic that formalizes legal text by categorizing content into universal logical categories like obligations, permissions, and prohibitions.
The system translates natural language contracts and legal documents into structured DeonLang format, then back to natural language, making it jurisdiction and language-agnostic. Testing showed DeonLang significantly improved LLMs’ accuracy in understanding legal nuances—for example, better distinguishing between “must” (obligation) and “may” (permission) with semantic similarity scores of 0.71 versus 0.97 in plain English.
Deon has deployed several use cases including an Advanced Legal Reasoning tool for a Magic Circle law firm that outperformed standard LLMs, a contract visualizer allowing graphical interaction with clauses, and a system that converted 8,000 unstructured Italian Financial Ombudsman decisions into structured JSON format using DeonLang, enabling pattern recognition and predictive analytics with over 92% accuracy for certain case outcomes.

Roland Vogl
Welcome to this week’s Codex group meeting. Thank you for joining us. We have the founder and CEO of Deon here joining us today: Daniele Parla. Welcome Daniele. We’ll turn it over to you.
Daniele Parla
Thank you very much for having me today and thank you all for attending this event. My name is Daniele Parla. As a professional background, I am a lawyer and I am co-founder and the CEO of Deon, an Italian-based legal tech startup. I’m here today to present to you DeonLang, the domain-specific language based on Deontic Logic.
For those of you who are not familiar with Deontic Logic, Deontic Logic is a branch of formal logic which basically aims to formalize and govern the reasoning within the legal domain. Like logic is the set of rules governing reasoning, Deontic Logic is the set of rules governing reasoning within the legal domain.
Basically, what Deontic Logic states is that whatever content you might have or you may encounter in a clause, in a text of law, or else, that content can always be classified as either an Obligation, or a Permission, or a Prohibition (also known as Deontic Modalities), or a combination among them, which will generate Omission or Option. Whatever you read in a clause or in a legal text, in terms of content, of legal content, Deontic Logic teaches us that you can always look at these as one of those Deontic modalities.
The intuition at the time was to see whether there was any way to put in common a set of these rules with the LLM, with the foundation models, and the quickest way was coming up with a brand-new language, the so-called DeonLang, which was sharing—which aims to share – Deontic Logic with foundation models. Foundation models, LLMs, are really good at dealing with language, and the idea is to embed that logic into their language, into this language.
Let me show you what this looks like just super quickly. This is basically DeonLang. Here we have a Termination Clause: “Either party may terminate this agreement at any time without cause, provided written notice to the other party”. They may also terminate for breach of the party with written notice if a party is in material breach, and so forth.

What we do here: we take the natural language and we formalize it according to the rules of DeonLang. So “either party” becomes “P1”, which is the agent of this proposition, has the “option to terminate”—what?—”this agreement”—”and” — Boolean operator—”for this reason”, “with or without cause”, and “in this time”, “at any time”, and “in this time framework”, “with written notice to the other party”. They may also terminate for breach. That’s how we construe the condition:
“IF” there is a “party in material breach” and “does not—another Boolean operator—”cure the breach” “in this time” “within ten days of written notice from the non-breaching party”, (ie “P3”) “THEN” the non-breaching party (P3) becomes the agent for the following part of the sentence: where “P1”, “the non-breaching party”, has the “option to terminate the agreement”—in this time, “immediately upon written notice”.
Basically, what we do, what DeonLang does, is to formalize the common language according to some categories coming from Deontic Logic and other forms of logic, like Boolean operators.
Why do we do that? Because in a world which is structured usually very vertically, when you have like common law, civil law, Italian law, commercial law, contract law, conveyancing, whatever—so everything is super vertical—we use the completely opposite approach, trying to uplift the common language into categories which are general and universal by definition because these are logic categories. And this renders DeonLang jurisdiction-agnostic. This means that we apply this approach to whatever legal text, no matter what the governing law is. And of course, you could render it agnostic to the language that we will be formalizing.
DeonLang is protected by copyright.
Now the real big question is: are we able to deliver on what we promise? Is DeonLang really able to render the LLM more accurate when dealing with legal content? To this extent, I’m going to show you some tests that we have carried out using some embedding models. In this instance, we have used the text embedding model, text-embedding-3-large and text-embedding-3-small from OpenAI.
And as you know, much better than me, when you use an embedding model to calculate the semantic similarity score between two different terms—two sentences here—the result is kind of deterministic. If you do this ten times, you will always have the same semantic similarity scores.

What we have done here, we have taken pairs of sentences in natural language and then translated them into DeonLang, and we have calculated the similarity. Of course, as you can see here, similarities are very variable. I mean, they are really different across the spectrum. And if you look, for example, in the first pair of sentences in English: “The tenant must pay the rent by the fifth day of each month” and “The tenant is obliged to pay the rent by the fifth of each month.” You have a similarity score for this pair of sentences in plain English of 0.90, and also in DeonLang—P1 has obligation to pay rent in this time—you have more or less the same, 0.95.
What is really striking is the difference in the second pair of sentences. “The tenant must pay the rent by the fifth of each month” versus “the tenant may pay the rent the fifth day of each month”. If you look at these in plain English, the similarity score is still quite high, 0.97. Why does it drop to 0.71 when translating to DeonLang? Because in terms of the overall sentences, these two sentences may seem to an LLM quite similar, but when we use the DeonLang translation, we put the focus where the focus should be from a legal perspective—obligation rather than permission.
Let me just show you a few more use cases that we have built around DeonLang. The first one is a tool called Advanced Legal Reasoning, where we use DeonLang plus the IRAC protocol, which is, you know, to much better handle Issue spotting, define the Rule, Apply the rule, and draw the Conclusion. We built this tool for a major international law firm: it’s a Magic Circle law firm with a global footprint.
What this tool does is when you input something like a contract or some legal text, policy, or regulation, and you will ask complex questions regarding that text,the tool will output a very accurate answer by leveraging the translation of the text in DeonLang and the IRAC framework. The law firm was quite interested in this approach because, as you can imagine, they have several different jurisdictions as they also have documents in several different languages.
We have benchmarked the accuracy of our results against the most common LLMs from the OpenAI family, and we basically outperformed the LLMs in each and every circumstance. This is just to show the accuracy of the tool.
Now, I will show you two more different use cases (we have produced several use cases in this last eighteen months) which, in my eyes, can give you the real sense of what you can do when you have something as versatile as a language. I mean, with language, you can describe things, you can create reasoning, and so on and so forth.
The first use case I will show you is called the Visualizer.This is Visualizer, where basically what we do, we take some legal text in natural language, which we translate into DeonLang, and then we translate DeonLang into some graph, and we attribute different shapes, different colors to any individual DeonLang element.
And so if you look at this part: “Party A must deliver goods to Party B.” You have the DeonLang translation: “P1, Party A, has obligation to deliver to P2”, which is Party B. Then if you drag and drop from left to right, just interacting via the graph, you can see here you have “Party B must deliver to Party A.”
Here the idea is to create something that will allow the user to interact with the clause, and not only by typing on your keyboard, but just simply by interacting with the graphic visualization of the legal text. Why can we do that? Because DeonLang allows the translation not only of the content of the clause, but also the legal and the logical structure of the clause.
Now let’s show you an example with a more complex clause. First of all, we translated it into DeonLang. As you can see, we have the entire clause translated into DeonLang now. So the clause is “Subject to Clause 21.5…” and “notwithstanding any other term of the Finance Documents…”, “if a Finance Party assigns or transfers any of its right…” etc. Now, we can amend the cause by simply interacting with its visualization, So when you want to get rid of this Finance Documents reference, we just cancel it from the visualization. Similarly, if we want to get rid of “fees” from the clause, we simply cancel it from its visualization.
Let’s, for example, make an exception within the text of the clause. We can ask the assistant even in a different language and then have it translated. Finally, we will apply all the amendments, and we will have the new version of the clause where, as you can see, you only have remaining “Subject to Clause 25.1” and no other remaining reference (such us the one to the Finance Documents above); we also don’t have reference to the “fees” any longer; we have a reference to the “pledge agreement”, which we inserted in Italian.
In this second use case, we have basically processed the entire public database of an Italian authority called the ACF, which is the Italian Financial Ombudsman. They have authority to deal with claims, retail claims against financial institutions up to 500K.
They were established eight years ago, and since then they have issued around 8,000 different decisions. We have taken each of those decisions. We have extracted all the different categories of data, such as “date of creation of decision”, “subject matter of the dispute”, “facts”, “procedural steps”, “claims of the claimant”, “evidence”, “damages”, “defense arguments”, “ratio decidendi”, and of course “outcome”— whether this was approved or rejected. And all of that data, we have represented them under the form of JSON keys.
Within the JSON keys, we have translated all the narrative from natural language into DeonLang. So what we have done, we have taken around 8,000 decisions (each individual decision being something like ten pages of completely unstructured data, as they are basically PDF documents), and we have transformed them into super-structured data: vertically using the JSON keys and the JSON structure, and horizontally using the DeonLang translation.
As a result, we have all the 8,000 different decisions stored in a single JSON file. Why have we done this? Because, after that, you can model and consider each decision as if it were some kind of “equation”: “facts” + “legal references” + “evidences” + “claims of the claimant”+ “defense of defendant” plus “ratio decidendi” = “decision outcome”.
Again, why have we done this? Because this will render the retrieval of information—if you make a new case, you want to see the most relevant precedent—much more accurately and precisely, as you can directly leverage your own DeonLang elements.
We have also used this approach—the translation—to create the features for machine learning models, to see whether there was any pattern within the dataset that we were able to identify.
Something really interesting came out, for example, in this case: e.g. when you have this piece of legislation (Consob Communication 2009 on illiquid assets), which is referred to in the final decision within the ratio decidendi, you have a probability ranking from 92% to 100% that that decision will be a positive decision, accepting the claim. This is something quite interesting because, of course, this can allow predictive use of DeonLang, allowing litigators to make data-driven decisions on their strategies.
If we have still a few more seconds, I will leave the word to Ivan, our data scientist here, just to show the last—
Roland Vogl
We have some people who have questions and I want to make sure that you get to address those questions.
Ivan
Just to add that on that dataset that Daniele just described, we ran a classifier, and we obtained somehow positive returns in terms of machine learning, and also the other element is that it’s actually interpretable. I mean, in this case we used SHAP together with the GBM. But I mean, this is in other fields of application, then converting unstructured data into structured form.
Roland Vogl
All right, so we have a number of questions. So first of all, Benjamin was asking, why did you decide to create your own language rather than using some existing languages?
Daniele Parla
As I said, the basic idea was that we wanted to leverage Deontic Logic. I mean, as lawyers, we have this set of rules which has been longstanding because Deontic Logic was invented in the 1950s. And so, as I said, the idea was to see whether we could share and embed Deontic Logic into a language. LLMs are really good at dealing with language. So the idea was to have a language which was embedding Deontic Logic.
Roland Vogl
Are you using the language model to do the theorem proving, or is it also part—?
We’re whether or not you used like a theorem prover or SMT solver as opposed to using the logits of the language model to represent the logical inferences?
Daniele Parla
This is something that we have also started to analyze because at the end of the day a solver can be something that is theoretically viable. We have already done some research around that, but so far we use the language only as an intermediate layer between the legal text, the legal content, and the model. But I think the next frontier should be, as you were saying, using solvers, because there’s no limit to that.
Roland Vogl
Thorn was asking whether you’re auto-translating into the formal language. I think you answered that because that’s what you do.
Daniele Parla
We use LLMs to do the translation using our rulebooks. The rulebook is covered by copyright. Within the rulebook we have all the grammar rules and the syntax and whatever you need to translate the natural language into DeonLang.
Roland Vogl
Marzieh is asking how do you do the codification? Are you sure there’s no hallucinations in the codification? Is there hallucination in the formalization?
Daniele Parla
It’s a really interesting question. What we can say is that there’s been recently published research from, I think it was University of Vienna or some Austrian institution at the end of August this year, where they were basically addressing the ability of LLMs to recognize Deontic modalities. It’s quite interesting because, I mean, we didn’t know this research was around. They don’t even know that we are doing this, where basically they were saying that the LLMs are really highly capable of recognizing the right Deontic modality out from legal text. And they were even suggesting that this is something that someone should consider building some use cases around it.
Guest
Yeah, I actually know those guys. Matthias—it was at his wedding, actually. And yeah, I talked with him and a bunch of the people from NeurIPS because I came back from NeurIPS last week.
Daniele Parla
Another way to look at this is that, at least from all the tests we have done so far, we don’t think that to have super strict rules over translation mechanics has such an impact: at the end, also from a semantic view, you can say the same things using different constructions. And so having this freedom in translating is something that we have seen is not detrimental.Maybe it could be under some specific circumstances, especially if you are working with some use cases, where you may want to have control over the syntax, because this could help, for example, in the retrieval mechanics.
And as was also proved by that research, we can say that the models are really good at understanding what is the appropriate modality.
Roland Vogl
Someone was asking whether you could sort of quickly talk through one of the JSON lines as an example.
Daniele Parla
Yes. The JSON keys are the information areas: “Facts”, “procedural steps”,”claims”, “evidence”, “damages”, etc. And then all the narrative within those keys is translated into Deonlang.
When you do, for example, retrieval of information, you can leverage on Deonlang controlled syntax to find relevant information. This is a way—and this is also important—to somehow cut out all the noise for whatever information is not strictly legally relevant, because as we said, we put the focus where the focus matters, i.e., on the part of the content which matters from a legal perspective.
Roland Vogl
Okay, great. So I’d love more questions, but we’re unfortunately out of time. We have to close here. But thank you for sharing your contact information. So anyone in the group who has more questions about Deon and Daniele and Ivan’s work, please reach out directly to Daniele. And this is very cool. Yeah, thank you so much for sharing this.
Thank you. And good luck. It sounds like you already have some real-world use cases and customers, and so that’s great. And we appreciate you sharing it with our group here at Codex.