<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Search Results for &#8220;synthetic data&#8221; &#8211; Smals Research</title>
	<atom:link href="https://www.smalsresearch.be/search/synthetic+data/feed/rss2/" rel="self" type="application/rss+xml" />
	<link>https://www.smalsresearch.be</link>
	<description></description>
	<lastBuildDate>Thu, 09 Apr 2026 12:05:21 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.smalsresearch.be/wp-content/uploads/2026/01/cropped-cropped-Smals_Research-32x32.png</url>
	<title>Search Results for &#8220;synthetic data&#8221; &#8211; Smals Research</title>
	<link>https://www.smalsresearch.be</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Software testing</title>
		<link>https://www.smalsresearch.be/ai-maturity-model/software-testing/</link>
		
		<dc:creator><![CDATA[Jean-Bernard Demorcy]]></dc:creator>
		<pubDate>Tue, 09 Sep 2025 07:07:12 +0000</pubDate>
				<guid isPermaLink="false">/?page_id=23637</guid>

					<description><![CDATA[Test planning &#38; management The process of planning, estimating, monitoring, and controlling test activities, documented in a (risk‑based) test plan, strategy or policy, to achieve defined quality objectives within the project’s constraints of scope, time, and resources. Maturity levels Level Name Description Technology Example tools 0 Non-Existent There is no AI assistance, automation, or data [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">Test planning &amp; management</h1>



<p>The process of planning, estimating, monitoring, and controlling test activities, documented in a (risk‑based) test plan, strategy or policy, to achieve defined quality objectives within the project’s constraints of scope, time, and resources.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container">
<table class="relative-table wrapped confluenceTable scrolableTable" style="width: 100%;">
<tbody>
<thead>
<td class="confluenceTd">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Example tools</strong></p>
</td>
</thead>
<tr>
<td class="confluenceTd"><strong>0</strong></td>
<td class="confluenceTd"><strong>Non-Existent</strong></td>
<td class="confluenceTd">There is no AI assistance, automation, or data integration of any kind. Corporate guidelines or governance for AI‑enabled workflows and tool usage are absent. Test policy, strategy, plan creation, estimation, progress tracking and reporting are fully manual; no AI evaluates readability, maintainability, or explainability of artefacts.</td>
<td class="confluenceTd">None</td>
<td class="confluenceTd">None</td>
</tr>
<tr>
<td class="confluenceTd"><span title=""><strong>1</strong></span></td>
<td class="confluenceTd"><span title=""><strong>One-Off Assist</strong></span></td>
<td class="confluenceTd"><span title="">Test managers/coordinators occasionally ask an LLM for draft strategy text, workload estimates, or risk heat‑maps and paste results into documents; nothing is version‑controlled, results vary widely between individuals and are difficult to reproduce or scale.</span></td>
<td class="confluenceTd">
<p title="">Natural-language draft generation with Off-the-shelf LLM &amp; prompt engineering</p>
</td>
<td class="confluenceTd">
<ul title="">
<li>LLM chatbots / answer engines
<ul>
<li data-uuid="93b5bbc6-03dd-4fd6-8895-b704fdd5259b"><a href="/ai-maturity-model/glossary/#copilot_M365">M365 Copilot</a>,<a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a> (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic), <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a> (Perplexity AI), &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><span title=""><strong>2</strong></span></td>
<td class="confluenceTd"><span title=""><strong>Integrated Assist</strong></span></td>
<td class="confluenceTd">
<p title="">AI is embedded in QA tooling process, providing  suggestions for test‑policy clauses, strategy sections, resource/timeline forecasts, and risk heat‑maps. Artefacts are version‑controlled with project deliverables. AI flags readability, maintainability, and explainability issues.</p>
</td>
<td class="confluenceTd">
<p title="">AI Agents / Autonomous Agents + LLMOps (prompt / template management, deployment, guardrails)</p>
</td>
<td class="confluenceTd">
<ul title="">
<li>User customized AI Agents / Personalised AI Tools
<ul>
<li data-uuid="950f5608-4049-4a84-9782-8fd4cd397134"><a href="/ai-maturity-model/glossary/#custom_gpt">customGPTs</a> on</li>
<li data-uuid="93b5bbc6-03dd-4fd6-8895-b704fdd5259b"><a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a>, <a href="/ai-maturity-model/glossary/#gem">Gems</a> on Google <a href="/ai-maturity-model/glossary/#gemini">Gemini</a>,  <a href="/ai-maturity-model/glossary/#claude_artifacts">Artifacts</a> on <a href="/ai-maturity-model/glossary/#claude">Claude</a>,  Spaces on <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a>, &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><span title=""><strong>3</strong></span></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><span title=""><strong>AI-Human Collaboration</strong></span></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title=""><span style="letter-spacing: 0.0px;">AI agents act as junior test managers, digesting code, requirements, and trends to suggest strategies, scope, team updates. Every recommendation is traceable and explainable. and subject to human review.</span></p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li>Agentic frameworks</li>
<li data-uuid="9110d276-04c6-4f30-8542-15b539950b74">advanced RAG</li>
<li data-uuid="d5ee8d99-9234-4d0e-937d-8f963d6c0614">orchestration</li>
<li data-uuid="90743ee7-f1fb-4268-af1f-50b3af004f05">LLMOps (prompt / template management, deployment, guardrails)</li>
<li data-uuid="78050234-206f-4aaf-88a4-5a0f2d6188af">Deep research</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="3c931246-841b-43e9-9fad-ef8e2711d310">Agentic frameworks
<ul>
<li data-uuid="00f4f1bc-aeef-46b8-b144-de12884463fa"><a href="/ai-maturity-model/glossary/#lang_graph">Langgraph</a> as orchestrator, vector DBs as knowledge, prompts and a model for interaction</li>
</ul>
</li>
<li data-uuid="1858173f-a9a9-4759-9ed8-1bb1b700040f">Deep research
<ul>
<li data-uuid="4332db15-03ee-4e92-9797-50f6f8338503">Deep research on</li>
<li data-uuid="93b5bbc6-03dd-4fd6-8895-b704fdd5259b"><a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a>/<a href="/ai-maturity-model/glossary/#gemini">Gemini</a>/<a href="/ai-maturity-model/glossary/#claude">Claude</a> using a reasoning model, Perplexity labs,  Manus, &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>4</strong></td>
<td class="confluenceTd"><strong>Full Autonomy</strong></td>
<td class="confluenceTd">
<p>Autonomous agents/AI systems create and update test policy, strategies and plans from live data. Projects are managed dynamically; and AI handles scope, milestones, KPIs. Human involvement is confined to strategic governance, on demand, the autonomous AI must supply a transparent, traceable explanation of its actions, input data, and decision rationale.</p>
</td>
<td class="confluenceTd">Autonomous agents, causal-inference models, continual learning, LLMOps pipelines</td>
<td class="confluenceTd">End-to-end QA orchestrators <em>(no knowledge of tools who operate at this level)</em></td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading" id="test_analyse_design">Test analyse &amp; design</h1>



<p>The process of analysing the test basis and transforming it into test conditions, test cases, and test data using appropriate test design techniques to achieve required coverage and mitigate quality risks.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container">
<table class="relative-table wrapped confluenceTable scrolableTable" style="width: 100%;">


<thead>
<td class="confluenceTd">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Example tools</strong></p>
</td>
</thead>
<tbody>
<tr>
<td class="confluenceTd"><strong>0</strong></td>
<td class="confluenceTd"><strong>Non-Existent</strong></td>
<td class="confluenceTd">
<p>All analysis and design tasks are fully manual. No AI, automation, or review for quality attributes like readability or explainability.</p>
</td>
<td class="confluenceTd">None</td>
<td class="confluenceTd">None</td>
</tr>
<tr>
<td class="confluenceTd"><strong>1</strong></td>
<td class="confluenceTd"><strong>One-Off Assist</strong></td>
<td class="confluenceTd">
<p>Test engineers use LLMs ad hoc to draft test cases or choose techniques. Prompts vary by user with no standards, reuse, or traceability. Results are inconsistent and unscalable.</p>
</td>
<td class="confluenceTd">
<p>Off-the-shelf LLM &amp; prompt engineering</p>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="e3c533c8-85cd-468c-b407-647f3dc12e20">LLM chatbots / answer engines
<ul>
<li data-uuid="93b5bbc6-03dd-4fd6-8895-b704fdd5259b"><a href="/ai-maturity-model/glossary/#copilot_M365">M365 Copilot</a>, <a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a> (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic),</li>
<li data-uuid="93b5bbc6-03dd-4fd6-8895-b704fdd5259b"><a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity </a>(Perplexity AI), &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">2</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">Integrated Assist</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title="">AI assists with static oracle checks, structured case generation, and artefact review for quality. Work aligns with prompt standards and a feedback loop. Nearly full task support, enabling near end-to-end coverage with minimal manual effort.</p>
<p title="">The AI system can review human‑created test artefacts for correctness, completeness, readability, maintainability, and explainability, flagging gaps or duplicates before peer review.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li>AI Agents / Autonomous Agents</li>
<li data-uuid="060afaa3-e863-4608-b5e8-0c2c65166ff8">LLMOps (prompt / template management, deployment, guardrails)</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="84a3cb97-bcb6-453b-95f1-f718a2864179">Agentic frameworks
<ul>
<li><a href="/ai-maturity-model/glossary/#lang_graph">Langgraph</a> as orchestrator, vector DBs as knowledge, prompts and a model for interaction</li>
</ul>
</li>
<li data-uuid="74b15695-38de-4b85-8729-2c5a5a8a1e2a">User customized AI Agents / Personalised AI Tools
<ul>
<li><a href="/ai-maturity-model/glossary/#custom_gpt">customGPTs</a> on <a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a>, <a href="/ai-maturity-model/glossary/#gem">Gems</a> on Google <a href="/ai-maturity-model/glossary/#gemini">Gemini</a>, <a href="/ai-maturity-model/glossary/#claude_artifacts">Artifacts</a> on <a href="/ai-maturity-model/glossary/#claude">Claude</a>, Spaces on <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a>, &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>3</strong></td>
<td class="confluenceTd"><strong>AI‑Human Collaboration</strong></td>
<td class="confluenceTd">
<p>AI acts as a junior test analyst: analysing multimodal input and past defects to refine test oracles, recommend techniques, and generate test artefacts, including transparent explanation of its reasoning, while a human overseer guides and refines its output.</p>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="e43a5616-a3bd-4419-9c37-0f0309b76f49">Agentic frameworks</li>
<li data-uuid="ea0c7387-5ae7-49ef-8b71-9e736db357f8">advanced RAG</li>
<li data-uuid="0fb49708-b1e7-4c95-8968-3f2e8f8ed147">orchestration</li>
<li data-uuid="3ba8d187-49c2-483d-90bb-ab974dd63ba0">LLMOps (prompt / template management, deployment, guardrails)</li>
<li data-uuid="f7fd8cc0-fd67-4604-a4b5-efdea8e7dda2">Agentic frameworks,</li>
<li data-uuid="01338201-4ef2-4a3e-adc0-c2311b701a34">code &amp; UI embeddings</li>
</ul>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="ab2df4c5-52e4-475f-8fa0-0fb8698cbc36">User customized AI Agents / Personalised AI Tools
<ul>
<li><a href="/ai-maturity-model/glossary/#custom_gpt">customGPTs</a> on <a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a>, <a href="/ai-maturity-model/glossary/#gem">Gems</a> on Google <a href="/ai-maturity-model/glossary/#gemini">Gemini</a>, <a href="/ai-maturity-model/glossary/#claude_artifacts">Artifacts</a> on <a href="/ai-maturity-model/glossary/#claude">Claude</a>, Spaces on <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a>, &#8230;</li>
</ul>
</li>
<li data-uuid="8e293a2c-e1c0-4039-a206-5f9dd54c2287">Off-the-shelf-AI tools***
<ul>
<li><a href="/ai-maturity-model/glossary/#testcraft">Testcraft</a>, AskUI, <a href="/ai-maturity-model/glossary/#kusho_ai">Kusho.AI</a>, &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>4</strong></td>
<td class="confluenceTd"><strong>Full Autonomy</strong></td>
<td class="confluenceTd">
<p>Autonomous AI designs and maintains test suites, detects oracle issues, and regenerates impacted assets when input changes. Human involvement is confined to strategic governance, all actions are explainable</p>
</td>
<td class="confluenceTd">Autonomous agents, model‑based testing, continual learning pipelines</td>
<td class="confluenceTd">End‑to‑end test‑design orchestrators <em>(no knowledge of tools who operate at his level)</em></td>
</tr>
</tbody>
</table>
</div>


<p>*** Although many tools claim to operate at AI Maturity Level 3, these claims are often exaggerated, they typically require significant manual effort, lack true context awareness, and rely heavily on marketing buzzwords like “self-healing tests,” “autonomous agents,” “AI-driven quality,” “zero-touch automation,” “intelligent test orchestration,” and “continuous risk-based optimization.” In truth, most of these tools work more like Level 2, they help people but don’t really work alongside them. They still need detailed prompts, human guidance, and corrections to get good results. That said, some tools are starting to explore real Level 3 features. Early versions show potential. Progress is slow but steady, with better context awareness and more independence pushing things forward.</p>


<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading" id="test_implementation"><a id="test_implementation"></a>Test implementation, automation &amp; test data generation</h1>



<p>The phases of finalising testware by developing, maintaining, and automating executable test scripts, harnesses, and representative test data to enable efficient, repeatable, and scalable test execution.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container">
<table class="relative-table wrapped confluenceTable scrolableTable" style="width: 100%;">
<thead>

<td class="confluenceTd">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Example tools</strong></p>
</td>

</thead>
<tbody>
<tr>
<td class="confluenceTd"><strong>0</strong></td>
<td class="confluenceTd"><strong>Non-Existent</strong></td>
<td class="confluenceTd">
<p>A<span style="letter-spacing: 0.0px;">ll test scripts and data are created and maintained manually; no AI assistance is used.</span></p>
</td>
<td class="confluenceTd">None</td>
<td class="confluenceTd">None</td>
</tr>
<tr>
<td class="confluenceTd"><strong>1</strong></td>
<td class="confluenceTd"><strong>One-Off Assist</strong></td>
<td class="confluenceTd">
<p>Engineers prompt an LLM to generate a skeleton script, a SQL dataset, or a simple page‑object and then refine manually., there are no corporate guidelines, shared prompt libraries, or optimisation practices, so results vary widely between individuals and are difficult to reproduce or scale.</p>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="002fd636-fdcc-4042-b048-65fcc0e41961">Off-the-shelf LLM &amp; prompt engineering</li>
<li data-uuid="1abd8d36-3801-4bd4-a826-bc027bc53252">code completers in IDE&#8217;s</li>
</ul>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="2ad46d7e-d64b-44fa-b40b-2af762f7a132">LLM chatbots / answer engines
<ul>
<li><a href="/ai-maturity-model/glossary/#copilot_M365">M365 Copilot</a>, <a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a>(openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic), <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a> (Perplexity AI), &#8230;</li>
</ul>
</li>
<li data-uuid="f2b0f191-e3cb-473b-aefe-99420f91a4d8">IDE&#8217;s with AI capabilities
<ul>
<li data-uuid="32ad58e7-13a4-40c1-8474-8db79f23f5ff"><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot</a> &#8230;</li>
</ul>
</li>
<li data-uuid="694c3138-d8e3-431f-bdc9-22a017ea5b15">CLI code assistants
<ul>
<li data-uuid="2fdc162d-79c6-4c39-93fd-36ebc179bc33">Codex (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> CLI (Google), <a href="/ai-maturity-model/glossary/#claude_code">Claude Code</a> (Anthropic), &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title=""><strong>2</strong></p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">Integrated Assist</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title="">AI in IDEs/frameworks generates maintainable code, test data, and converts test cases to scripts based on human input. Integrated prompt standards and feedback loops ensure consistent, scalable results.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="86d162b2-5d50-4fa6-bdc6-8845a44e5466">LLM + code embeddings, s, test‑data synthesis libs</li>
<li data-uuid="b0a2aff3-d70d-424c-aab2-d29e1ad26f20">MCP</li>
<li data-uuid="fbb81b62-5f6a-447e-b59e-30f715f4d9ff">AI Agents / Autonomous Agents</li>
<li data-uuid="5ddeaece-7e6b-41e6-bb0d-b3c56d5250d6">LLMOps (prompt / template management, deployment, guardrails)</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="54aadf27-3aec-456d-bfb8-98d0093c4785">User customized AI Agents / Personalised AI Tools
<ul>
<li><a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a> (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (Google), <a href="/ai-maturity-model/glossary/#claude">Claude</a>, <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a>, &#8230;</li>
</ul>
</li>
<li data-uuid="be20c4f5-55f2-4bd7-8f5b-b842af4dab32">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, github copilot, &#8230;</li>
</ul>
</li>
<li data-uuid="3f73bcc4-5c86-4acd-9244-e06e41f789e4">CLI code assistants
<ul>
<li>Codex (openAI),  <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> CLI (Google), <a href="/ai-maturity-model/glossary/#claude_code">Claude Code</a> (Anthropic), &#8230;</li>
</ul>
</li>
<li data-uuid="a4833a92-fbcb-435f-ae3c-9025892412b7">MCPs
<ul>
<li data-uuid="a69792bb-416e-428e-8830-113abc51b1f6"><a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright</a>, &#8230;</li>
</ul>
</li>
<li data-uuid="ee16b3a1-d733-4ed6-be94-f9b7977e5599">Off-the-shelf tools
<ul>
<li><a href="/ai-maturity-model/glossary/#testcraft">Testcraft</a>.</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">3</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">AI‑Human Collaboration</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title="">AI agent(s)/system(s) acts as an entry-level test automator. The AI system is fully context‑aware of the project: it implements tests for new requirements, refactors and optimises the automation suite, synthesises sophisticated test data (synthetic or privacy‑masked), and flags redundant scripts, always with human experts supervising and validating its output.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="0ab09800-3e3d-4ac7-99e8-8f6cc986c156">Agentic frameworks</li>
<li data-uuid="842be512-6429-4d05-917f-47ecd0d57f01">advanced RAG</li>
<li data-uuid="edf2c9c3-a838-4d4c-abe8-0aaa085fac01">orchestration</li>
<li data-uuid="e3ac2575-680f-4f87-aadd-348bca06314a">LLMOps (prompt / template management, deployment, guardrails)</li>
<li data-uuid="f987d55c-cd7f-4236-8709-9c70343bb8c4">MCP</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="a95c4662-3cff-454c-a731-799ee632f0f0">Agentic frameworks
<ul>
<li><a href="/ai-maturity-model/glossary/#lang_graph">Langgraph</a> as orchestrator, vector DBs as knowledge, prompts and a model for interaction</li>
<li>
<a href="/ai-maturity-model/glossary/#microsoft_copilot_studio">Microsoft copilot studio</a>, 
<a href="/ai-maturity-model/glossary/#openai_agent_builder">OpenAI agent builder</a>, 
<a href="/ai-maturity-model/glossary/#claude_skills">Claude Skills (Anthropic)</a>, 
<a href="/ai-maturity-model/glossary/#claude_cowork">Claude cowork (Anthropic)</a>, &#8230;
</li>
</ul>
</li>
<li data-uuid="66cb5d21-d672-4ed3-b0f2-62615ca069e1">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, windsurf, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot</a>, &#8230;</li>
</ul>
</li>
<li data-uuid="ff5ee586-c29f-4454-84cb-9eeecbd196a3">CLI code assistants
<ul>
<li><a href="/ai-maturity-model/glossary/#openai_codex">Codex (openAI)</a>, <a href="/ai-maturity-model/glossary/#claude">Gemini</a> CLI (Google), <a href="/ai-maturity-model/glossary/#claude_code">Claude Code</a> (Anthropic), &#8230;</li>
</ul>
</li>
<li data-uuid="0a779136-9005-4f05-8bff-787a1b319c58">MCPs
<ul>
<li><a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright</a>, &#8230;</li>
</ul>
</li>
<li data-uuid="d0ec23ea-b60d-4567-a0f0-6afd6742eb28">Off-the-shelf tools***
<ul>
<li data-uuid="28235162-0922-4b84-984e-e790a8101319">Cypress cy.prompt, coTestPilot for testers, coTestPilot for developers, <a href="/ai-maturity-model/glossary/#test_zeus_hercules">TestZeus-Hercules</a>, Magic Inspector, Wopee, Katalon, Applitools, UIPath, <a href="/ai-maturity-model/glossary/#testers_ai">Testers.ai</a>, <a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright agents</a> (Microsoft)</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>4</strong></td>
<td class="confluenceTd"><strong>Full Autonomy</strong></td>
<td class="confluenceTd">
<p>Autonomous AI maintains scripts and data, migrates frameworks, manages test infrastructure, generates mocks/stubs, and runs test sets unsupervised. Human involvement is confined to strategic governance, on demand, the autonomous AI must supply a transparent, traceable explanation of its actions, input data, and decision rationale.</p>
</td>
<td class="confluenceTd">Autonomous agents, self‑healing AI, continual learning pipelines</td>
<td class="confluenceTd">
<ul>
<li data-uuid="2d69367a-435e-45b0-8ae1-44f23186ac59">End‑to‑end automation orchestrators <em>(no knowledge of tools which operate at his level)</em></li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>


<p>*** Although many tools claim to operate at AI Maturity Level 3, these claims are often exaggerated, they typically require significant manual effort, lack true context awareness, and rely heavily on marketing buzzwords like “self-healing tests,” “autonomous agents,” “AI-driven quality,” “zero-touch automation,” “intelligent test orchestration,” and “continuous risk-based optimization.” In truth, most of these tools work more like Level 2, they help people but don’t really work alongside them. They still need detailed prompts, human guidance, and corrections to get good results. That said, some tools are starting to explore real Level 3 features. Early versions show potential. Progress is slow but steady, with better context awareness and more independence pushing things forward.</p>


<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading" id="test_execution"><a id="test_execution"></a>Test execution</h1>



<p>The activity of running test suites (groups/folders/sets of test cases/scenario&#8217;s/scripts), comparing actual and expected outcomes, logging incidents, and collecting metrics in the designated environment.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container">
<table class="relative-table wrapped confluenceTable scrolableTable" style="width: 100%;">
<thead>

<td class="confluenceTd">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd" style="width: 40%;">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd" style="width: 20%;">
<p><strong>Example tools</strong></p>
</td>

</thead>
<tbody>
<tr>
<td class="confluenceTd"><strong>0</strong></td>
<td class="confluenceTd"><strong>Non-Existent</strong></td>
<td class="confluenceTd">
<p>All tests are executed manually/automated with no AI support or AI enhanced automation; results are logged by hand.</p>
</td>
<td class="confluenceTd">None</td>
<td class="confluenceTd">None</td>
</tr>
<tr>
<td class="confluenceTd"><strong>1</strong></td>
<td class="confluenceTd"><strong>One-Off Assist</strong></td>
<td class="confluenceTd">
<p>Testers occasionally use an LLM to auto‑generate a command‑line or interpret a log snippet to speed up manual execution, results vary widely between individuals and are difficult to reproduce or scale.</p>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="bf40698a-8ba4-4129-9e83-3968720b7719">Off-the-shelf LLM &amp; prompt engineering</li>
<li data-uuid="7f586822-17c4-4b4b-8bea-3bba337d0573">MCPs on off-the shelf LLMs</li>
</ul>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="4fe3fbd3-6662-4514-b225-10716eed4f56">LLM chatbots / answer engines
<ul>
<li>
<a href="/ai-maturity-model/glossary/#copilot_M365">M365 Copilot</a>, 
<a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a>(openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic), <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a> (Perplexity AI), &#8230;</li>
</ul>
</li>
<li data-uuid="919fd44b-0d9c-4b8f-812b-38f64da28f46">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot,</a> &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">2</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">Integrated Assist</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title="">AI is built into execution frameworks or processed to schedule suites, classify failures in real‑time dashboards and execute tests based on high level natural language descriptions.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="32fa5e76-3dfb-40bc-a2b0-345f5f789052">LLM + code embeddings, s, test‑data synthesis libs</li>
<li data-uuid="114f8201-55f3-4a5c-afd7-e096a6e58cca">MCP</li>
<li data-uuid="17f08d7f-31c6-4431-b2e8-8810e3b37521">AI Agents / Autonomous Agents</li>
<li data-uuid="597e3ec3-3896-43d6-b524-5930c0d1d46a">LLMOps (prompt / template management, deployment, guardrails)</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="24210d49-71dd-402f-9d05-8f5bd2066362">User customized AI Agents / Personalised AI Tools
<ul>
<li><a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a>, <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic), <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a> (Perplexity AI), &#8230;</li>
</ul>
</li>
<li data-uuid="1d566313-161c-483c-9253-540850160f01">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot</a>, <a href="/ai-maturity-model/glossary/#google_antigravity">Antigravity</a> (Google)&#8230;</li>
</ul>
</li>
<li data-uuid="d92d5871-933e-4e0b-b61d-6301daadde5b">CLI code assistants
<ul>
<li>Codex (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> CLI (Google), <a href="/ai-maturity-model/glossary/#claude_code">Claude Code</a> (Anthropic), &#8230;</li>
</ul>
</li>
<li data-uuid="d37abfaf-bd66-4fc3-bee9-b825733249c9">MCPs
<ul>
<li><a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright MCP</a>, Selenium MCP, Appium gestures MCP, &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">3</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">AI‑Human Collaboration</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title="">AI agent(s)/system(s) acts as an entry level tester. who starts and<span style="letter-spacing: 0.0px;"> monitors live runs, predicts remaining duration, suggests selective re‑runs, applies self‑healing</span><span style="letter-spacing: 0.0px;"> and surfaces likely root causes for failed steps. While a human overseer guides and refines its output. It can also execute exploratory test flows based on high‑level natural‑language quality requests delivering summarised findings for human validation.<br /></span></p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="605c854f-8863-4d52-990f-54aa5d73ec8f">Agentic frameworks</li>
<li data-uuid="b8ad37bf-2c55-459f-9124-7effe1722131">orchestration</li>
<li data-uuid="e2b64b60-1498-4930-b53a-1b5bf059a542">LLM + code embeddings, s, test‑data synthesis libs</li>
<li data-uuid="e2335285-9fcd-4c93-a08f-798cd6f906ef">MCP</li>
<li data-uuid="890ec854-ed12-445c-a995-b81fd6996880">AI Agents / Autonomous </li>
<li data-uuid="06978c02-7f2d-4096-b87e-69e9a9254b76">LLMOps (prompt / template management, deployment, guardrails)</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="9200a86c-15fd-45ab-b8a1-d6eef5f68f74">Agentic frameworks
<ul>
<li><a href="/ai-maturity-model/glossary/#lang_graph">Langgraph</a> as orchestrator, vector DBs as knowledge, prompts and a model for interaction</li>
<li>
<a href="/ai-maturity-model/glossary/#microsoft_copilot_studio">Microsoft copilot studio</a>, 
<a href="/ai-maturity-model/glossary/#openai_agent_builder">OpenAI agent builder</a>, 
<a href="/ai-maturity-model/glossary/#claude_skills">Claude Skills (Anthropic)</a>, 
<a href="/ai-maturity-model/glossary/#claude_cowork">Claude cowork (Anthropic)</a>, &#8230;
</li>
</ul>
</li>
<li data-uuid="772ec43e-d537-4e7f-8d70-e50bf00e3edd">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot,</a> <a href="/ai-maturity-model/glossary/#google_antigravity">Antigravity</a> (Google)&#8230;</li>
</ul>
</li>
<li data-uuid="4fae6f41-ff66-4881-a4a1-6257a079f817">CLI code assistants
<ul>
<li>Codex (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini </a>CLI (Google), <a href="/ai-maturity-model/glossary/#claude_code">Claude Code</a> (Anthropic), &#8230;</li>
</ul>
</li>
<li data-uuid="17d87a46-5d90-4eae-a564-ebb77b071baa">MCPs
<ul>
<li><a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright</a>, &#8230;</li>
</ul>
</li>
<li data-uuid="c9eaefd1-d427-4979-a6ef-9a68da33cf30">Off-the-shelf tools***
<ul>
<li>coTestPilot for testers, coTestPilot for developers, <a href="/ai-maturity-model/glossary/#test_zeus_hercules">TestZeus-Hercules</a>, Magic Inspector, Wopee, Katalon, Applitools, UIPath, Testim, <a href="/ai-maturity-model/glossary/#testers_ai">testers.ai</a>, 
<a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright agents</a> (Microsoft)
&#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>4</strong></td>
<td class="confluenceTd"><strong>Full Autonomy</strong></td>
<td class="confluenceTd">
<p><span style="letter-spacing: 0.0px;">Autonomous execution agents </span>provision environments, orchestrate parallelisation, self‑heal UI/API/&#8230; tests, run canary, chaos and other unsupervised experiments, continually optimising coverage, cost, and risk without hands‑on support. </p>
<p>They also execute tests on the items under test, and can autonomously detect the need for and execute functional and non‑functional exploratory test flows from high‑level natural‑language quality objectives,</p>
<p>Human interaction is limited to high‑level goal setting and periodic governance reviews, though the system remains available for on‑demand unsupervised natural‑language test runs. On demand, the autonomous AI must supply a transparent, traceable explanation of its actions, input data, and decision rationale.</p>
</td>
<td class="confluenceTd">Autonomous agents, reinforcement scheduling, chaos‑engineering AI</td>
<td class="confluenceTd">
<ul>
<li data-uuid="780c1edd-1df4-40ed-80ee-ea0807c96677">End‑to‑end execution orchestrators <em>(no knowledge of tools which operate at his level)</em></li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>


<p>*** Although many tools claim to operate at AI Maturity Level 3, these claims are often exaggerated, they typically require significant manual effort, lack true context awareness, and rely heavily on marketing buzzwords like “self-healing tests,” “autonomous agents,” “AI-driven quality,” “zero-touch automation,” “intelligent test orchestration,” and “continuous risk-based optimization.” In truth, most of these tools work more like Level 2, they help people but don’t really work alongside them. They still need detailed prompts, human guidance, and corrections to get good results. That said, some tools are starting to explore real Level 3 features. Early versions show potential. Progress is slow but steady, with better context awareness and more independence pushing things forward.</p>


<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading" id="evaluating_exit_criteria"><a id="evaluating_exit_criteria"></a>Evaluating exit criteria &amp; reporting</h1>



<p>The activity of comparing actual test results and coverage to predefined exit criteria and producing concise, meaningful reports for stakeholders on product quality and residual risk.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container">
<table class="relative-table wrapped confluenceTable scrolableTable" style="width: 100%;">

<thead>

<td class="confluenceTd" >
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Example tools</strong></p>
</td>

</thead>
<tbody>
<tr>
<td class="confluenceTd"><strong>0</strong></td>
<td class="confluenceTd"><strong>Non-Existent</strong></td>
<td class="confluenceTd">
<p>Exit criteria are evaluated manually. Reports are crafted by hand with no AI  support. No quality analysis assistance is present.</p>
</td>
<td class="confluenceTd">None</td>
<td class="confluenceTd">None</td>
</tr>
<tr>
<td class="confluenceTd"><strong>1</strong></td>
<td class="confluenceTd"><strong>One-Off Assist</strong></td>
<td class="confluenceTd">
<p>Test analyst prompt an LLM with natural‑language summary generation capabilities  summarise results into prose or create a simple chart for a one‑time release note. Prompts are improvised, with no standards or reusability.</p>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="10cc4b74-4ae6-4e37-9f13-aa3e8d2c6c4d">Off-the-shelf LLM &amp; prompt engineering</li>
<li data-uuid="bf058b59-644b-4d02-b9c0-5134fd979a69">MCPs on off-the shelf LLMs</li>
<li data-uuid="f7e7430b-dcdf-4c95-b569-5f3ee8261513">code completers in IDE&#8217;s</li>
</ul>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="1ee971e8-022f-401f-9b45-9227a8ecf287">LLM chatbots / answer engines
<ul>
<li><a href="/ai-maturity-model/glossary/#copilot_M365">M365 Copilot</a>, <a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a> (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic), <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a> (Perplexity AI), &#8230;</li>
<li data-uuid="854c48de-e4c8-441b-809b-452e268b3406">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot,</a> &#8230;</li>
</ul>
</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd"  data-highlight-colour="#abf5d1"><strong title="">2</strong></td>
<td class="highlight-#abf5d1 confluenceTd"  data-highlight-colour="#abf5d1"><strong title="">Integrated Assist</strong></td>
<td class="highlight-#abf5d1 confluenceTd"  data-highlight-colour="#abf5d1">
<p title="">Standardised AI tasks are available and AI is integrated into tools to assist with KPI aggregation, script documentation, case-to-script mapping, and readiness scoring. Outputs are consistent and versioned. </p>
</td>
<td class="highlight-#abf5d1 confluenceTd"  data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="95ee61c6-6a6a-4d45-9ed8-37c19b9ddb0e">LLM + code embeddings, s, test‑data synthesis libs</li>
<li data-uuid="891e3d36-6940-4dcc-bb4d-83cc4ecd084e">MCP</li>
<li data-uuid="a46c9843-a77d-4262-ad40-db9252424038">AI Agents / Autonomous Agents</li>
<li data-uuid="f49a8c19-1b7e-42e6-911a-f7c9202f9233">LLMOps (prompt / template management, deployment, guardrails)</li>
<li data-uuid="bd35d80b-7e6f-466c-b8df-dc96cd4c22be">BI tooling, vector DB</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd"  data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="82599c1d-9151-4590-b241-abfefe4ea9b1">User customized AI Agents / Personalised AI Tools
<ul>
<li><a href="/ai-maturity-model/glossary/#chat_gpt">ChatGPT</a>, <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic), <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a> (Perplexity AI), &#8230;</li>
</ul>
</li>
<li data-uuid="4a96990a-86f6-4017-a8d5-4dae6bd18403">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot,</a> &#8230;</li>
</ul>
</li>
<li data-uuid="7c50c5bf-1f3f-4139-b22b-b3413b0ac98f">CLI code assistants
<ul>
<li>Codex (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> CLI (Google), <a href="/ai-maturity-model/glossary/#claude_code">Claude Code</a> (Anthropic), &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>3</strong></td>
<td class="confluenceTd"><strong>AI‑Human Collaboration</strong></td>
<td class="confluenceTd">
<p>AI agent(s)/system(s) acts as an entry-level functional reviewer, performing context-aware end-to-end technical or functional reviews  of an item under test  while a human overseer guides and refines its output. It can also generate stakeholder‑specific narrative reports and offers interactive Q&amp;A on QA</p>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="bab9faf7-3207-45cc-acf6-11a755be78e1">Agentic dashboards</li>
<li data-uuid="d7ff830c-770b-413f-bbf8-2930b2b96990">causal analytics</li>
<li data-uuid="ce703474-9a6c-4e26-84bb-39d9741b24c6">Agentic frameworks</li>
<li data-uuid="c59fa14c-e9a1-4728-b068-0f0539a7d100">orchestration</li>
<li data-uuid="d251f9fa-1da5-4330-a4c9-e92f9d739ee5">LLM + code embeddings, s, test‑data synthesis libs</li>
<li data-uuid="5d878ed6-61af-4ef9-911e-c37e7bf8c41d">MCP</li>
<li data-uuid="7578f1c8-5659-4111-ad51-bfc3feeee7e6">AI Agents / Autonomous </li>
<li data-uuid="c1f0cac9-c8c2-437d-b8ec-a3c4eca506c9">LLMOps (prompt / template management, deployment, guardrails)</li>
</ul>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="7bd81bc4-24e4-45a0-846e-c880914d859b">Agentic frameworks
<ul>
<li><a href="/ai-maturity-model/glossary/#lang_graph">Langgraph</a> as orchestrator, vector DBs as knowledge, prompts and a model for interaction, </li>
</ul>
</li>
<li data-uuid="12572bce-3592-4a9e-8d27-c220b1814e0a">IDE&#8217;s with AI capabilities
<ul>
<li><a href="/ai-maturity-model/glossary/#cursor">Cursor</a>, <a href="/ai-maturity-model/glossary/#jetbrain_junie">junie</a>, <a href="/ai-maturity-model/glossary/#github_copilot">github copilot,</a> &#8230;</li>
</ul>
</li>
<li data-uuid="db0a345f-c7c5-4b06-876c-c4be36c3f9cf">CLI code assistants
<ul>
<li>Codex (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> CLI (Google), <a href="/ai-maturity-model/glossary/#claude_code">Claude Code</a> (Anthropic), &#8230;</li>
</ul>
</li>
<li data-uuid="2959a717-b1e2-4664-afa8-ad060503bfab">Off-the-shelf tools***
<ul>
<li>Katalon, Applitools, UIPath, Testim, <a href="/ai-maturity-model/glossary/#testers_ai">testers.ai</a>, <a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright agents</a> (Microsoft) &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>4</strong></td>
<td class="confluenceTd"><strong>Intelligent Automation</strong></td>
<td class="confluenceTd">
<p><span style="letter-spacing: 0.0px;">An autonomous quality‑governance agent continuously evaluates exit criteria and reports via live data, launching extra tests when needed. </span><span style="letter-spacing: 0.0px;">Human involvement is confined to strategic governance, on demand, the autonomous AI must supply a transparent, traceable explanation of its actions, input data, and decision rationale.</span></p>
</td>
<td class="confluenceTd">Autonomous agents, MLOps/CD integration, real‑time data streams</td>
<td class="confluenceTd">
<ul>
<li data-uuid="89e8c18c-1499-438a-b5cf-d13dd030c485">End‑to‑end quality governance platforms. <em>(I have no knowledge of tools which operate at his level)</em></li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>


<p>*** Although many tools claim to operate at AI Maturity Level 3, these claims are often exaggerated, they typically require significant manual effort, lack true context awareness, and rely heavily on marketing buzzwords like “self-healing tests,” “autonomous agents,” “AI-driven quality,” “zero-touch automation,” “intelligent test orchestration,” and “continuous risk-based optimization.” In truth, most of these tools work more like Level 2, they help people but don’t really work alongside them. They still need detailed prompts, human guidance, and corrections to get good results. That said, some tools are starting to explore real Level 3 features. Early versions show potential. Progress is slow but steady, with better context awareness and more independence pushing things forward.</p>


<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading" id="test_control"><a id="test_control"></a>Test control</h1>



<p>The ISTQB of comparing actual progress with planned progress, analysing variances, and taking corrective actions to meet test objectives.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container">
<table class="relative-table wrapped confluenceTable scrolableTable" style="width: 100%;">

<thead>

<td class="confluenceTd" >
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd" >
<p><strong>Example tools</strong></p>
</td>

</thead>
<tbody>
<tr>
<td class="confluenceTd"><strong>0</strong></td>
<td class="confluenceTd"><strong>Non-Existent</strong></td>
<td class="confluenceTd">
<p> All test control is manual with no AI or automation. Variances are tracked by hand, with no predictive insights or decision support.</p>
</td>
<td class="confluenceTd">None</td>
<td class="confluenceTd">None</td>
</tr>
<tr>
<td class="confluenceTd"><strong title="">1</strong></td>
<td class="confluenceTd"><strong title="">One-Off Assist</strong></td>
<td class="confluenceTd">
<p title="">Test coordinators sporadically prompt an LLM to estimate remaining effort and surface process gaps or test debt,</p>
</td>
<td class="confluenceTd">
<ul title="">
<li data-uuid="5551ee5a-924b-4a2f-b93a-f603bcad378b">Off-the-shelf LLM &amp; prompt engineering</li>
<li data-uuid="0c8e983b-2fb1-4cd7-bdbf-ac35610bb1c6">MCPs on off-the shelf LLMs</li>
<li data-uuid="3c6e6b6b-1441-4311-a141-2bf019bc079e">code completers in IDE&#8217;s</li>
</ul>
</td>
<td class="confluenceTd">
<ul title="">
<li data-uuid="40629bee-5387-462f-9eba-b77c6b7d8ee7">LLM chatbots / answer engines
<ul>
<li><a href="/ai-maturity-model/glossary/#copilot_M365">M365 Copilot</a>, <a href="/ai-maturity-model/glossary/#chat_gpt">chatGPT</a> (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI (Google), <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic) , <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a> Perplexity AI), &#8230;</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">2</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1"><strong title="">Integrated Assist</strong></td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<p title="">Specifically for this subdomain an AI is embedded in the test process to predict schedule slippage, KPI drift, and recommend minor scope changes or scope re-balance. Tasks are standardised, outputs consistent, and embedded in the test process.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="9183b71c-05a2-4ac0-a26e-0bb1da844262">LLM + code embeddings, s, test‑data synthesis libs</li>
<li data-uuid="805c537f-43d9-4696-bac0-9b8b87ff16fa">MCP</li>
<li data-uuid="4914b9fc-59ed-4903-a354-ad646e084026">AI Agents / Autonomous Agents</li>
<li data-uuid="10884699-3014-41af-a82b-5c7c1061678b">LLMOps (prompt / template management, deployment, guardrails)</li>
<li data-uuid="b12912e3-6292-400e-a55d-70cdd610bdc2">vector DB&#8217;s, BI tooling</li>
</ul>
</td>
<td class="highlight-#abf5d1 confluenceTd" data-highlight-colour="#abf5d1">
<ul title="">
<li data-uuid="7aeee9f2-0274-462b-85d8-981dcd77c91e">User customized AI Agents / Personalised AI Tools
<ul>
<li><a href="/ai-maturity-model/glossary/#chat_gpt">ChatGPT</a> (openAI), <a href="/ai-maturity-model/glossary/#gemini">Gemini</a> google studio AI, <a href="/ai-maturity-model/glossary/#claude">Claude</a> desktop (Anthropic), Spaces on <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity</a>, &#8230;</li>
<li><a href="/ai-maturity-model/glossary/#notebooklm">NotebookLM</a></li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>3</strong></td>
<td class="confluenceTd"><strong>AI‑Human Collaboration</strong></td>
<td class="confluenceTd">
<p>AI agent(s)/system(s) acts as an entry-level test coordinator who<span style="letter-spacing: 0.0px;"> performs continuous what‑if analysis, correlates business impact, and proposes corrective test actions with explanations.  It answers complex test control queries. Humans oversee and validate.</span></p>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="ec1f9f85-387d-40eb-b20c-a619de476b2d">Causal inference models</li>
<li data-uuid="27d50742-31c8-49bf-b4be-cb413afe2f48">simulation</li>
<li data-uuid="82f720c7-f691-4ccb-a44b-a5a74a0f1119">agentic planners</li>
<li data-uuid="906ac26b-d4c5-478c-a1db-fa75b4b9c7ba">LLM + code embeddings, s, test‑data synthesis libs</li>
<li data-uuid="24c209d3-b231-4272-9698-542943b91279">LLMOps (prompt / template management, deployment, guardrails)</li>
<li data-uuid="8ba85e39-9786-456c-9cb2-7b46d1a40058">MCP</li>
<li data-uuid="5d5f0ee1-d359-4c51-9a3d-dcaf20e68357">vector DB&#8217;s, BI tooling</li>
</ul>
</td>
<td class="confluenceTd">
<ul>
<li data-uuid="bc93cdd9-29ea-4f6e-bbf6-07a81d828f4c">Agentic frameworks
<ul>
<li><a href="/ai-maturity-model/glossary/#lang_graph">Langgraph</a> as orchestrator, vector DBs as knowledge, prompts and a model for interaction, &#8230;</li>
<li>
<a href="/ai-maturity-model/glossary/#microsoft_copilot_studio">Microsoft copilot studio</a>, 
<a href="/ai-maturity-model/glossary/#openai_agent_builder">OpenAI agent builder</a>, 
<a href="/ai-maturity-model/glossary/#claude_skills">Claude Skills (Anthropic)</a>, 
<a href="/ai-maturity-model/glossary/#claude_cowork">Claude cowork (Anthropic)</a>, &#8230;
</li>
</ul>
</li>
<li data-uuid="bc93cdd9-29ea-4f6e-bbf6-07a81d828f4c">Off-the-shelf tools***
<ul>
<li><a href="/ai-maturity-model/glossary/#playwright_mcp">Playwright agents</a> (Microsoft)
</ul>
</ul>
</td>
</tr>
<tr>
<td class="confluenceTd"><strong>4</strong></td>
<td class="confluenceTd"><strong>Full Autonomy</strong></td>
<td class="confluenceTd">
<p>An autonomous agent simulates, forecasts, adjusts scope/staffing, and answers analytic queries. Human input is strategic only, with explainable outputs</p>
</td>
<td class="confluenceTd">Autonomous agents, reinforcement scheduling, closed‑loop governance</td>
<td class="confluenceTd">End‑to‑end adaptive QA orchestrators <em>(I have no knowledge of tools which operate at his level)</em></td>
</tr>
</tbody>
</table>
<br/>
<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Communication / Marketing</title>
		<link>https://www.smalsresearch.be/ai-maturity-model/communication-marketing/</link>
		
		<dc:creator><![CDATA[Jean-Bernard Demorcy]]></dc:creator>
		<pubDate>Tue, 09 Sep 2025 06:55:30 +0000</pubDate>
				<guid isPermaLink="false">/?page_id=23629</guid>

					<description><![CDATA[AI copywriting AI Copywriting enables to generate written marketing and online content, such as news, alerts, blog posts, UX microcopy and social media updates. Maturity levels Level Name Description Technology Example tools 0 Absent Entirely manual writing. The human is responsible for every word, from research to proofreading. None Word processors (Word, Pages, LibreOffice Writer) [&#8230;]]]></description>
										<content:encoded><![CDATA[
<hr class="wp-block-separator has-alpha-channel-opacity"/>



<H1 class="wp-block-heading">AI copywriting</H1>



<p>AI Copywriting enables to generate written marketing and online content, such as news, alerts, blog posts, UX microcopy and social media updates.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container"><table class="relative-table wrapped confluenceTable" style="width: 100%;">
<tbody>
<thead>
<td class="confluenceTd">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd">
<p><strong>Example tools</strong></p>
</td>
</thead>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>0</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Absent</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Entirely manual writing. The human is responsible for every word, from research to proofreading.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>None</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Word processors (Word, Pages, LibreOffice Writer)</p>
</td>
</tr>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>1</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Writing assistance</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>The tool offers basic suggestions: grammar and spelling correction and synonyms. It does not generate content but improves existing text.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Rule engines, basic language models</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><a href="/ai-maturity-model/glossary/#antidote">Antidote</a>, Grammarly, LanguageTool</p>
</td>
</tr>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>2</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Short-form content generator</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>The AI generates paragraphs or short texts (UX microcopy, descriptions, slogans) from a prompt. The tone is generic and the content often requires human review.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Standard LLMs, simple prompt engineering</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Basic versions of Jasper, Copy.ai, Rytr, Frontitude, <a href="/ai-maturity-model/glossary/#chat_gpt">ChatGPT</a>, Anthropic <a href="/ai-maturity-model/glossary/#claude">Claude</a>, Google <a href="/ai-maturity-model/glossary/#gemini">Gemini</a>, <a href="/ai-maturity-model/glossary/#copilot_M365">Microsoft Copilot</a>, <a href="/ai-maturity-model/glossary/#mistral">Mistral</a></p>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">3</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Specialized writer</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">The AI can generate long-form content (blog posts, marketing emails, news) by adopting a specific tone and style (brand voice). It can integrate external information to improve relevance (RAG) and optimize content for a given channel.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Advanced LLMs (GPT-4, Claude 3), RAG, Fine-tuning, advanced templates</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Jasper (Brand Voice mode), <a href="https://Copy.ai">Copy.ai</a> (workflows), TextCortex, Writesonic, <a href="/ai-maturity-model/glossary/#perplexity_ai">Perplexity AI</a>, <a href="/ai-maturity-model/glossary/#chat_gpt">ChatGPT</a>, Anthropic <a href="/ai-maturity-model/glossary/#claude">Claude</a>, Google <a href="/ai-maturity-model/glossary/#gemini">Gemini</a>, <a href="/ai-maturity-model/glossary/#copilot_M365">Microsoft Copilot</a>, <a href="/ai-maturity-model/glossary/#mistral">Mistral</a> (*)</p>
</td>
</tr>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>4</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Content orchestration</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Multiple specialized AI agents (e.g. strategy, writing, SEO) coordinate to execute complex content workflows end-to-end. They can plan an editorial calendar, identify relevant topics by analyzing trends, generate the content, optimize it (SEO), publish it. The system acts autonomously, requiring human oversight only at strategic checkpoints.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>AI agent frameworks, multi-agent systems, real-time data integrations</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>NoimosAI, Copy.ai (Circuits), Jasper (optimization agents), Gumloop.</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: left;">(*) <span style="letter-spacing: 0.0px;">no 100% accuracy guaranteed</span></p>

<br/>
<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<H1 class="wp-block-heading" id="ai_translation_assitants"><a id="ai_translation_assistants"></a>AI translation assistants</H1>



<p>AI Translation assistants help users to translate text and speech, offering features like real-time translation, contextual suggestions and quality checks.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container"><table class="relative-table wrapped confluenceTable scrolableTable" >
<tbody>
<thead>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Example Tools</strong></p>
</td>
</thead>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>0</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Absent</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Entirely human translation.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>None</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Paper dictionaries</p>
</td>
</tr>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>1</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Statistical translation</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Word-for-word or phrase-based translation based on statistical models. Grammar and context are often incorrect.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>SMT (Statistical Machine Translation)</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Largely obsolete technology, the ancestor of Google Translate</p>
</td>
</tr>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>2</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Neural translation</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>The AI translates complete sentences, taking the immediate context into account. The translation is fluent and grammatically correct in most cases.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>NMT (Neural Machine Translation)</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><a href="/ai-maturity-model/glossary/#deepl_pro">DeepL</a> (basic edition), Google Translate, Microsoft Translator, Reverso, Weglot</p>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">3</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Contextual and specialized translation</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">The AI adapts the translation to the domain (legal, medical), tone (formal/informal) and style. It can integrate custom glossaries and preserve document formatting.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">NMT with context, fine-tuning on specific domains, adaptive models</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1"><a href="/ai-maturity-model/glossary/#deepl_pro">DeepL</a> , ModernMT, Reverso Context, Linguee, eTranslation (provided by the European Commission), Tilde MT, specialised versions of Google/Microsoft/AWS Translate</td>
</tr>
<tr>
<td class="confluenceTd" style="vertical-align: top;">
<p>4</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Universal interpreter</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>The AI agent provides real-time, bidirectional voice translation with highly expressive audio. It seamlessly adapts to conversational flow, interruptions and emotional tone.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Multimodal native models (audio-to-audio processing without text bottleneck), cross-cultural reasoning</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>OpenAI Advanced Voice Mode, Gemini Live, Meta SeamlessM4T.</p>
</td>
</tr>
</tbody>
</table></div>
<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<H1 class="wp-block-heading" id="ai_video_generator"><a id="ai_video_generator"></a>AI video generator</H1>



<p>AI Video generator automatically creates videos from various inputs like text, images or audio.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container"><table class="relative-table wrapped confluenceTable scrolableTable" >
<colgroup >
<col  style="width: 3.31811%;" />
<col  style="width: 8.55724%;" />
<col  style="width: 42.3205%;" />
<col  style="width: 24.0418%;" />
<col  style="width: 21.7633%;" /></colgroup>
<tbody >
<thead >
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Example tools</strong></p>
</td>
</thead>
<tr >
<td class="confluenceTd" style="vertical-align: top;">
<p>0</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Absent</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Entirely manual video production (filming, editing, special effects).</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>None</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Adobe Premiere Pro, Final Cut Pro</p>
</td>
</tr>
<tr >
<td class="confluenceTd" style="vertical-align: top;">
<p>1</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Assisted editing</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>The tool automates simple tasks like creating animated slideshows from images, transcribing subtitles or basic template edits.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Pre-defined templates, Automatic speech recognition (ASR)</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Canva, Animoto, CapCut AutoCut</p>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">2</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Avatar or clip-based generation</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">The AI generates simple videos, often by animating an avatar that speaks a given text, or by assembling stock video clips based on a script. The quality is often synthetic.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Lip-sync, Text-to-speech (TTS), clip assembly</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title=""><a href="/ai-maturity-model/glossary/#synthesia">Synthesia</a>, HeyGen, Pictory, Deepbrain AI, Colossyan, D-ID, InVideo AI, Lumen5</p>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">3</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Cinematic generation (text-to-video)</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">The AI generates photorealistic scenes from a simple prompts or uploaded reference images. Models now handle complex physical motion, lighting and realistic human rendering.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Advanced video diffusion models, implicit 3D modeling</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">
OpenAI Sora, Pika 2.0, Runway Gen-3, Luma AI, Google Veo 2, Lights Camera Action (LCA), Kling AI 1.6
</p>
</td>
</tr>
<tr >
<td class="confluenceTd" style="vertical-align: top;">
<p>4</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Autonomous director</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>	
The AI handles entire multi-shot productions. It ensures character consistency across scenes, generates cohesive dialogue and soundtracks, and handles narrative pacing.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Unified multimodal generation (video, sound, dialogue), hierarchical AI agents</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>LTX Studio, Showrunner, Crreo AI (transitioning from R&#038;D to early commercial access)</p>
</td>
</tr>
</tbody>
</table></div>
<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading" id="ai_image_generator"><a id="ai_image_generator"></a>AI image generator</h1>



<p>AI Image generator enables a software to create new images from various inputs, such as text descriptions, existing photos or other data.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container"><table class="relative-table wrapped confluenceTable scrolableTable" style="width: 100%; ">
<colgroup >
<col  style="width: 3.31811%;" />
<col  style="width: 8.55724%;" />
<col  style="width: 42.3205%;" />
<col  style="width: 24.0418%;" />
<col  style="width: 21.7633%;" /></colgroup>
<tbody >
<thead  >
<td class="confluenceTd" style="vertical-align: top; ">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p><strong>Example tools</strong></p>
</td>
</thead>
<tr  >
<td class="confluenceTd" style="vertical-align: top; ">
<p>0</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Absent</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Manual creation of images (drawing, photography, graphic design).</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>None</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Adobe Photoshop, Illustrator, Cameras</p>
</td>
</tr>
<tr  >
<td class="confluenceTd" style="vertical-align: top; ">
<p>1</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Filters and simple edits</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>The AI applies stylized filters (e.g., &#8220;Van Gogh style&#8221;) or performs simple edits (red-eye removal) on an existing image.</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Convolutional neural networks (CNNs), style transfer models</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Instagram filters, Prisma, basic &#8220;Magic eraser&#8221; tools</p>
</td>
</tr>
<tr  >
<td class="confluenceTd" style="vertical-align: top; ">
<p>2</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Simple generation (text-to-image)</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>The tool generates a complete image from a simple prompt. The image is coherent, but control over details (e.g., number of fingers) is weak.</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Early diffusion models, Generative adversarial networks (GANs)</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>DALL-E 2, older Stable Diffusion versions</p>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top; " data-highlight-colour="#abf5d1">
<p title="">3</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top; " data-highlight-colour="#abf5d1">
<p title="">Advanced and controlled generation</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top; " data-highlight-colour="#abf5d1">
<p title="">The AI creates highly detailed, photorealistic images from complex prompts. It offers fine control over composition, accurate hand/anatomy rendering, and highly accurate typography generation directly within the image.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top; " data-highlight-colour="#abf5d1">
<p title="">Advanced diffusion models, character consistency models, Conditional ControlNets</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top; " data-highlight-colour="#abf5d1">
<p title="">
<a href="/ai-maturity-model/glossary/#midjourney">Midjourney</a>, DALL-E 3, Stable Diffusion XL, <a href="/ai-maturity-model/glossary/#adobe_photoshop_with_firefly">Adobe Firefly</a>, Ideogram 2.0, Flux.1, Leonardo.ai
</p>
</td>
</tr>
<tr  >
<td class="confluenceTd" style="vertical-align: top; ">
<p>4</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Autonomous art-director</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>The AI agent designs a complete visual identity for a brand or campaign from a brief. It generates all necessary visuals (logos, banners, illustrations) in a consistent style and adapts them to different formats autonomously.</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>AI agent frameworks, real-time fine-tuning, reasoning on abstract concepts</p>
</td>
<td class="confluenceTd" style="vertical-align: top; ">
<p>Canva Magic Studio (Agentic features), custom enterprise R&#038;D.</p>
</td>
</tr>
</tbody>
</table></div>
<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading" id="ai_seo_assistants"><a id="ai_seo_assistants"></a>AI SEO assistants</h1>



<p>AI SEO assistants help webmasters/copywriters to <span class="inline-comment-marker" data-ref="e8ea0aa3-93dd-4bd5-903c-00fe299a9fd1">improve their search engine rankings</span> by automating tasks, analyzing data and providing actionable insights for content and technical optimisation.</p>



<h2 class="wp-block-heading">Maturity levels</h2>


<div class="wp-responsive-table-container"><table class="relative-table wrapped confluenceTable scrolableTable" >
<colgroup >
<col  style="width: 3.31811%;" />
<col  style="width: 8.55724%;" />
<col  style="width: 42.3205%;" />
<col  style="width: 24.0418%;" />
<col  style="width: 21.7633%;" /></colgroup>
<tbody >
<thead >
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Level</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Name</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Description</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Technology</strong></p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p><strong>Example tools</strong></p>
</td>
</thead>
<tr >
<td class="confluenceTd" style="vertical-align: top;">
<p>0</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Absent</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Entirely manual SEO analysis and optimization (keyword research, competitor analysis, writing).</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>None</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Google Search, spreadsheets (Excel)</p>
</td>
</tr>
<tr >
<td class="confluenceTd" style="vertical-align: top;">
<p>1</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Keyword analysis</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>The tool suggests relevant keywords based on a starting topic and provides simple metrics (search volume, difficulty).</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Statistical analysis, keyword databases</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Google Keyword Planner, Ubersuggest</p>
</td>
</tr>
<tr >
<td class="confluenceTd" style="vertical-align: top;">
<p>2</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Content optimizer</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>The AI analyses the content of top-ranking pages and provides a real-time optimisation score. It recommends keywords to include, a heading structure and text length, including basic LLM optimizations.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Natural Language Processing (NLP), TF-IDF analysis, SERP analysis</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>SurferSEO, MarketMuse, Clearscope</p>
</td>
</tr>
<tr style="background-color: #8feb9b;">
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">3</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Integrated strategic assistant</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">The tool combines keyword research, competitive analysis, content brief generation, AI-assisted writing and on-page optimisation into a unified workflow, integrating advanced LLM optimization. It can suggest internal linking strategies.</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">LLMs, RAG on SERP data, Topic clustering</p>
</td>
<td class="highlight-#abf5d1 confluenceTd" style="vertical-align: top;" data-highlight-colour="#abf5d1">
<p title="">Ahrefs AI Content Helper &#038; Brand radar, SurferSEO (with AI writing), GrowthBar, Frase.io, Semrush Copilot, ContentShake AI, SEOpital, Jasper (*)</p>
</td>
</tr>
<tr >
<td class="confluenceTd" style="vertical-align: top;">
<p>4</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Autonomous SEO strategist</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>A single intelligent system where agentic capabilities are embedded at every stage. It autonomously identifies gaps, researches topics, executes optimizations and monitors performance.</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>Multi-agent frameworks, deep CMS integration, automated monitoring</p>
</td>
<td class="confluenceTd" style="vertical-align: top;">
<p>NoimosAI, Averi AI, custom agents built via Lindy</p>
</td>
</tr>
</tbody>
</table>
<p style="text-align: left;">(*) no 100% accuracy guaranteed</p>
<div align="left">
<table class="fixed-width wrapped confluenceTable">
<tbody >
<tr >
<td class="highlight-#abf5d1 confluenceTd" style="background-color: #8feb9b; text-align: left; vertical-align: top;" data-highlight-colour="#abf5d1"> </td>
<td class="confluenceTd" style="text-align: left; vertical-align: top;"><sup><em style="text-align: left;"><strong style="text-align: left; padding-left: 5px;">AI Maturity Level</strong>: Indicates the level the technology vendors claim to have reached in deploying AI solutions that actually work in real-world applications</em></sup></td>
</tr>
</tbody>
</table>
</div>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PII Filtering &#8211; door ******* uit *****</title>
		<link>https://www.smalsresearch.be/pii-filtering/</link>
					<comments>https://www.smalsresearch.be/pii-filtering/#comments</comments>
		
		<dc:creator><![CDATA[Joachim Ganseman]]></dc:creator>
		<pubDate>Mon, 28 Oct 2024 15:37:54 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[audit]]></category>
		<category><![CDATA[chatbot]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=21217</guid>

					<description><![CDATA[Hoe beschermen we persoonsgegevens die nietsvermoedend via chat worden meegedeeld? PII filtering kan gedeeltelijk helpen, maar is geen mirakeloplossing.]]></description>
										<content:encoded><![CDATA[
<p><em>Cet article est aussi disponible <a href="/pii-filtering-fr">en français</a>.</em></p>



<p>De populariteit van AI-toepassingen met chat-interface, doet een &#8220;oud zeer&#8221; opnieuw bovendrijven: hoe beschermen we persoonsgegevens die, vaak nietsvermoedend, via chat worden meegedeeld aan een geautomatiseerd systeem? Bij uitbreiding stelt zich deze vraag voor elke toepassing waar persoonsgebonden gegevens gedeeld moeten worden met derde partijen. De externe afhankelijkheden van een toepassing kunnen echter een ingewikkeld kluwen zijn. Het is ook niet altijd mogelijk (of economisch haalbaar) om de grote spelers op het vlak van cloud- en AI-diensten te ontwijken &#8211; toch niet als je mee wil zijn met de nieuwste mogelijkheden op een kostenefficiënte manier.</p>



<p>Een mogelijke oplossing staat bekend als <em>PII Filtering</em>. PII is daarbij het Engels acroniem voor <em>Personal(ly) Identifiable/Identifying Information</em>, i.e. de informatie waarmee iemand geïdentificeerd kan worden. Het idee is eenvoudig genoeg: we plaatsen een extra filter voor de applicatie, die de persoonlijke gegevens uit de input filtert, voordat die input aan de applicatie wordt doorgegeven. Als dat goed lukt, dan maakt het in principe niet meer uit wat de applicatie achter de schermen met die gegevens doet.</p>



<h2 class="wp-block-heading">PII vs. Personal Data</h2>



<p>Het is allereerst cruciaal om te begrijpen dat &#8220;PII&#8221; niet gelijkgesteld kan worden aan &#8220;Personal Data&#8221; zoals de GDPR en andere Europese wetgeving die definieert. PII is een concept dat geworteld is in Amerikaanse wetgeving. Het doelt meestal op een eindige set identificatiegegevens die kunnen worden gebruikt om de identiteit van een individu te onderscheiden of te achterhalen, zoals rijksregisternummers, adressen en telefoonnummers. Amerikaanse regelgeving is op dat vlak vaak prescriptief van aard: zo bevat de <a href="https://en.wikipedia.org/wiki/Health_Insurance_Portability_and_Accountability_Act">HIPAA</a> (privacywetgeving m.b.t. gezondheidsgegevens) een <a href="https://www.luc.edu/its/aboutus/itspoliciesguidelines/hipaainformation/the18hipaaidentifiers/">lijst met 18 identifiers</a> die als PII worden gedefinieerd. Dat heeft als groot voordeel dat het relatief gemakkelijk te implementeren is: wanneer het lijstje helemaal afgevinkt kan worden, is er ook juridisch weinig discussie meer.</p>



<p>Daarentegen hanteert de Europese <a href="https://eur-lex.europa.eu/eli/reg/2016/679/oj">GDPR (AVG)</a> een principiële benadering: ze definieert een breder concept van <a href="https://gdpr-info.eu/art-4-gdpr/">Personal Data</a> (persoonsgegevens). Dat omvat &#8220;alle informatie met betrekking tot een geïdentificeerde of identificeerbare natuurlijke persoon&#8221;. Dit betekent dat zelfs schijnbaar onschuldige informatie, zoals de kleur &#8220;rood&#8221;, beschouwd kan worden als persoonsgegeven, als deze bijvoorbeeld betrekking heeft tot iemands lievelingskleur. Deze contextafhankelijke definitie van persoonsgegevens, maakt het echter ook nagenoeg onmogelijk om generieke, algemeen inzetbare detectoren of filters ervoor te ontwikkelen. Wat beschouwd wordt als persoonsgegeven of niet, moet geval per geval beoordeeld worden. Niet alleen ontwikkelaars worden daardoor geconfronteerd met meer maatwerk dan hen lief is, ook juristen, DPO&#8217;s en <a href="https://www.gegevensbeschermingsautoriteit.be/">Gegevensbeschermingsautoriteiten</a> hebben met zulke beoordelingen in elk EU-land de handen vol.</p>



<p>Oplossingen voor PII-filtering die voldoen voor gebruik in de VS, lopen dus altijd een risico om in de EU slechts gedeeltelijk tegemoet te komen aan de vereisten. Omdat de term <em>PII </em>echter algemeen ingang gevonden lijkt te hebben in de globale markt, spreken we verder in dit artikel enkel nog over PII. Houd wel permanent in het achterhoofd dat <em>Personal Data</em> altijd het uitgangspunt moet zijn in EU-context.</p>



<h2 class="wp-block-heading">PII Detectie en Filtering</h2>



<p>Om tekstuele input te filteren gebruiken we doorgaans <a href="https://en.wikipedia.org/wiki/Pattern_recognition">patroonherkenningstechnieken</a> en <a href="https://en.wikipedia.org/wiki/Natural_language_processing">Natural Language Processing (NLP)</a>-modellen. Deze modellen scannen ongestructureerde gegevens, op zoek naar patronen zoals e-mailformaten of numerieke reeksen die lijken op rijksregister- of telefoonnummers, om deze nadien te kunnen redigeren of anonimiseren. Daarnaast worden aangepaste <a href="https://en.wikipedia.org/wiki/Regular_expression">regex-patronen</a> vaak toegevoegd om vormen van gevoelige informatie te herkennen die specifiek zijn voor de betrokken toepassing.</p>



<figure class="wp-block-image aligncenter size-full"><a href="/wp-content/uploads/2024/10/image.png"><img fetchpriority="high" decoding="async" width="523" height="217" src="/wp-content/uploads/2024/10/image.png" alt="Een voorbeeld van PII Filtering met NER in het Nederlands. Bron: pii-filter library (c) &quot;HabaneroCake&quot;, MIT license" class="wp-image-21255" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/10/image.png 523w, https://www.smalsresearch.be/wp-content/uploads/2024/10/image-300x124.png 300w" sizes="(max-width: 523px) 100vw, 523px" /></a><figcaption class="wp-element-caption">PII Filtering op basis van NER in het Nederlands. Bron: <a href="https://github.com/HabaneroCake/pii-filter/">pii-filter library</a> (c) &#8220;HabaneroCake&#8221;, MIT license</figcaption></figure>



<p>Effectieve PII-filtering steunt sterk op <a href="https://en.wikipedia.org/wiki/Named-entity_recognition">Named Entity Recognition (NER)</a>, een NLP-methode die entiteiten zoals namen, data en locaties in een tekst identificeert. We publiceerden daar eerder al over in meer detail &#8211; zie deze artikels over <a href="/facetten-van-natural-language-processing-deel-2/">NLP</a> en <a href="https://itdaily.be/blogs/software/named-entity-recognition-een-praktische-toepassing-van-natural-language-processing/">NER</a>. De opkomst van generatieve AI heeft aan de opzet van NER-technieken nog niet veel veranderd. Ook vandaag gebruiken veel PII filtering tools achterliggend goed ontwikkelde NLP-toolkits zoals <a href="https://www.nltk.org/">NLTK</a>, <a href="https://spacy.io/">SpaCy</a> of <a href="https://flairnlp.github.io/">Flair</a>.</p>



<p>PII kan echter ook in afbeeldingen opduiken: scans van documenten, foto&#8217;s van gezichten of nummerplaten, &#8230; Om dat weg te filteren is een geavanceerdere aanpak vereist, omdat de gevoelige gegevens kunnen verschijnen in uiteenlopende vormen, van handgeschreven notities tot reflecties in foto&#8217;s. <a href="https://en.wikipedia.org/wiki/Optical_character_recognition">Optical Character Recognition (OCR)</a> wordt gebruikt om tekst uit afbeeldingen te extraheren en deze om te zetten in een formaat dat op dezelfde manier kan worden geanalyseerd als tekstuele gegevens. Zodra de tekst is geëxtraheerd, ondergaat deze hetzelfde PII-filterproces met behulp van NLP-technieken. In gevallen waarin de afbeelding zelf gevoelige visuele elementen bevat (zoals gezichten of persoonlijke documenten), worden algoritmen voor <a href="https://en.wikipedia.org/wiki/Object_detection">beeldherkenning</a> gebruikt om dergelijke inhoud te herkennen.</p>



<p>Eenmaal geïdentificeerd, moet je besluiten wat er dient te gebeuren met de gedetecteerde PII. Opties kunnen zijn:</p>



<ul class="wp-block-list">
<li>Vervanging / substitutie door een andere waarde. Deze kan eventueel aangemaakt worden met een <a href="https://faker.readthedocs.io/en/master/">synthetic data tool</a>, zodat het origineel vervangen wordt door een realistisch ogend alternatief.</li>



<li>Masking / obfuscation: vervang door een karakter of balkje. Dit kan eventueel gedeeltelijk, om nuttige algemenere info niet te verliezen: zo zien we nog dat +32********* een Belgisch telefoonnummer is.</li>



<li>Verwijdering</li>



<li><a href="https://en.wikipedia.org/wiki/Cryptographic_hash_function">Hashing</a> (best met <a href="https://en.wikipedia.org/wiki/Salt_(cryptography)">salt</a> ter preventie van brute-force attacks)</li>



<li>Encryptie, eventueel <a href="https://en.wikipedia.org/wiki/Format-preserving_encryption">formaat-behoudend</a></li>



<li>&#8230;</li>
</ul>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2024/10/2024-10-28_21h50_28.png"><img decoding="async" width="1024" height="536" data-id="21266" src="/wp-content/uploads/2024/10/2024-10-28_21h50_28-1024x536.png" alt="" class="wp-image-21266" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28-1024x536.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28-300x157.png 300w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28-768x402.png 768w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28.png 1052w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2024/10/2024-10-28_21h51_34.png"><img decoding="async" width="722" height="410" data-id="21264" src="/wp-content/uploads/2024/10/2024-10-28_21h51_34.png" alt="" class="wp-image-21264" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h51_34.png 722w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h51_34-300x170.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></a></figure>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2024/10/2024-10-28_21h52_02.png"><img loading="lazy" decoding="async" width="736" height="374" data-id="21265" src="/wp-content/uploads/2024/10/2024-10-28_21h52_02.png" alt="" class="wp-image-21265" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h52_02.png 736w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h52_02-300x152.png 300w" sizes="auto, (max-width: 736px) 100vw, 736px" /></a></figure>
<figcaption class="blocks-gallery-caption wp-element-caption">Nederlandstalige tekst (links) geanonymiseerd door maskeren (midden) of substitutie (rechts) met behulp van de <a href="https://language-tools.ec.europa.eu/NLPServices/NLP">EU NLP Service</a>. Merk op dat de geanonymiseerde tekst nog steeds unieke carrière-elementen vermeldt waaruit men de verborgen identiteit kan afleiden. Bron tekst: <a href="https://pers.kortrijk.be/228363-kortrijk-rouwt-om-overlijden-martine-tanghe">Stad Kortrijk, persbericht 23/07/2023</a> </figcaption></figure>



<p>Voor afbeeldingen zijn andere functies mogelijk, waaronder:</p>



<ul class="wp-block-list">
<li>Vervagen (blurring) of andere filters. Hierbij moet men er wel op letten dat sommige filters <a href="https://github.com/Y-Vladimir/SmartDeblur?tab=readme-ov-file">omkeerbaar</a> zijn.</li>



<li>Bedekken of overschrijven, bijvoorbeeld met een zwarte rechthoek.</li>



<li>&#8230;</li>
</ul>



<p>De vervanging door een alternatieve waarde van dezelfde soort kan echter soms ook voor vreemde effecten zorgen, omdat de entiteit niet altijd correct wordt ingeschat of omdat er te weinig of geen rekening gehouden kan worden met de context. Zo kan het zijn dat sommige tools geen acht slaan op het geslacht als een willekeurige naam moet worden gekozen om een echte naam te vervangen, terwijl dat wel nodig kan zijn om grammaticaal of inhoudelijk consistent te blijven. We zien soms ook plaatsnamen zoals Sint-Niklaas geanonymiseerd worden als pakweg Sint-Kevin, omdat Niklaas als naam werd aanzien. De taalmodellen gebruikt voor NER zijn dus zeker niet feilloos.</p>



<p>Het zou in theorie mogelijk moeten zijn om betere resultaten te halen door recente LLMs zoals GPT-4 in te schakelen met slim geconstrueerde prompts. Waarschijnlijk zullen er binnenkort wel stappen in die richting worden gezet, maar vandaag zijn de rekenkrachtvereisten, energieconsumptie en kostprijs daarvan nog te hoog, en de responstijd te traag, om dat ook schaalbaar te maken.</p>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2024/10/2024-10-28_21h50_28.png"><img decoding="async" width="1024" height="536" data-id="21266" src="/wp-content/uploads/2024/10/2024-10-28_21h50_28-1024x536.png" alt="" class="wp-image-21266" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28-1024x536.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28-300x157.png 300w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28-768x402.png 768w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h50_28.png 1052w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2024/10/2024-10-28_22h24_02.png"><img loading="lazy" decoding="async" width="793" height="364" data-id="21271" src="/wp-content/uploads/2024/10/2024-10-28_22h24_02.png" alt="" class="wp-image-21271" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_22h24_02.png 793w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_22h24_02-300x138.png 300w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_22h24_02-768x353.png 768w" sizes="auto, (max-width: 793px) 100vw, 793px" /></a></figure>
<figcaption class="blocks-gallery-caption wp-element-caption">Dezelfde Nederlandstalige tekst (links) geanonymiseerd door ChatGPT 4o (rechts). In de prompt werd gevraagd &#8220;vervang alle PII en persoonsgegevens, ook de beroepen, werkgevers, steden, datums en leeftijden.&#8221; Merk op dat de resulterende tekst ook herschreven werd. Om dat tegen te gaan zou verdere uitbreiding en verfijning van de prompt nodig zijn.</figcaption></figure>



<h2 class="wp-block-heading">Tools of the trade</h2>



<p>Wie op zoek gaat naar grootschalige PII Filtering systemen, en volledige databases, netwerken of filesystems wil kunnen scannen, komt terecht bij <a href="https://en.wikipedia.org/wiki/Data_loss_prevention_software">Data Loss Prevention</a> tools. Deze moeten verhinderen dat PII het bedrijf verlaat zonder de nodige toelatingen. Voor een marktoverzicht verwijzen we naar <a href="https://www.gartner.com/reviews/market/data-loss-prevention">Gartner</a>. Ook de internetgiganten bieden daarvoor oplossingen aan, zoals <a href="https://aws.amazon.com/macie/">Amazon Macie</a>, <a href="https://cloud.google.com/security/products/sensitive-data-protection">Google SDP</a>, of <a href="https://www.ibm.com/guardium">IBM Guardium</a>. De daarbij gebruikte technieken zijn enigszins verwant met diegene gebruikt bij forensisch onderzoek &#8211; de zogenaamde eDiscovery, waarover we ook al <a href="/e-discovery/">eerder schreven</a>.</p>



<p>Applicatiebouwers zijn waarschijnlijk eerder geïnteresseerd in tools in de vorm van bibliotheken, SDK&#8217;s of API&#8217;s. Interessante projecten zijn:</p>



<ul class="wp-block-list">
<li>Voor tekst:
<ul class="wp-block-list">
<li><a href="https://microsoft.github.io/presidio/">Microsoft Presidio</a> (<a href="https://huggingface.co/spaces/presidio/presidio_demo">demo</a>) (ook beschikbaar als <a href="https://microsoft.github.io/presidio/samples/docker/">Docker containers</a>), of de <a href="https://learn.microsoft.com/en-us/azure/ai-services/language-service/personally-identifiable-information/quickstart?tabs=windows&amp;pivots=rest-api">PII detection</a> dienst op Azure</li>



<li><a href="https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html">Amazon Comprehend</a> (<a href="https://ai-service-demos.go-aws.com/comprehend">demo</a>)</li>



<li>De <a href="https://language-tools.ec.europa.eu/NLPServices">EU Language Services voor NLP</a> (inloggen vereist): voor anonymisering van documenten in EU-talen, gebaseerd op het <a href="https://gitlab.com/MAPA-EU-Project/mapa_project">MAPA-EU project</a> dat ook via Docker Compose gebruikt kan worden.</li>



<li><a href="https://github.com/tokern/piicatcher">PIICatcher</a> (voor databases en filesystems)</li>
</ul>
</li>



<li>Voor afbeeldingen:
<ul class="wp-block-list">
<li><a href="https://google.github.io/magritte/">Google Magritte</a> (voor gezichten)</li>



<li><a href="https://github.com/facebookresearch/EgoBlur">Meta Research EgoBlur</a> (voor gezichten en nummerplaten)</li>



<li><a href="https://github.com/redhuntlabs/Octopii">OctoPII</a> (enkel detectie en geen redactie. Voor documenten en filesystems, met <a href="https://github.com/tesseract-ocr/tesseract">Tesseract</a> als OCR engine)</li>
</ul>
</li>
</ul>



<figure class="wp-block-image aligncenter size-large"><a href="/wp-content/uploads/2024/10/2024-10-28_21h36_03.png"><img loading="lazy" decoding="async" width="1024" height="401" src="/wp-content/uploads/2024/10/2024-10-28_21h36_03-1024x401.png" alt="Gezichts-anonymisering met Meta EgoBlur. " class="wp-image-21260" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h36_03-1024x401.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h36_03-300x117.png 300w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h36_03-768x300.png 768w, https://www.smalsresearch.be/wp-content/uploads/2024/10/2024-10-28_21h36_03.png 1268w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">Gezichts-anonymisering met Meta EgoBlur. Bron: Nikhil Raina et.al., <a href="https://arxiv.org/abs/2308.13093">&#8220;EgoBlur: Responsible Innovation in Aria&#8221;</a>, met foto&#8217;s uit de publieke <a href="https://ai.meta.com/datasets/casual-conversations-v2-dataset/">CCV2 dataset</a>.</figcaption></figure>



<p>Ook in academia wordt er verder onderzoek gedaan. Zo is <a href="https://github.com/EdyVision/pii-codex">PII-Codex</a> het resultaat van een <a href="https://joss.theoj.org/papers/10.21105/joss.05402">universitair project</a>, met een interessante feature: achterliggend maakt het gebruik van Presidio of Comprehend, maar het voegt ook een eigen risico-score toe, die moet kunnen aangeven in welke mate het niet-redigeren van de herkende PII een (privacy-)risico zou kunnen inhouden. Daarnaast laten de meeste tools ook toe om <a href="https://microsoft.github.io/presidio/analyzer/customizing_nlp_models/">andere of eigen modellen</a> in te pluggen. Deze kan je eventueel zelf <a href="https://huggingface.co/docs/transformers/training">gefinetuned</a> hebben voor detectie van custom entiteiten, als je daarvoor de nodige trainingsdata hebt.</p>



<p>Als we vertrouwen op NER of beeldherkenning voor PII-detectie, dan kunnen we er zeker van zijn dat sommige PII niet gedetecteerd zal worden, en dat ook andersom niet-PII foutief als PII aangemerkt kan worden. Geen van deze technologieën garandeert immers 100% accuraatheid. Het succespercentage zal ook variëren afhankelijk van de taal en het entiteitstype dat men probeert te detecteren. Volledige vervanging of verwijdering van elke entiteit in een document kan nooit worden gegarandeerd. Daar waar dat cruciaal is, wordt het resultaat achteraf dus best nog gecontroleerd.</p>



<h2 class="wp-block-heading">Conclusie</h2>



<p>Oplossingen voor PII-filtering kunnen in Europese context zeker bijdragen aan de bescherming van persoonsgegevens. De techniek is eenvoudig te begrijpen en gemakkelijk inzetbaar. Er is echter nooit een garantie op volledige accurate detectie van alle persoonsgegevens, en dus zal hun gebruik in de meeste gevallen een onderdeel moeten zijn van een ruimere waaier aan maatregelen om <em>compliance </em>met GDPR en andere wetgeving te bevorderen.</p>



<p>De achterliggende technologie is &#8220;klassiek&#8221;, in de zin dat NER en beeldherkenning al lang bestaan en ondertussen goed ontwikkeld zijn. Vandaag profiteren ze mee van de aandacht voor artificiële intelligentie, en <a href="https://paperswithcode.com/task/named-entity-recognition-ner">allerlei benchmarks</a> laten toe om de state-of-the-art op te volgen. In de praktijk merken we wel dat de resulterende geanonymiseerde tekst soms wat bevreemdend kan overkomen, omdat enkele al even klassieke problemen waar NER typisch mee kampt, nog altijd niet helemaal van de baan zijn.</p>



<p>______________________</p>



<p><em>Dit is een ingezonden bijdrage van Joachim Ganseman, IT consultant bij Smals Research. &nbsp;Dit artikel werd geschreven in eigen naam en neemt geen standpunt in namens Smals.</em></p>


]]></content:encoded>
					
					<wfw:commentRss>https://www.smalsresearch.be/pii-filtering/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Approaches Radar 2024</title>
		<link>https://www.smalsresearch.be/radar-2024/approaches-radar-2024/</link>
		
		<dc:creator><![CDATA[Koen Vanderkimpen]]></dc:creator>
		<pubDate>Fri, 26 Jan 2024 15:47:53 +0000</pubDate>
				<guid isPermaLink="false">/?page_id=19834</guid>

					<description><![CDATA[ Methodology, Approaches &#38; Architectural Styles Légende &#8211; Legende AI / Machine Learning = AI is the broader concept of machines acting in a way that we would consider “smart”. Machine Learning is a form of AI based on giving machines access to data and let them learn for themselves. Includes neural networks, deep learning, language [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1> Methodology, Approaches &amp; Architectural Styles<a href="/wp-content/uploads/2024/01/approaches2024.png"><img loading="lazy" decoding="async" class="wp-image-19843 size-full aligncenter" src="/wp-content/uploads/2024/01/approaches2024.png" alt="" width="711" height="633" srcset="https://www.smalsresearch.be/wp-content/uploads/2024/01/approaches2024.png 711w, https://www.smalsresearch.be/wp-content/uploads/2024/01/approaches2024-300x267.png 300w" sizes="auto, (max-width: 711px) 100vw, 711px" /></a></h1>
<p><a title="Radar" href="/radar/#legende-fr">Légende </a>&#8211; <a href="/radar/#legende-nl">Legende</a></p>
<table style="width: 97.4157%; height: 2038px;" width="588">
<tbody>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI / Machine Learning</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">AI is the broader concept of machines acting in a way that we would consider “smart”. Machine Learning is a form of AI based on giving machines access to data and let them learn for themselves. Includes neural networks, deep learning, language processing. A possible application is fraud detection.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI Augmented Development</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Use of AI and NLP in the development environment: debugging, testing (mutation, fuzzing), generation of code/documentation, augmented coding, recommendations for refactoring, &#8230;</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>EDA</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">An Event Driven Architecture (EDA) can offer many advantages over more traditional approaches. Events and asynchronous communication can make a system much more responsive and efficient. Moreover, the event model often better resembles the actual business data coming in.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>Generative AI</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Generative AI is the technology to create new content by utilising existing text, audio files, or images. With generative AI, computers detect the underlying patterns related to the input and produce similar content.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>Crypto-agility </strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>+</strong></td>
<td style="width: 433px; height: 107px;" width="524">Crypto-agility allows an information security system to switch to alternative cryptographic primitives and algorithms without making significant changes to the system&#8217;s infrastructure. Crypto-agility facilitates system upgrades and evolution.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI for Security</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>+</strong></td>
<td style="width: 433px; height: 107px;" width="524">Non-traditional methods for improving analysis methods in the security technology of systems and applications (e.g., user behaviour analytics, improved detection of potential attacked from system logs).</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>Causal AI</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>+</strong></td>
<td style="width: 433px; height: 107px;" width="524">Causal AI techniques makes it possible to understand the causes of a prediction outcome, it encompasses methods like causal Bayesians networks, causal rules, combination of symbolic and neural AI, etc.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>Verifiable Credentials</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>N</strong></td>
<td style="width: 433px; height: 107px;" width="524">Verifiable credentials (VC) can represent all of the same information that physical credentials represent. Additional technologies, such as digital signatures, makes VC more tamper-evident and more trustworthy than their physical counterparts. VC are typically stored in digital wallets.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Confidential Computing</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Confidential computing allows an entity to do computations on data without having access to the data itself. This can be realised in a centralised way with homomorphic encryption or a trusted execution environment (TEE) or in a decentralised way with secure multiparty computation.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>NLP</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Natural Language Processing (NLP), part of AI, includes techniques to distil information from unstructured textual data, with the aim of using that information inside analytics algorithms. Used for text mining, sentiment analysis, entity recognition, Natural Language Generation (NLG).</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Graph Analytics</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Graph Analytics is the process of investigating relational structures (i.e., relations between entities such as people, companies, addresses, …) by the use of network and graph theory. When entities include people, we talk about SNA (Social Network Analytics).</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI/ML Engineering</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">In machine learning &#8216;by hand&#8217;, a lot of time is lost between training a model and putting it in production, to then wait for feedback for potential retraining. CD4ML (continuous delivery for ML) attempt to automate this process, working towards Adaptive AI.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>API Economy</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">API&#8217;s, to connect services within and across multiple systems, or even to 3rd parties, are becoming prevalent and push a new business model, centred around the integration of readily available data and services. They also help with loose coupling between components.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Augmented Data Quality</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Through the addition of AI, machine learning, knowledge graphs, NLP , … in data quality tools technologies, results could be more efficient for the business.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>SuperApps</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Some mobile apps, like WeChat and AliPay, become entire ecosystems of pluggable mini-apps. Users can greatly customise their experience within the superapp, and integration between mini-apps is much tighter than that of normal smartphone apps. Popular now in China, but may be coming here soon</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Synthetic Data</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Synthetic Data is concerned with creating a fictitious dataset that mimics a real one in format, looks and statistical properties. Can be used to further minimise the need to share sensitive or protected data.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Rules as Code</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>+</strong></td>
<td style="width: 433px; height: 107px;" width="524">Rules as Code is a LegalTech concept in which the goal is to semi-automate the link between (suitably formalised) regulations on one hand, and the derived code (implementations, verification or compliance processes) on the other hand.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Human Augmentation </strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>+</strong></td>
<td style="width: 433px; height: 107px;" width="524">Human Augmentation is the enhancement of human capabilities, such as senses, actions, or cognition, using technology and science. It includes medical advancements, wearables (e.g. intelligent glasses), genetic engineering, and brain-computer interfaces.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Data centric AI</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>N</strong></td>
<td style="width: 433px; height: 107px;" width="524">A machine learning approach consisting in systematically applying data engineering best practices with a strong focus on data quality in order to improve the quality of a model.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>prompt engineering</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>N</strong></td>
<td style="width: 433px; height: 107px;" width="524">A prompt is a natural language description defining the context in which a Large Language Model operates and outputs text. Small changes in the prompt can cause great changes in behaviour. Prompt engineering tries to find optimal prompts to achieve desired LLM behaviour.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Zero Trust Architecture</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">The main concept behind zero trust is &#8220;never trust, always verify,&#8221; which means that devices should not be trusted by default, even if they are connected to a managed corporate network such as the corporate LAN and even if they were previously verified. Also known as &#8220;perimeterless security.&#8221;</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Back Tracking Anomalies</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Method to detect causes of data quality problems in data flows between information systems and to improve them structurally. ROI is Important and facilitates a win-win approach between institutions. To monitor the anomalies and transactions an extension to the existing DBMS has to be built.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Big Data Processing</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Big data analytics solutions require architecture, which 1) has the calculations executed where data is stored, 2) spreads data and calculations over several nodes, and 3) uses a data warehouse architecture that makes all types of data available for analytical tools in a transparent way.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Data Virtualisation</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Methods and tools to access databases with heterogeneous models and to facilitate access for users using a virtual logical view.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Knowledge Graphs</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Knowledge Graphs relate entities in a meaningful graph structure to facilitate various processes from information retrieval to business analytics. Knowledge graphs typically integrate data from heterogeneous sources such as databases, documents, and even human input.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Microservices</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Independently maintainable and deployable services, which are kept very small (hence, &#8216;micro-&#8216;), make an application, or even large groups of related systems, much more flexibly scalable, and provide functional agility, which allows a system to rapidly support new business opportunities.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Reactive Computing</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">The flow of (incoming) data, and not an application&#8217;s (or CPU&#8217;s) regular control flow, govern its architecture. This is a new paradigm, sometimes even driven by new hardware, and opposes the traditional way of working with fluxes. Also known as Dataflow Architecture and related to EDA.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Data-Centric Security</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Approach to protect sensitive data uniquely and centrally, regardless of format or location (using e.g. data anonymization or tokenisation technologies in conjunction with centralised policies and governance).</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Multimedia Data Protection</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Protection of multimedia data has gained importance with social media, remote-working, but also with the development of powerful AI models. Detecting falsification is critical. For instance one should be able to detect forgery of images (e.g., faces used for biometrics).</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Augmented Data Science</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Augmented data science and machine learning (augmented DSML) uses artificial intelligence to help automate and assist key aspects of a DSML process. These aspects include data access and preparation, feature engineering, as well as model operationalisation, model tuning and management.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Data Observability</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Monitoring and management of performance and &#8220;system incidents&#8221; &amp; Monitoring of data errors in real time and lineage to automatically resolve the cause (only bugs and formal causes) in the software components of the various information systems that are linked to each other</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Edge Computing</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Information processing and content collection and delivery are placed closer to the endpoints to fix high WAN costs and unacceptable latency of the cloud. Also in context of AI solutions, edge computing becomes more relevant (ref. tinyML)</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>GitOps</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Best practices coming from DevOps, applied to Operations. This, for instance, means, that all configuration is specified in files that can be maintained using version control and that are machine readable by tools to automate as many things as possible.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Privacy by Design</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Privacy by design calls for privacy to be taken into account throughout the whole engineering process. The European GDPR regulation incorporates privacy by design. An example of an existing methodology is LINDDUN.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Process Mining </strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Includes automated process discovery (extracting process models from an event log from an information system), and offers also possibilities to monitor, check and improve processes. Often used in preparation of RPA and other business process initiatives (context digital transformation).</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Visual Analytics</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Methodology and enabling tools allowing to combine data visualisation and analytics. Allows rapidly exploring, analysing, and forecasting data. This helps modelling in advanced analytics, and to make modern, interactive, self-service BI applications.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Voice of the Citizen Applications </strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Contains a number of approaches to capture and analyse explicit or non-explicit feedback from users, in order to improve the systems and remove frictions.</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Remote Identity Verification</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Remote identity verification comprises the processes tools to remotely verify someone&#8217;s identity, without the need for the person to physically present themselves to an authority.</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Composable Applications</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Applications composed of business-oriented building blocks, where these modular reusable blocks are independent one of another and can be configured by Business and IT into a solution. Main advantage is the support for agility of the business to changes while resilience should be maintained.</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Collaborative MDM</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">In Master Data Management, collaborative and organised management of anomalies stemming from distributed authentic sources, by their official owners.</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Living Documentation</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>&#8211;</strong></td>
<td style="width: 433px; height: 107px;" width="524">Living documentation actively co-evolves with code, making it constantly up-to-date without requiring separate maintenance. It lives with the code and can be automatically used by tools to generate publishable specifications. An example can be found in some forms of annotations.</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Hexagonal Architecture</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Also &#8216;Onion Architecture&#8217;: a set of architectural principles making the domain model code central to everything and dependent on no other code or framework. Other aspects of the program code can be dependent on the domain code. Gained a lot of popularity in the community recently</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Web3</strong></td>
<td style="width: 20px; height: 107px;" width="20"><strong>=</strong></td>
<td style="width: 433px; height: 107px;" width="524">Web3 is an idea for a new iteration of the World Wide Web which incorporates concepts such as decentralisation, blockchain technologies, and token-based economics. It promises to give back control to citizens over their assets, as well as over their identity.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Protection des données par la pseudonymisation préservant la structure des numéros de registre national</title>
		<link>https://www.smalsresearch.be/protection-des-donnees-par-la-pseudonymisation-preservant-la-structure-des-numeros-de-registre-national/</link>
		
		<dc:creator><![CDATA[Kristof Verslype]]></dc:creator>
		<pubDate>Wed, 07 Jun 2023 11:50:56 +0000</pubDate>
				<category><![CDATA[[FR]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[pseudonymisation]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=18673</guid>

					<description><![CDATA[De plus en plus de données personnelles sensibles sont stockées sous forme numérique,tandis que les cyberattaques deviennent de plus en plus avancées. Aussi l'amélioration de la protection des données à caractère personnel fait-elle l'objet d'une attention de tous les instants.]]></description>
										<content:encoded><![CDATA[


<p><em><a href="/gegevensbescherming-m-b-v-structuurbehoudende-pseudonimisatie-van-rijksregisternummers/">Nederlandstalige versie</a></em></p>
<p>De plus en plus de données personnelles sensibles sont stockées sous forme numérique,<br />tandis que les cyberattaques deviennent de plus en plus avancées. Aussi l&#8217;amélioration de<br />la protection des données à caractère personnel fait-elle l&#8217;objet d&#8217;une attention de tous les<br />instants.</p>
<p>Une mesure complémentaire précieuse consiste à stocker les données à caractère<br />personnel non pas sous un numéro de registre national, mais sous un pseudonyme.<br />Pour les applications existantes qui ne procèdent pas encore de la sorte, dans les<br />environnements production comme dans les environnements de test et de développement,<br />il peut être utile, voire nécessaire, que ces pseudonymes aient la même structure que les<br />numéros de registre national. Ceci de manière à ce qu&#8217;ils puissent être traités par<br />l&#8217;application et la base de données existantes.</p>
<p>D&#8217;où la nécessité d&#8217;une technique permettant de convertir les numéros de registre national<br />en pseudonymes avec la même structure et vice versa. Si le chiffrement classique ne le<br />permet pas, il en va autrement avec la tokenisation des données (data tokenization en<br />anglais) ou le chiffrement préservant le format (format-preserving encryption en anglais).</p>
<p>La tokenisation des données dans sa forme la plus simple, implique de tenir un tableau<br />contenant des paires de la forme (numéro de registre national, pseudonyme), ce qui pose<br />des problèmes infrastructurels, notamment en matière de sauvegarde, de synchronisation<br />et de sécurisation du tableau.</p>
<p>Plutôt que de tenir un tableau sans cesse croissant, comportant potentiellement des<br />millions d&#8217;enregistrements, une solution plus simple et plus sûre consisterait en une clé<br />symétrique unique et immuable d&#8217;une longueur de 32 bytes (au maximum).<br />C&#8217;est exactement ce que fait le chiffrement préservant le format (FPE). Cette technique a<br />été présentée pour la première fois en 2001 et a été normalisée par le NIST. À la suite de la<br />découverte de faiblesses, les normes ont été révisées en 2019.</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_01.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-18538" src="/wp-content/uploads/2023/05/FPE_fig_01.png" alt="" width="975" height="300" srcset="https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_01.png 975w, https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_01-300x92.png 300w, https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_01-768x236.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></a></p>
<p>Les normes FPE sont principalement axées sur le secteur financier où, par exemple, les<br />numéros de cartes de crédit sont remplacés par des pseudonymes ayant la même<br />structure. L&#8217;équipe Smals Research s&#8217;est demandé si cette technique pouvait également<br />être appliquée aux numéros de registre national. Cet article présente notre analyse et nos<br />expériences.</p>



<h1>Fonctionnement</h1>
<p>Par essence, le FPE consiste en une permutation, soit une réorganisation, comme l&#8217;illustre<br>la figure ci-dessous où les chiffres 1 à 5 sont réorganisés. La permutation est déterminée<br>par la clé FPE et le tweak. La clé est secrète, le tweak est un nombre à choisir librement<br>(byte array) qui peut être connu du public et qui simplifie la gestion des clés <a href="#_ftn1" name="_ftnref1">[1]</a>. Comment<br>convertir sur cette base les numéros de registre national en pseudonymes ayant la<br>structure d&#8217;un numéro de registre national&nbsp;?</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_02.png"><img loading="lazy" decoding="async" class="size-full wp-image-18543 aligncenter" src="/wp-content/uploads/2023/05/FPE_fig_02.png" alt="" width="185" height="123"></a></p>
<p>La chaîne 83.06.21-123-62 revêt la structure d&#8217;un numéro de registre national, c&#8217;est-à-dire<br>qu&#8217;elle se présente sous la forme YY.MM.DD-III-CC, où YY.MM.DD représente la date de<br>naissance, III est un compteur de jours dans lequel est également encodé le sexe, et<br>CC est un chiffre de contrôle, calculé sur la base de tous les éléments précédents et du<br>siècle de naissance. Votre auteur n&#8217;est (hélas/heureusement) pas en mesure de vérifier si<br>le numéro 83.06.21-123-62 a réellement été attribué à un citoyen et sait donc uniquement<br>qu&#8217;il s&#8217;agit d&#8217;une chaîne revêtant la structure d&#8217;un numéro de registre national.</p>
<p>À partir d&#8217;une date de départ à choisir librement &#8211; par exemple 01/01/1911 &#8211; nous attribuons<br>à chaque chaîne correctement formée un index unique, qui commence par 0 et augmente ensuite, comme le montre la figure ci-dessous. Nous pouvons nous arrêter, par exemple,<br>au 31/12/2022. Dans ce cas, nous avons la certitude que les numéros<br>de registre national de toutes les personnes inscrites au <a href="https://www.ibz.rrn.fgov.be/fr/registre-national/">Registre National</a> qui étaient en vie<br>à la fin de l&#8217;année 2022 ont une conversion de et vers un nombre. En effet, personne dans<br>ce pays n&#8217;a plus de 112 ans.</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_03.png"><img loading="lazy" decoding="async" class="size-full wp-image-18544 aligncenter" src="/wp-content/uploads/2023/05/FPE_fig_03.png" alt="" width="271" height="222"></a></p>
<p>La conversion d&#8217;un numéro de registre national en un pseudonyme préservant la structure<br>est illustrée dans la figure ci-dessous. Le numéro de registre national est d&#8217;abord converti<br>en un nombre, comme indiqué précédemment. Ce nombre est permuté (= chiffré) par FPE<br>en un autre nombre qui est ensuite reconverti en la chaîne préservant la structure<br>correspondante. Cette chaîne est le pseudonyme final.</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_04.png"><img loading="lazy" decoding="async" class="size-full wp-image-18545 aligncenter" src="/wp-content/uploads/2023/05/FPE_fig_04.png" alt="" width="597" height="432" srcset="https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_04.png 597w, https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_04-300x217.png 300w" sizes="auto, (max-width: 597px) 100vw, 597px" /></a></p>
<p><a href="#_ftnref1" name="_ftn1">[1]</a> Avec une seule clé secrète et différents tweaks, nous avons donc différentes<br>permutations (chiffrements). Le tweak peut être considéré comme la partie non secrète de<br>la clé.</p>



<h1>Dans la pratique</h1>
<p>Pour utiliser le FPE afin de convertir des numéros de registre national en pseudonymes<br>préservant la structure, nous avons donc besoin à la fois d&#8217;un chiffrement FPE (et d&#8217;un<br>algorithme de déchiffrement) et d&#8217;une méthode de conversion.</p>
<p>Pour le chiffrement FPE, nous avons recouru à la bibliothèque cryptographique bien<br>connue <a href="https://bouncycastle.org/">BouncyCastle</a>, qui prend en charge les deux normes du NIST, FF1 et FF3-1.<br>En coulisses, le FPE utilise toujours un algorithme existant pour le chiffrement par blocs<br>symétriques. Le choix logique était donc AES. Par conséquent, les clés FPE sont<br>simplement des clés AES.</p>
<p>L&#8217;équipe Smals Research a elle-même réalisé la conversion en Java, en tenant compte de<br>toutes les complexités liées aux numéros de registre national (voir, par exemple les arrêtés<br>royaux du <a href="https://www.ejustice.just.fgov.be/cgi_loi/change_lg.pl?language=fr&amp;la=F&amp;cn=1984040333&amp;table_name=loi">3 avril 1984</a> et du <a href="https://etaamb.openjustice.be/fr/arrete-royal-du-25-novembre-1997_n1997000892">25 novembre 1997</a>). En cas d&#8217;intérêt concret, ce code de<br>recherche peut évoluer vers quelque chose qui soit utilisable en production.</p>
<p>Des contraintes cruciales doivent néanmoins être prises en compte lors du choix de la taille<br>du domaine. Le FPE a été présenté pour la première fois en 2001, dans un article intitulé <a href="https://eprint.iacr.org/2001/012.pdf"><em>Ciphers with arbitrary finite domains</em></a>. Comme l&#8217;indique le titre, la taille du domaine peut être choisie arbitrairement. C&#8217;est également ce que nous avons fait dans notre exemple précédent.</p>
<p>Toutefois, les normes du NIST s&#8217;en écartent et stipulent que la taille du domaine doit avoir<br>la forme <em>radix<sup>len</sup></em>, c&#8217;est-à-dire le nombre racine <em>radix</em> élevé à la puissance <em>len</em> où <em>radix</em> et <em>len</em><br>peuvent être choisis librement, tant que <em>radix</em> n&#8217;est pas supérieur à 2<sup>16</sup> = 65 536.<br>Cette approche fonctionne bien pour, par exemple, les numéros de cartes de crédit.<br>Ces numéros sont composés de 16 chiffres décimaux. Nous choisissons donc <em>radix</em> = 10 et<br><em>len</em> = 16. Ainsi, si nous suivons les normes du NIST &#8211; ce que je recommande vivement &#8211;<br>nous ne pouvons plus choisir la taille du domaine arbitrairement.</p>
<p>En outre, la taille minimale du domaine, qui était encore de 100 dans la <a href="https://csrc.nist.gov/news/2016/nist-released-special-publication-800-38g">publication</a> du NIST<br>de 2016, a été portée à 1 000 000, dans la révision de 2019 pour des raisons de sécurité.<br>Autrement dit, il est exigé que <em>radix<sup>len</sup></em> ≥ 1 000 000. Entre autres conséquences de cette<br>exigence, il n&#8217;est plus possible de conserver l&#8217;année de naissance dans le pseudonyme<br>d&#8217;un numéro de registre national. En effet, il n&#8217;y a que quelque 365 000 chaînes<br>correctement formées par an (365 ou 366 jours par an x 998 possibilités pour le compteur<br>de jours III).</p>
<p>Revenons à nos expériences. Comment déterminer le domaine (et donc sa taille)&nbsp;?<br>Dans notre exemple précédent, ce domaine était composé de toutes les chaînes dotées de<br>la structure d&#8217;un numéro de registre national pour les personnes nées entre 1911 et 2022,<br>soit plus de 40,8 millions de chaînes. Il s&#8217;agit bien évidemment d&#8217;utiliser le système pendant<br>plusieurs années, de sorte qu&#8217;il est logique que le domaine soit plus grand. En effet, de<br>nouveaux numéros de registre national sont émis en permanence, et il ne s&#8217;agit pas<br>d&#8217;oublier les anciens.</p>
<p>Pour nos tests, nous avons choisi le 1er janvier 1912 comme date de départ et<br>226 = 67 108 864 comme taille de notre domaine. Ensemble, la date de départ et la taille du<br>domaine déterminent également la date de fin, soit le 7 février 2096 dans notre cas.<br>Comme nous l&#8217;avons déjà mentionné, le FPE est une permutation sous-jacente sur<br>l&#8217;ensemble du domaine, de sorte que le pseudonyme d&#8217;une personne vivante peut être<br>converti en un pseudonyme préservant la structure avec une date de naissance située<br>plusieurs dizaines d&#8217;années dans le futur. Il se peut également que, dans dix ans, le<br>numéro de registre national d&#8217;une personne vivante à cette époque soit converti en un<br>pseudonyme avec une date de naissance qui est de toute façon trop éloignée dans le<br>temps pour être celle d&#8217;une personne vivante à ce moment-là.</p>
<p>En résumé, le FPE peut être utilisé pour convertir des numéros de registre national en<br>pseudonymes avec la même structure, mais toutes les informations contenues dans le<br>numéro de registre national seront perdues au cours du processus. Les contrôles de la date<br>de naissance et du sexe (contenu dans la 9e décimale) deviennent donc impossibles.<br>Ceci peut affecter certaines applications qui exécutent ces contrôles de toute façon.</p>
<p>Une mise en garde à cet égard s&#8217;impose toutefois. Nous ne devons pas considérer qu&#8217;un<br>numéro de registre national contient ces informations par définition. Il existe en effet des<br>exceptions, où la date de naissance exacte n&#8217;est pas contenue dans le numéro national<br>(voir les AR susmentionnés). La meilleure pratique consiste dès lors à utiliser le numéro de registre national comme identifiant uniquement et à demander au Registre national les<br>données à caractère personnel dont l&#8217;application a besoin. Dans un tel contexte, le FPE<br>pour les pseudonymes préservant la structure peut constituer une mesure de sécurité<br>précieuse.</p>



<h1>Membrane de confidentialité</h1>
<p>La membrane de confidentialité est un concept commun &#8211; il n&#8217;y a pas encore de code &#8211; du service Sécurité de l&#8217;information de Smals et de l&#8217;équipe Smals Research. L&#8217;idée est qu&#8217;un<br>environnement, par exemple une application en acceptation, est entouré d&#8217;une membrane<br>virtuelle, la membrane de confidentialité. Tous les numéros de registre national qui entrent<br>sont convertis en pseudonymes préservant la structure lorsqu&#8217;ils traversent la membrane de<br>confidentialité. Et tous les pseudonymes préservant la structure qui sortent sont reconvertis<br>en numéros de registre original lorsqu&#8217;ils traversent cette membrane. À l&#8217;intérieur de la<br>membrane, seul le pseudonyme est donc connu. Cette approche est transparente à la fois<br>pour la ou les applications qui se trouvent à l&#8217;intérieur de la membrane et pour les<br>applications/services avec lesquels s&#8217;effectue une communication.</p>
<p><a href="/wp-content/uploads/2023/06/privacymembrane_FR.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-18676" src="/wp-content/uploads/2023/06/privacymembrane_FR.png" alt="" width="1952" height="914" srcset="https://www.smalsresearch.be/wp-content/uploads/2023/06/privacymembrane_FR.png 1952w, https://www.smalsresearch.be/wp-content/uploads/2023/06/privacymembrane_FR-300x140.png 300w, https://www.smalsresearch.be/wp-content/uploads/2023/06/privacymembrane_FR-768x360.png 768w, https://www.smalsresearch.be/wp-content/uploads/2023/06/privacymembrane_FR-1024x479.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2023/06/privacymembrane_FR-1536x719.png 1536w" sizes="auto, (max-width: 1952px) 100vw, 1952px" /></a></p>
<p>La membrane de confidentialité pourrait en fait être un serveur proxy par lequel passe tout<br>le trafic entrant et sortant. Ce serveur proxy pourrait éventuellement être hébergé par un<br>tiers.</p>
<p>Contrairement aux autres techniques de pseudonymisation avancées conçues par l&#8217;équipe<br>Smals Research, ce tiers voit inévitablement à la fois le numéro de registre national et le<br>pseudonyme. Il est donc impossible de proposer un service de pseudonymisation aveugle<br>sur la base du FPE, de sorte qu&#8217;un degré de confiance supérieur s&#8217;impose à l&#8217;égard de ce<br>tiers.</p>



<h1>Conclusion</h1>
<p>Le FPE autorise une belle approche pour convertir les numéros de registre national en<br>pseudonymes avec la même structure. Cette approche peut améliorer la protection des<br>données à caractère personnel sans qu&#8217;il soit nécessaire d&#8217;adapter l&#8217;application ou la base<br>de données sous-jacente. En revanche, les informations contenues dans le numéro de<br>registre national &#8211; en particulier la date de naissance et le sexe biologique &#8211; seront perdues.<br>Cela ne devrait toutefois pas être problématique si les meilleures pratiques sont appliquées<br>et si les informations sont récupérées à partir de la source authentique, à savoir le Registre<br>national.</p>
<p>La même technique peut être appliquée à d&#8217;autres types d&#8217;identifiants numériques, tels que<br>les numéros BCE, les numéros de téléphone et les numéros de compte bancaire.<br>Aujourd&#8217;hui, dans son code de recherche, l&#8217;équipe Smals Research prend déjà en charge<br>les numéros BIS, i.e. des numéros d&#8217;identification uniques pour les personnes qui ne sont<br>pas inscrites au Registre national mais qui sont en relation avec les autorités belges, en<br>plus des numéros de registre national. Les numéros de registre national et les numéros BIS<br>constituent ensemble les numéros NISS, les numéros d&#8217;identification de la sécurité sociale.</p>
<p>L&#8217;introduction mentionne que le FPE est une mesure de protection complémentaire.<br>Lorsque, par exemple, dans un enregistrement de base de données, le numéro de registre<br>national est remplacé par un pseudonyme, mais que le nom et l&#8217;adresse restent en clair<br>dans la base de données, l&#8217;identification du citoyen reste assez triviale. Dès lors, soit des<br>mesures de protection complémentaires s&#8217;imposent, soit ces données à caractère<br>personnel ne sont plus stockées localement, mais sont systématiquement extraites de la<br>source authentique (en l&#8217;espèce le Registre national).</p>
<p>En décembre 2021, un sondage réalisé à la fin de mon <a href="/publications/document/?docid=249">webinaire</a> consacré aux<br>technologies d&#8217;amélioration de la vie privée posait la question suivante&nbsp;: quelles sont les<br>technologies d&#8217;amélioration de la vie privée qui, selon vous, ont le plus de potentiel et<br>méritent donc plus d&#8217;attention&nbsp;? Le vainqueur fut FPE (suivi d&#8217;Oblivious Join et de <a href="/?s=synthetic+data&amp;submit=Search">Synthetic</a><br><a href="/?s=synthetic+data&amp;submit=Search">data</a>). Ce résultat nous a amenés à accorder davantage d&#8217;attention à cette technologie.<br>Depuis, avec l&#8217;équipe Smals Research, nous avons réalisé les premières expériences<br>réussies avec le FPE.</p>
<p><strong>Si vous souhaitez appliquer le FPE, éventuellement sous la forme d&#8217;une membrane</strong><br><strong>de confidentialité, ou convertir des identifiants en pseudonymes, n&#8217;hésitez pas à</strong><br><strong>prendre contact avec nous.</strong></p>



<hr />
<p><em>Cette contribution a été soumise par Kristof Verslype, cryptographe chez Smals Research.</em><br /><em>Elle a été rédigée en son nom propre et ne prend pas position au nom de Smals.</em></p>
<p><em>Source featured image: <a href="https://pixabay.com/photos/woman-eyes-mask-carnival-venice-411494/">Pixabay</a></em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Gegevensbescherming m.b.v. structuurbehoudende pseudonimisatie van rijksregisternummers</title>
		<link>https://www.smalsresearch.be/gegevensbescherming-m-b-v-structuurbehoudende-pseudonimisatie-van-rijksregisternummers/</link>
		
		<dc:creator><![CDATA[Kristof Verslype]]></dc:creator>
		<pubDate>Tue, 16 May 2023 05:00:00 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[gdpr]]></category>
		<category><![CDATA[pseudonymisation]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=18537</guid>

					<description><![CDATA[Steeds meer gevoelige persoonsgegevens worden digitaal bewaard, terwijl cyberaanvallen steeds geavanceerder worden. Het verbeteren van de bescherming van persoonsgegevens geniet dan ook permanente aandacht.]]></description>
										<content:encoded><![CDATA[


<p><em><a href="/protection-des-donnees-par-la-pseudonymisation-preservant-la-structure-des-numeros-de-registre-national/">Version en français</a></em></p>
<p>Steeds meer gevoelige persoonsgegevens worden digitaal bewaard, terwijl cyberaanvallen steeds geavanceerder worden. Het verbeteren van de bescherming van persoonsgegevens geniet dan ook permanente aandacht.</p>
<p>Een waardevolle <em>aanvullende</em> maatregel is om persoonsgegevens niet onder een rijksregisternummer te bewaren, maar onder een pseudoniem. Voor bestaande toepassingen die dit nog niet doen, in productie alsook in test- en ontwikkelomgevingen, kan het nuttig en zelfs noodzakelijk zijn dat deze pseudoniemen dezelfde structuur hebben als rijksregisternummers. Dit is immers wat de bestaande toepassing en database verwachten en mee om kunnen.</p>
<p>Vandaar dus de nood aan een techniek die rijksregisternummers omzet in pseudoniemen met dezelfde structuur, en terug. Dit is onmogelijk met klassieke vercijfering, maar wordt wel mogelijk m.b.v. ofwel data tokenization, ofwel format-preserving encryption.&nbsp;</p>
<p>Bij <a href="/tokenization/"><em>data tokenization</em></a> wordt, in zijn meest eenvoudige vorm, een tabel bijgehouden met paren van de vorm <em>(rijksregisternummer, pseudoniem)</em>, wat met infrastructurele uitdagingen komt, onder meer op het vlak van backup, synchronisatie en het veilig bewaren van de tabel.&nbsp; &nbsp;&nbsp;</p>
<p>Het zou eenvoudiger en veiliger zijn indien we niet een steeds groeiende tabel, met potentieel miljoenen records moeten bijhouden, maar in de plaats daarvan gewoon één enkele, onveranderlijke symmetrische sleutel met een lengte van (maximaal) 32 bytes. Dit is exact wat <em>format-preserving encryptie (FPE)</em> doet. Deze techniek werd voor het eerst voorgesteld in 2001 en werd in 2016 <a href="https://www.nist.gov/news-events/news/2019/02/methods-format-preserving-encryption-nist-requests-public-comments-draft">gestandaardiseerd</a> door het NIST. Na het ontdekken van zwakheden werden in 2019 de standaarden weliswaar gereviseerd.</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_01.png"><img loading="lazy" decoding="async" class="alignright size-full wp-image-18538" src="/wp-content/uploads/2023/05/FPE_fig_01.png" alt="" width="975" height="300" srcset="https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_01.png 975w, https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_01-300x92.png 300w, https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_01-768x236.png 768w" sizes="auto, (max-width: 975px) 100vw, 975px" /></a></p>
<p>De FPE standaarden richten zich op de eerste plaats op de financiële sector, waarbij bijvoorbeeld kredietkaartnummers vervangen worden door pseudoniemen met dezelfde structuur. Bij Smals Research vroegen we ons af of deze techniek ook op rijksregisternummers kan toegepast worden. Dit artikel bespreekt onze analyse en ervaringen.</p>



<h1>Werking</h1>
<p>In essentie is FPE een permutatie, ofwel een herordening zoals geïllustreerd in onderstaande figuur waarbij de nummers 1 tot 5 herordend worden. De permutatie wordt bepaald door de FPE sleutel en de tweak. De sleutel is geheim, de tweak is een vrij te kiezen nummer (byte array) dat publiek gekend mag zijn en dat key management vereenvoudigd <a href="#_ftn1" name="_ftnref1">[1]</a>. Hoe kunnen we op basis hiervan rijksregisternummers omzetten in pseudoniemen met de structuur van een rijksregisternummer?</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_02.png"><img loading="lazy" decoding="async" class="size-full wp-image-18543 aligncenter" src="/wp-content/uploads/2023/05/FPE_fig_02.png" alt="" width="185" height="123"></a></p>
<p>De string 83.06.21-123-62 heeft de structuur van een rijksregisternummer, dat wil zeggen dat het van de vorm YY.MM.DD-III-CC is, waarbij YY.MM.DD de geboortedag aanduidt, III een dagteller is waarin ook het geslacht geëncodeerd zit, en CC een controlegetal is, berekend op basis van zowel al het voorgaande als de geboorte-eeuw. Uw auteur beschikt (helaas/gelukkig) niet over de mogelijkheid om na te gaan of 83.06.21-123-62 effectief aan een burger toegekend is en weet dus enkel dat dit een string is met de correcte structuur van een rijksregisternummer.</p>
<p>Vertrekkende vanaf een vrij te kiezen startdatum – bijvoorbeeld 01/01/1911 &#8211; kennen we aan elke correct gevormde string een unieke index toe, startend bij 0 en oplopend, zoals aangegeven in onderstaande figuur. We kunnen ophouden bij, bijvoorbeeld, 31/12/2022. In dat geval zijn we zeker dat de rijksregisternummers van alle personen ingeschreven in het <a href="https://www.ibz.rrn.fgov.be/nl/rijksregister/">Rijksregister</a> die eind 2022 in leven waren een conversie van en naar een getal hebben. Niemand in dit land is immers ouder dan 112.</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_03.png"><img loading="lazy" decoding="async" class="size-full wp-image-18544 aligncenter" src="/wp-content/uploads/2023/05/FPE_fig_03.png" alt="" width="271" height="222"></a></p>
<p>De omzetting van een rijksregisternummer naar een structuurbewarend pseudoniem wordt geïllustreerd in onderstaande figuur. Het rijksregisternummer wordt eerst geconverteerd naar een getal, zoals net aangegeven. Dat getal wordt door FPE gepermuteerd (=geëncrypteerd) naar een ander getal dat vervolgens terug geconverteerd wordt naar de bijhorende structuurbehoudende string. Deze string is het uiteindelijke pseudoniem.&nbsp;&nbsp;</p>
<p><a href="/wp-content/uploads/2023/05/FPE_fig_04.png"><img loading="lazy" decoding="async" class="size-full wp-image-18545 aligncenter" src="/wp-content/uploads/2023/05/FPE_fig_04.png" alt="" width="597" height="432" srcset="https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_04.png 597w, https://www.smalsresearch.be/wp-content/uploads/2023/05/FPE_fig_04-300x217.png 300w" sizes="auto, (max-width: 597px) 100vw, 597px" /></a></p>
<p><a href="#_ftnref1" name="_ftn1">[1]</a> Met een enkele geheime sleutel en verschillende tweaks heb je dus verschillende permutaties (encrypties). De tweak kan gezien worden als het niet geheime deel van de sleutel.&nbsp;</p>



<h1>In de praktijk</h1>
<p>Om FPE te gebruiken voor het omzetten van rijksregisternummers naar structuurbehoudende pseudoniemen hebben we dus nood aan zowel een FPE cijfer (en decryptiealgoritme) als een conversiemethode.</p>
<p>Voor het FPE cijfer deden we beroep op de gekende crypto library <a href="https://bouncycastle.org/">BouncyCastle</a>, dat beide NIST standaarden, FF1 en FF3-1, ondersteunt. Onderliggend maakt FPE steeds gebruikt van een bestaand algoritme voor symmetrische blokvercijfering. De logische keuze was dan ook AES. Bijgevolg zijn FPE sleutels gewoon AES sleutels.&nbsp;</p>
<p>De conversie heeft Smals Research zelf in Java geïmplementeerd, waarbij alle&nbsp; complexiteiten rond rijksregisternummers mee in rekening genomen werden (zie bijvoorbeeld de koninklijke besluiten van <a href="https://www.ejustice.just.fgov.be/cgi_loi/change_lg.pl?language=nl&amp;la=N&amp;cn=1984040333&amp;table_name=wet">3 april 1984</a> en <a href="https://etaamb.openjustice.be/nl/koninklijk-besluit-van-25-november-1997_n1997000892">25 november 1997</a>). Bij concrete interesse kan deze research code evolueren richting iets dat ook in productie bruikbaar is.&nbsp; &nbsp;</p>
<p>Wel moet rekening gehouden worden met cruciale beperkingen bij het kiezen van de domeingrootte. FPE werd voor het eerst voorgesteld in 2001, in een artikel getiteld <a href="https://eprint.iacr.org/2001/012.pdf"><em>Ciphers with arbitrary finite domains</em></a>. Zoals de titel suggereert kon de domeingrootte willekeurig gekozen worden. Dit is ook wat we in ons voorgaande voorbeeld gedaan hebben.</p>
<p>De NIST standaarden wijken daar echter van af en stellen dat de domeingrootte de vorm <em>radix<sup>len</sup></em> moet hebben, dus het grondtal <em>radix</em> verhoffen tot de macht <em>len</em> waarbij <em>radix</em>&nbsp;en <em>len</em> vrij gekozen kunnen worden, zolang <em>radix</em> niet groter is dan 2<sup>16</sup> = 65 536. Deze benadering werkt goed voor bijvoorbeeld kredietkaartnummers. Dergelijke nummers bestaan uit 16 decimale cijfers. We kiezen dus <em>radix = 10</em> en <em>len = 16</em>. Als we de NIST standaarden volgen – wat ik ten zeerste aanbeveel –, kunnen we de domeingrootte dus niet langer willekeurig kiezen.</p>
<p>Bovendien werd de minimumdomeingrootte, die in de <a href="https://csrc.nist.gov/news/2016/nist-released-special-publication-800-38g">NIST publicatie van 2016</a> nog 100 bedroeg, in de <a href="https://csrc.nist.gov/publications/detail/sp/800-38g/rev-1/draft">revisie van 2019</a> uit veiligheidsoverwegingen opgetrokken naar 1 000 000. Anders gezegd is er de vereiste dat <em>radix<sup>len </sup></em>≥ 1 000 000. Een implicatie van dat laatste is dat het behoud van het geboortejaar in het pseudoniem van een rijksregisternummer niet langer een optie is. Per jaar zijn er immers slechts ongeveer 365 000 correct gevormde strings (365 of 366 dagen per jaar x 998 mogelijkheden voor de dagteller III).</p>
<p>Terug naar onze experimenten. Hoe bepalen we het domein (en dus de domeingrootte)? In ons eerdere voorbeeld bestond dit domein uit alle strings met de structuur van een rijksregisternummer voor personen geboren tussen 1911 en 2022, wat samen goed was voor ruim 40,8 miljoen strings. Het is uiteraard de bedoeling om het systeem ettelijke jaren te gebruiken. Daarom is het verstandig om het domein groter te nemen. Er worden immers steeds nieuwe rijksregisternummers uitgereikt, en de oude mogen we niet zomaar vergeten.</p>
<p>Voor onze testen kozen we als startdatum 1 januari 1912 en als grootte voor ons domein 2<sup>26</sup> = 67 108 864. De startdatum en domeingrootte bepalen samen ook de einddatum, wat in dit geval 7 februari 2096 is. Zoals eerder gezegd is FPE onderliggend een permutatie over het volledige domein, wat impliceert dat het pseudoniem van een levende persoon omgezet kan worden in een structuurbehoudend pseudoniem met een geboortedatum die decennia in de toekomst ligt. Het is eveneens mogelijk dat binnen 10 jaar een rijksregisternummer van een op dat moment levende persoon omgezet wordt naar een pseudoniem met een geboortedatum die sowieso te ver in het verleden ligt om van een dan nog levende persoon te zijn.</p>
<p>Samengevat kan FPE gebruikt worden om rijksregisternummers om te zetten in pseudoniemen met dezelfde structuur, maar gaat daarbij wel alle informatie verloren die in het rijksregisternummer vervat zit. Controles op geboortedatum en geslacht (wat vervat zit in de 9<sup>e</sup> decimaal) worden dus onmogelijk. Dit kan gevolgen hebben voor bepaalde toepassingen die dergelijke controles toch doen.</p>
<p>Hierbij dient wel een kanttekening gemaakt te worden. We mogen er niet van uitgaan dat een rijksregisternummer sowieso deze informatie bevat. Er zijn inderdaad uitzonderingen, waarbij de exacte geboortedatum niet in het rijksregisternummer vervat zit (zie daarvoor de eerder vermeldde KB’s). Het is dan ook sowieso een <em>best practice</em> om het rijksregisternummer enkel te gebruiken als identifier, en de persoonsgegevens die de toepassing nodig heeft aan het rijksregister op te vragen. In een dergelijke context kan FPE voor structuurbehoudende pseudoniemen een waardevolle beveiligingsmaatregel zijn.&nbsp;</p>



<h1>Privacy membraan</h1>
<p>Het privacy membraan is een gezamenlijk concept – er is nog geen code – van de dienst informatieveiligheid en de dienst onderzoek van Smals. Het idee is dat een omgeving, bijvoorbeeld een toepassing in acceptatie, omgeven wordt door een virtuele schil, het privacy membraan. Alle rijksregisternummers die het privacy membraan binnenkomen worden omgezet in een structuurbehoudend pseudoniem. Alle structuurbehoudende pseudoniemen die het membraan verlaten worden bij het passeren van het membraan opnieuw omgezet in het oorspronkelijke rijksregisternummer. Binnen het membraan is dus enkel het pseudoniem gekend. Een dergelijke aanpak is transparant voor zowel de toepassing(en) binnen het membraan, als de toepassingen/services waarmee gecommuniceerd wordt.</p>
<p><a href="/wp-content/uploads/2023/05/privacymembraan-1.png"><img loading="lazy" decoding="async" class="wp-image-18584 size-large aligncenter" src="/wp-content/uploads/2023/05/privacymembraan-1-1024x502.png" alt="" width="688" height="337" srcset="https://www.smalsresearch.be/wp-content/uploads/2023/05/privacymembraan-1-1024x502.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2023/05/privacymembraan-1-300x147.png 300w, https://www.smalsresearch.be/wp-content/uploads/2023/05/privacymembraan-1-768x376.png 768w, https://www.smalsresearch.be/wp-content/uploads/2023/05/privacymembraan-1-1536x753.png 1536w, https://www.smalsresearch.be/wp-content/uploads/2023/05/privacymembraan-1.png 1643w" sizes="auto, (max-width: 688px) 100vw, 688px" /></a></p>
<p>Het privacy membraan zou in werkelijkheid een proxy server kunnen zijn waarlangs al het inkomend en uitgaand verkeer passeert. Die proxy server kan eventueel gehost worden door een derde partij. &nbsp;</p>
<p>In tegenstelling tot andere, door Smals Research bedachte, geavanceerde peudonimisatietechnieken, ziet deze partij onvermijdelijk zowel het rijksregisternummer als het pseudoniem. Een <em>blinde</em> pseudonimiseringsdienst is dus onmogelijk m.b.v. FPE en bijgevolg is wel een hogere graad van vertrouwen vereist in deze partij.</p>



<h1>Conclusie</h1>
<p>FPE laat een elegante aanpak toe om rijksregisternummers om te zetten in pseudoniemen met dezelfde structuur. Dit kan de bescherming van persoonsgegevens verbeteren, zonder dat de onderliggende toepassing of database aangepast dient te worden. De informatie die vervat zit in het rijksregisternummer – met name de geboortedatum en het biologische geslacht – gaat daarbij weliswaar verloren. Toch zou dit geen probleem mogen zijn indien de best practices gevolgd worden en de informatie dus opgevraagd wordt aan de authentieke bron, zijnde het Rijksregister.</p>
<p>Dezelfde techniek kan ook toegepast worden op andere types numerieke identifiers, zoals KBO nummers, telefoonnummers en bankrekeningnummers. Smals Research biedt vandaag in haar research code, naast rijksregisternummers, ook reeds ondersteuning voor <a href="https://www.ksz-bcss.fgov.be/nl/diensten-en-support/diensten/rijksregisterksz-registers">BIS-nummers</a>, wat unieke identificatienummers zijn voor personen die niet ingeschreven zijn in het Rijksregister, maar die toch een relatie hebben met de Belgische overheden. De rijksregisternummers en BIS-nummers vormen samen de INSZ nummers, de identificatienummers van de sociale zekerheid.</p>
<p>De inleiding vermeldde dat FPE een <em>aanvullende</em> beschermingsmaatregel is. Wanneer bijvoorbeeld in een database record het rijksregisternummer vervangen wordt door een pseudoniem, maar verder naam en adres gewoon in klaartekst in de database blijven staan, blijft identificatie van de burger vrij triviaal. Ofwel zijn dan bijkomende beschermingsmaatregelen nodig, ofwel worden deze persoonsgegevens niet langer lokaal bewaard, maar wel systematisch bij de authentieke bron (in dit geval het Rijksregister) opgevraagd.</p>
<p>In december 2021 werd op het einde van mijn <a href="/publications/document/?docid=249">webinar</a> over privacy bevorderende technologieën via een peiling de volgende vraag gesteld: <em>welke privacy bevorderende technologieën hebben volgens u het meest potentieel en verdienen dus meer aandacht? </em>De winnaar was FPE (gevolgd door Oblivious Join en <a href="/?s=synthetic+data&amp;submit=Search">Synthetic data</a>). Dit was voor ons een signaal om deze technologie meer aandacht te geven. Ondertussen hebben we met Smals research de eerste succesvolle experimenten met FPE achter de rug.</p>
<p><strong>Mocht u interesse hebben in het toepassen van FPE, eventueel in de vorm van een privacy membraan, of in het omzetten van identifiers in pseudoniemen,&nbsp;gaan wij graag met u in gesprek. &nbsp;</strong></p>
<p>&nbsp;</p>



<hr />
<p><em data-rich-text-format-boundary="true">Dit is een ingezonden bijdrage van Kristof Verslype, cryptograaf bij Smals Research. Het werd geschreven in eigen naam en neemt geen standpunt in namens Smals.</em></p>
<p><em>Bron featured image: <a href="https://pixabay.com/photos/woman-eyes-mask-carnival-venice-411494/">Pixabay</a></em></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Approaches Radar 2023</title>
		<link>https://www.smalsresearch.be/radar-2023/approaches-radar-2023/</link>
		
		<dc:creator><![CDATA[Smals Research]]></dc:creator>
		<pubDate>Thu, 26 Jan 2023 10:01:55 +0000</pubDate>
				<guid isPermaLink="false">/?page_id=18164</guid>

					<description><![CDATA[ Methodology, Approaches &#38; Architectural Styles Légende &#8211; Legende AI / Machine Learning AI is the broader concept of machines acting in a way that we would consider “smart”. Machine Learning is a form of AI based on giving machines access to data and let them learn for themselves. Includes neural networks, deep learning, language processing. [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1> Methodology, Approaches &amp; Architectural Styles<a href="/wp-content/uploads/2023/01/approaches2023.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-18174 size-full" src="/wp-content/uploads/2023/01/approaches2023.png" alt="" width="1090" height="920" srcset="https://www.smalsresearch.be/wp-content/uploads/2023/01/approaches2023.png 1090w, https://www.smalsresearch.be/wp-content/uploads/2023/01/approaches2023-300x253.png 300w, https://www.smalsresearch.be/wp-content/uploads/2023/01/approaches2023-768x648.png 768w, https://www.smalsresearch.be/wp-content/uploads/2023/01/approaches2023-1024x864.png 1024w" sizes="auto, (max-width: 1090px) 100vw, 1090px" /></a></h1>
<p><a title="Radar" href="/radar/#legende-fr">Légende </a>&#8211; <a href="/radar/#legende-nl">Legende</a></p>
<table style="width: 97.4157%; height: 2038px;" width="588">
<tbody>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI / Machine Learning</strong></td>
<td style="width: 433px; height: 107px;" width="524">AI is the broader concept of machines acting in a way that we would consider “smart”. Machine Learning is a form of AI based on giving machines access to data and let them learn for themselves. Includes neural networks, deep learning, language processing. A possible application is fraud detection.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI Augmented Development</strong></td>
<td style="width: 433px; height: 107px;" width="524">Use of AI and NLP in the development environment: debugging, testing (mutation, fuzzing), generation of code/documentation, augmented coding, recommendations for refactoring, &#8230;</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>Confidential Computing</strong></td>
<td style="width: 433px; height: 107px;" width="524">Confidential computing allows an entity to do computations on data without having access to the data itself. This can be realised in a centralised way with homomorphic encryption or a trusted execution environment (TEE) or in a decentralised way with secure multiparty computation.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>EDA</strong></td>
<td style="width: 433px; height: 107px;" width="524">An Event Driven Architecture (EDA) can offer many advantages over more traditional approaches. Events and asynchronous communication can make a system much more responsive and efficient. Moreover, the event model often better resembles the actual business data coming in.</td>
</tr>
<tr style="background-color: #f59a9a;">
<td style="width: 127px; height: 107px;" width="64"><strong>NLP</strong></td>
<td style="width: 433px; height: 107px;" width="524">Natural Language Processing (NLP), part of AI, includes techniques to distil information from unstructured textual data, with the aim of using that information inside analytics algorithms. Used for text mining, sentiment analysis, entity recognition, Natural Language Generation (NLG).</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Graph Analytics</strong></td>
<td style="width: 433px; height: 107px;" width="524">Graph Analytics is the process of investigating relational structures (i.e., relations between entities such as people, companies, addresses, …) by the use of network and graph theory. When entities include people, we talk about SNA (Social Network Analytics).</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI for Security</strong></td>
<td style="width: 433px; height: 107px;" width="524">Non-traditional methods for improving analysis methods in the security technology of systems and applications (e.g., user behaviour analytics).</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>AI/ML Engineering</strong></td>
<td style="width: 433px; height: 107px;" width="524">In machine learning &#8216;by hand&#8217;, a lot of time is lost between training a model and putting it in production, to then wait for feedback for potential retraining. CD4ML (continuous delivery for ML) attempt to automate this process, working towards Adaptive AI.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Analytics Engineering</strong></td>
<td style="width: 433px; height: 107px;" width="524">Analytics engineers provide clean data sets to end users, modelling data in a way that empowers end users to answer their own questions. Focus on transforming, testing, deploying, and documenting data. Tools: dbt, snowflake, stitch, fivetran, looker, mode, redash, columnar DBs</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>API Economy</strong></td>
<td style="width: 433px; height: 107px;" width="524">API&#8217;s, to connect services within and across multiple systems, or even to 3rd parties, are becoming prevalent and push a new business model, centred around the integration of readily available data and services. They also help with loose coupling between components.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Augmented Data Quality</strong></td>
<td style="width: 433px; height: 107px;" width="524">Through the addition of AI, machine learning, knowledge graphs, NLP , … in data quality tools technologies, results could be more efficient for the business.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Back Tracking Anomalies</strong></td>
<td style="width: 433px; height: 107px;" width="524">Method to detect causes of data quality problems in data flows between information systems and to improve them structurally. ROI is Important and facilitates a win-win approach between institutions. To monitor the anomalies and transactions an extension to the existing DBMS has to be built.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Big Data Processing</strong></td>
<td style="width: 433px; height: 107px;" width="524">Big data analytics solutions require architecture, which 1) has the calculations executed where data is stored, 2) spreads data and calculations over several nodes, and 3) uses a data warehouse architecture that makes all types of data available for analytical tools in a transparent way.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Causal AI</strong></td>
<td style="width: 433px; height: 107px;" width="524">Causal AI techniques makes it possible to understand the causes of a prediction outcome, it encompasses methods like causal Bayesians networks, causal rules, combination of symbolic and neural AI, etc.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Composable Applications</strong></td>
<td style="width: 433px; height: 107px;" width="524">Applications composed of business-oriented building blocks, where these modular reusable blocks are independent one of another and can be configured by Business and IT into a solution. Main advantage is the support for agility of the business to changes while resilience should be maintained.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Crypto-agility </strong></td>
<td style="width: 433px; height: 107px;" width="524">Crypto-agility allows an information security system to switch to alternative cryptographic primitives and algorithms without making significant changes to the system&#8217;s infrastructure. Crypto-agility facilitates system upgrades and evolution.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Data Virtualisation</strong></td>
<td style="width: 433px; height: 107px;" width="524">Methods and tools to access databases with heterogeneous models and to facilitate access for users using a virtual logical view.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Knowledge Graphs</strong></td>
<td style="width: 433px; height: 107px;" width="524">Knowledge Graphs relate entities in a meaningful graph structure to facilitate various processes from information retrieval to business analytics. Knowledge graphs typically integrate data from heterogeneous sources such as databases, documents, and even human input. Makes part of AI.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Microservices</strong></td>
<td style="width: 433px; height: 107px;" width="524">Independently maintainable and deployable services, which are kept very small (hence, &#8216;micro-&#8216;), make an application, or even large groups of related systems, much more flexibly scalable, and provide functional agility, which allows a system to rapidly support new business opportunities.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Platform Engineering</strong></td>
<td style="width: 433px; height: 107px;" width="524">The discipline of designing and building toolchains and workflows that enable self-service capabilities, by providing an integrated product most often referred to as an “Internal Developer Platform” covering the operational necessities of the entire lifecycle of an application.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Reactive Computing</strong></td>
<td style="width: 433px; height: 107px;" width="524">The flow of (incoming) data, and not an application&#8217;s (or CPU&#8217;s) regular control flow, govern its architecture. This is a new paradigm, sometimes even driven by new hardware, and opposes the traditional way of working with fluxes. Also known as Dataflow Architecture and related to EDA.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Remote Identity Verification</strong></td>
<td style="width: 433px; height: 107px;" width="524">Remote identity verification comprises the processes tools to remotely verify someone&#8217;s identity, without the need for the person to physically present themselves to an authority.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>SuperApps</strong></td>
<td style="width: 433px; height: 107px;" width="524">Some mobile apps, like WeChat and AliPay, become entire ecosystems of pluggable mini-apps. Users can greatly customise their experience within the superapp, and integration between mini-apps is much tighter than that of normal smartphone apps. Popular now in China, but may be coming here soon</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Synthetic Data</strong></td>
<td style="width: 433px; height: 107px;" width="524">Synthetic Data is concerned with creating a fictitious dataset that mimics a real one in format, looks and statistical properties. Can be used to further minimise the need to share sensitive or protected data.</td>
</tr>
<tr style="background-color: #fcf592;">
<td style="width: 127px; height: 107px;" width="64"><strong>Zero Trust Architecture</strong></td>
<td style="width: 433px; height: 107px;" width="524">The main concept behind zero trust is “never trust, always verify,” which means that devices should not be trusted by default, even if they are connected to a managed corporate network such as the corporate LAN and even if they were previously verified. Also known as &#8220;perimeterless security.&#8221;</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Augmented Data Science</strong></td>
<td style="width: 433px; height: 107px;" width="524">Augmented data science and machine learning (augmented DSML) uses artificial intelligence to help automate and assist key aspects of a DSML process. These aspects include data access and preparation, feature engineering, as well as model operationalization, model tuning and management.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Collaborative MDM</strong></td>
<td style="width: 433px; height: 107px;" width="524">In Master Data Management, collaborative and organised management of anomalies stemming from distributed authentic sources, by their official owners.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Compliance Automation &amp; Rules as Code</strong></td>
<td style="width: 433px; height: 107px;" width="524">The (semi-)automation of compliance and compliance verification processes which currently rely on manual input. This requires one to formalise, to the extent possible, regulation and policies that trigger actions. Tightly coupled to the LegalTech concept of Rules as Code.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Data Observability</strong></td>
<td style="width: 433px; height: 107px;" width="524">Monitoring and management of performance and &#8220;system incidents&#8221; &amp; Monitoring of data errors in real time and lineage to automatically resolve the cause (only bugs and formal causes) in the software components of the various information systems that are linked to each other</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Data-Centric Security</strong></td>
<td style="width: 433px; height: 107px;" width="524">Approach to protect sensitive data uniquely and centrally, regardless of format or location (using e.g. data anonymization or tokenisation technologies in conjunction with centralised policies and governance).</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Cyber Immune System</strong></td>
<td style="width: 433px; height: 107px;" width="524">A cyber immune system combines processes and technologies to increase the robustness of computer systems against any kind of failure. It builds on technologies such as AI-augmented testing, auto remediation and processes such as software supply chain security or reliability engineering.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Edge Computing</strong></td>
<td style="width: 433px; height: 107px;" width="524">Information processing and content collection and delivery are placed closer to the endpoints to fix high WAN costs and unacceptable latency of the cloud. Also in context of AI solutions, edge computing becomes more relevant (ref. tinyML)</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Eventual Consistency</strong></td>
<td style="width: 433px; height: 107px;" width="524">A general way to evolve systems away from too restrictive ACID principles. Using this, and pushing it through on a business level, are the only way to keep systems evolving towards a more distributed, scalable, flexible, and maintainable lifecycle.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>GitOps</strong></td>
<td style="width: 433px; height: 107px;" width="524">Best practices coming from DevOps, applied to Operations. This, for instance, means, that all configuration is specified in files that can be maintained using version control and that are machine readable by tools to automate as many things as possible.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Human Augmentation </strong></td>
<td style="width: 433px; height: 107px;" width="524">Enhancement of human capabilities using technology and science. Can be very futuristic (e.g. brain implants) but intelligent glasses could be a realistic physical augmentation.  Cognitive augmentation (a human’s ability to think and make better decisions) will be made possible thanks to AI.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Living Documentation</strong></td>
<td style="width: 433px; height: 107px;" width="524">Living documentation actively co-evolves with code, making it constantly up-to-date without requiring separate maintenance. It lives with the code and can be automatically used by tools to generate publishable specifications. An example can be found in some forms of annotations.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Mobile Development</strong></td>
<td style="width: 433px; height: 107px;" width="524">Set of techniques, tools and platforms to develop web based and platform-specific mobile applications.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Multimedia Data Protection</strong></td>
<td style="width: 433px; height: 107px;" width="524">Protection of multimedia data has gained importance with social media, remote-working, but also with the development of powerful AI models. Detecting falsification is critical. For instance one should be able to detect forgery of images (e.g., faces used for biometrics).</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Observability-Driven Development</strong></td>
<td style="width: 433px; height: 107px;" width="524">By designing systems to be observable from the start, it becomes easier to detect and fix unexpected problems as early in the development life cycle as possible, making it cheaper to deal with them</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Privacy by Design</strong></td>
<td style="width: 433px; height: 107px;" width="524">Privacy by design calls for privacy to be taken into account throughout the whole engineering process. The European GDPR regulation incorporates privacy by design. An example of an existing methodology is LINDDUN.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Process Mining </strong></td>
<td style="width: 433px; height: 107px;" width="524">Includes automated process discovery (extracting process models from an event log from an information system), and offers also possibilities to monitor, check and improve processes. Often used in preparation of RPA and other business process initiatives (context digital transformation).</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Self-Integrating Applications</strong></td>
<td style="width: 433px; height: 107px;" width="524">A new way to integrate, to minimise manual work, based on having applications discover services, extracting metadata from various sources, automating the definition of processes, and automatically mapping dependencies</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Visual Analytics</strong></td>
<td style="width: 433px; height: 107px;" width="524">Methodology and enabling tools allowing to combine data visualisation and analytics. Allows rapidly exploring, analysing, and forecasting data. This helps modelling in advanced analytics, and to make modern, interactive, self-service BI applications.</td>
</tr>
<tr style="background-color: #a2faa4;">
<td style="width: 127px; height: 107px;" width="64"><strong>Voice of the Citizen Applications </strong></td>
<td style="width: 433px; height: 107px;" width="524">Contains a number of approaches to capture and analyse explicit or non-explicit feedback from users, in order to improve the systems and remove frictions.</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Onion Architecture</strong></td>
<td style="width: 433px; height: 107px;" width="524">Also &#8216;Hexagonal Architecture&#8217;: a set of architectural principles making the domain model code central to everything and dependant on no other code or framework. Other aspects of the program code can be dependant on the domain code. Gained a lot of popularity in the community recently</td>
</tr>
<tr style="background-color: #bfcfff;">
<td style="width: 127px; height: 107px;" width="64"><strong>Web3 &#8211; Citizen Control</strong></td>
<td style="width: 433px; height: 107px;" width="524">Web3 is an idea for a new iteration of the World Wide Web which incorporates concepts such as decentralisation, blockchain technologies, and token-based economics. It promises to give back control to citizens over their assets, as well as over their identity.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>« Synthetic Data » &#8211; Webinar by Smals Research (december 01,2022)</title>
		<link>https://www.smalsresearch.be/webinar-synthetic-data-follow-up/</link>
		
		<dc:creator><![CDATA[Smals Research]]></dc:creator>
		<pubDate>Fri, 02 Dec 2022 09:39:58 +0000</pubDate>
				<category><![CDATA[[FR]]]></category>
		<category><![CDATA[[NL]]]></category>
		<category><![CDATA[News]]></category>
		<guid isPermaLink="false">/?p=17947</guid>

					<description><![CDATA[“Fake it till you make it”&#160;: une introduction aux données synthétiques (Nederlandstalige tekst&#160;: zie onder) Un ensemble de données synthétiques est un ensemble de données fictives qui reproduit le plus fidèlement possible les caractéristiques d&#8217;un ensemble de données réelles. Un ensemble de données synthétiques correctement constitué peut, comme il s&#8217;agit de données purement fictives, être [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: center;">“Fake it till you make it”&nbsp;: une introduction aux données synthétiques</h1>
<hr />
<p><a href="/wp-content/uploads/2022/11/2022-11-09_16h29_36.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-17897 size-full" src="/wp-content/uploads/2022/11/2022-11-09_16h29_36.png" alt="" width="817" height="482" srcset="https://www.smalsresearch.be/wp-content/uploads/2022/11/2022-11-09_16h29_36.png 817w, https://www.smalsresearch.be/wp-content/uploads/2022/11/2022-11-09_16h29_36-300x177.png 300w, https://www.smalsresearch.be/wp-content/uploads/2022/11/2022-11-09_16h29_36-768x453.png 768w" sizes="auto, (max-width: 817px) 100vw, 817px" /></a></p>
<p>(<em>Nederlandstalige tekst&nbsp;: zie onder</em>)</p>
<div>
<div>Un ensemble de données synthétiques est un ensemble de données fictives qui reproduit le plus fidèlement possible les caractéristiques d&#8217;un ensemble de données réelles. Un ensemble de données synthétiques correctement constitué peut, comme il s&#8217;agit de données purement fictives, être librement partagé, réutilisé ou publié. L&#8217;accès aux données sensibles, réelles peut ainsi être limité à un minimum. Mais dans quelle mesure un tel ensemble de données fictives est-il encore représentatif des données réelles&nbsp;? Et que pouvez-vous en faire&nbsp;?</div>
<div> </div>
<div>
<div>Lors de ce webinaire, nous nous pencherons sur le concept de données synthétiques ainsi que sur les préoccupations pratiques qui interviennent dans leur création. Nous nous concentrerons sur les données tabulaires telles qu&#8217;elles se trouvent dans la plupart des bases de données classiques.<br />Nous présenterons les domaines d&#8217;application possibles pour le gouvernement. Nous verrons ainsi qu&#8217;il n&#8217;existe pas de solution miracle et qu&#8217;il s&#8217;agit souvent de poser diverses conditions préalables supplémentaires, selon le type de données que nous traitons et l&#8217;usage que nous voulons en faire.</div>
<div> </div>
<div>Sur la base d&#8217;une expérience menée avec des composants open source et un lot de données ouvert, nous pourrons émettre des recommandations pour améliorer systématiquement la création d&#8217;un ensemble de données synthétiques. Nous aborderons les éléments à considérer dans ce processus et verrons dans quelle mesure les analyses basées sur des données synthétiques sont représentatives des données réelles sous-jacentes. Enfin, nous présenterons brièvement le marché commercial, qui évolue à une vitesse vertigineuse sous l&#8217;influence des développements de l&#8217;intelligence artificielle.</div>
<div> </div>
</div>
<div>
<div>
<h2>Slides et recording</h2>
<div>
<p>Les slides et l’enregistrement du webinaire sont désormais disponibles&nbsp;:</p>
<ul>
<li><a href="/download/presentations/20221201-infosessie-synthdata-Final.pdf" target="_blank" rel="noopener"><strong>Accès aux slides</strong></a></li>
<li><strong><a href="https://youtu.be/NtxUgCL-i8M" target="_blank" rel="noopener">Enregistrement de la séance</a></strong></li>
</ul>
</div>
</div>
<div> </div>
<div><em>Les webinaires de Smals Research sont gratuits et destinés aux collaborateurs de Smals et du secteur public. L&#8217;intention est de présenter les résultats du travail de <strong><a href="/" target="_blank" rel="noopener noreferrer">Smals Research</a></strong> sur l&#8217;utilisation des nouvelles technologies dans le secteur public.  Abonnez-vous à la liste de diffusion Smals Research Newsletter &amp; Webinars via le site web <a href="/" target="_blank" rel="noopener noreferrer"><strong>website.smalsrech.be</strong></a></em><span style="font-size: inherit;">.</span>
<p> </p>
<p><a href="/wp-content/uploads/2022/11/2022-11-09_16h29_36.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-17897 size-full" src="/wp-content/uploads/2022/11/2022-11-09_16h29_36.png" alt="" width="817" height="482" srcset="https://www.smalsresearch.be/wp-content/uploads/2022/11/2022-11-09_16h29_36.png 817w, https://www.smalsresearch.be/wp-content/uploads/2022/11/2022-11-09_16h29_36-300x177.png 300w, https://www.smalsresearch.be/wp-content/uploads/2022/11/2022-11-09_16h29_36-768x453.png 768w" sizes="auto, (max-width: 817px) 100vw, 817px" /></a></p>
<div>
<h1 style="text-align: center;">“Fake it till you make it”: een introductie tot synthetische data</h1>
</div>
<div>
<div>
<div>Een synthetische dataset is een fictieve dataset die de kenmerken van een echte dataset zo goed mogelijk nabootst. Een correct samengestelde synthetische dataset kan, omdat het om louter fictieve gegevens gaat, probleemloos gedeeld, hergebruikt of gepubliceerd worden. Zo kan de toegang tot de echte, gevoelige gegevens, tot een minimum herleid worden. Maar in welke mate is zo’n fictieve dataset nog representatief voor de echte data? En wat kan je ermee doen?</div>
<div> </div>
<div>
<div>In dit webinar gaan we dieper in op het concept van synthetische data en op de praktische bekommernissen die komen kijken bij het aanmaken ervan. We leggen daarbij de focus op tabulaire gegevens zoals we ze kunnen terugvinden in de meeste klassieke databases. Mogelijke toepassingsgebieden voor de overheid zullen worden toegelicht. We leren daarbij dat er geen “1-druk-op-de-knop” oplossing bestaat en dat het vaak nodig is om allerlei extra randvoorwaarden op te leggen, afhankelijk van het type gegevens dat we behandelen en waarvoor we de data willen gebruiken.</div>
<div> </div>
<div>Op basis van een experiment met open source componenten en een open dataset, kunnen we aanbevelingen geven om de aanmaak van een synthetische dataset stelselmatig te verbeteren. We gaan in op de afwegingen die daarbij gemaakt moeten worden en we gaan na in welke mate analyses op synthetische data nog representatief zijn voor de onderliggende echte data. Tot slot belichten we kort de commerciële markt, die erg snel evolueert onder invloed van de ontwikkelingen in artificiële intelligentie.</div>
<div> </div>
</div>
</div>
</div>
</div>
<div>
<div>
<h2>Slides en recording</h2>
<div>
<p>Slides en recording van de webinar zijn nu beschikbaar:</p>
<ul>
<li><a href="/download/presentations/20221201-infosessie-synthdata-Final.pdf" target="_blank" rel="noopener"><strong>Toegang tot de slides</strong></a></li>
<li><strong><a href="https://youtu.be/NtxUgCL-i8M" target="_blank" rel="noopener">Recording van de sessie</a></strong></li>
</ul>
</div>
</div>
<div>
<div> </div>
<div><em>De webinars van Smals Research zijn gratis en bestemd voor medewerkers van de publieke sector en Smals. Bedoeling is de onderzoeksresultaten van </em><strong><em><a href="/">Smals Research</a></em></strong><em> naar het gebruik van nieuwe en recente technologieën in de publieke sector kenbaar te maken.  Inschrijven in de distributielijst Smals Research Nieuwsbrief &amp; Webinars, kan via <a href="/" target="_blank" rel="noopener"><strong>website.smalsrech.be</strong></a></em>.
<p> </p>
<hr />
<h1><strong><span style="color: #ffffff;">.</span></strong></h1>
</div>
</div>
</div>
</div>
</div>

]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Fake it till you make it &#8211; an introduction to synthetic data</title>
		<link>https://www.smalsresearch.be/fake-it-till-you-make-it-an-introduction-to-synthetic-data/</link>
		
		<dc:creator><![CDATA[Joachim Ganseman]]></dc:creator>
		<pubDate>Thu, 01 Dec 2022 14:58:48 +0000</pubDate>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[Artificial intelligence]]></category>
		<category><![CDATA[synthetic data]]></category>
		<guid isPermaLink="false">https://www.smalsresearch.be/fake-it-till-you-make-it-an-introduction-to-synthetic-data/</guid>

					<description><![CDATA[Slides van de webinar voor Smals Academy op 01/12/2022 (texte fran&#231;ais&#160;: voir ci-dessous) Een synthetische dataset is een fictieve dataset die de kenmerken van een echte dataset zo goed mogelijk nabootst. Een correct samengestelde synthetische dataset kan, omdat het om louter fictieve gegevens gaat, probleemloos gedeeld, hergebruikt of gepubliceerd worden. Zo kan de toegang tot [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Slides van de webinar voor Smals Academy op 01/12/2022 </strong>(texte fran&ccedil;ais&nbsp;: voir ci-dessous)
</p><div>Een synthetische dataset is een fictieve dataset die de kenmerken van een echte dataset zo goed mogelijk nabootst. Een correct samengestelde synthetische dataset kan, omdat het om louter fictieve gegevens gaat, probleemloos gedeeld, hergebruikt of gepubliceerd worden. Zo kan de toegang tot de echte, gevoelige gegevens, tot een minimum herleid worden. Maar in welke mate is zo&rsquo;n fictieve dataset nog representatief voor de echte data? En wat kan je ermee doen?</div><div>In dit webinar gaan we dieper in op het concept van synthetische data en op de praktische bekommernissen die komen kijken bij het aanmaken ervan. We leggen daarbij de focus op tabulaire gegevens zoals we ze kunnen terugvinden in de meeste klassieke databases. Mogelijke toepassingsgebieden voor de overheid zullen worden toegelicht. We leren daarbij dat er geen &ldquo;1-druk-op-de-knop&rdquo; oplossing bestaat en dat het vaak nodig is om allerlei extra randvoorwaarden op te leggen, afhankelijk van het type gegevens dat we behandelen en waarvoor we de data willen gebruiken.</div><div>Op basis van een experiment met open source componenten en een open dataset, kunnen we aanbevelingen geven om de aanmaak van een synthetische dataset stelselmatig te verbeteren. We gaan in op de afwegingen die daarbij gemaakt moeten worden en we gaan na in welke mate analyses op synthetische data nog representatief zijn voor de onderliggende echte data. Tot slot belichten we kort de commerci&euml;le markt, die erg snel evolueert onder invloed van de ontwikkelingen in artifici&euml;le intelligentie.</div>


<hr class="wp-block-separator has-alpha-channel-opacity">


<p></p><div>Un ensemble de donn&eacute;es synth&eacute;tiques est un ensemble de donn&eacute;es fictives qui reproduit le plus fid&egrave;lement possible les caract&eacute;ristiques d&#8217;un ensemble de donn&eacute;es r&eacute;elles. Un ensemble de donn&eacute;es synth&eacute;tiques correctement constitu&eacute; peut, comme il s&#8217;agit de donn&eacute;es purement fictives, &ecirc;tre librement partag&eacute;, r&eacute;utilis&eacute; ou publi&eacute;. L&#8217;acc&egrave;s aux donn&eacute;es sensibles, r&eacute;elles peut ainsi &ecirc;tre limit&eacute; &agrave; un minimum. Mais dans quelle mesure un tel ensemble de donn&eacute;es fictives est-il encore repr&eacute;sentatif des donn&eacute;es r&eacute;elles&nbsp;? Et que pouvez-vous en faire&nbsp;?</div><div>Lors de ce webinaire, nous nous pencherons sur le concept de donn&eacute;es synth&eacute;tiques ainsi que sur les pr&eacute;occupations pratiques qui interviennent dans leur cr&eacute;ation. Nous nous concentrerons sur les donn&eacute;es tabulaires telles qu&#8217;elles se trouvent dans la plupart des bases de donn&eacute;es classiques.
Nous pr&eacute;senterons les domaines d&#8217;application possibles pour le gouvernement. Nous verrons ainsi qu&#8217;il n&#8217;existe pas de solution miracle et qu&#8217;il s&#8217;agit souvent de poser diverses conditions pr&eacute;alables suppl&eacute;mentaires, selon le type de donn&eacute;es que nous traitons et l&#8217;usage que nous voulons en faire.</div><div>Sur la base d&#8217;une exp&eacute;rience men&eacute;e avec des composants open source et un lot de donn&eacute;es ouvert, nous pourrons &eacute;mettre des recommandations pour am&eacute;liorer syst&eacute;matiquement la cr&eacute;ation d&#8217;un ensemble de donn&eacute;es synth&eacute;tiques. Nous aborderons les &eacute;l&eacute;ments &agrave; consid&eacute;rer dans ce processus et verrons dans quelle mesure les analyses bas&eacute;es sur des donn&eacute;es synth&eacute;tiques sont repr&eacute;sentatives des donn&eacute;es r&eacute;elles sous-jacentes. Enfin, nous pr&eacute;senterons bri&egrave;vement le march&eacute; commercial, qui &eacute;volue &agrave; une vitesse vertigineuse sous l&#8217;influence des d&eacute;veloppements de l&#8217;intelligence artificielle.</div>







                <h1 class="wp-block-heading">Presentation</h1>
            
            


            <div data-wp-interactive="core/file" class="wp-block-file">
                <object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.smalsresearch.be/wp-content/uploads/2022/12/20221201-infosessie-synthdata-Final.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of 20221201-infosessie-synthdata-Final."></object>
                <a id="wp-block-file--media-55cbc05f-232c-4a5f-b404-be844c9623ee" href="https://www.smalsresearch.be/wp-content/uploads/2022/12/20221201-infosessie-synthdata-Final.pdf">20221201-infosessie-synthdata-Final</a><a href="https://www.smalsresearch.be/wp-content/uploads/2022/12/20221201-infosessie-synthdata-Final.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-55cbc05f-232c-4a5f-b404-be844c9623ee">Download</a>
                </div>
            ]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Webinar DEVOXX- Fake it till you make it: an introduction to synthetic data</title>
		<link>https://www.smalsresearch.be/webinar-devoxx-fake-it-till-you-make-it-an-introduction-to-synthetic-data/</link>
		
		<dc:creator><![CDATA[Joachim Ganseman]]></dc:creator>
		<pubDate>Thu, 13 Oct 2022 14:07:42 +0000</pubDate>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[syn]]></category>
		<guid isPermaLink="false">https://www.smalsresearch.be/webinar-devoxx-fake-it-till-you-make-it-an-introduction-to-synthetic-data/</guid>

					<description><![CDATA[Slides van de webinar voor Devoxx op 12/10/2022 Using &#8216;real&#8217; data may be tempting, yet under the GDPR it&#8217;s not a good idea when dealing with personal information. Unfortunately, testing or debugging software may be harder without having full access to all underlying data. A synthetic dataset can be a good solution: generating fictitious replacement [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Slides van de webinar voor Devoxx op 12/10/2022</strong></p><p>Using &lsquo;real&rsquo; data may be tempting, yet under the GDPR it&rsquo;s not a good idea when dealing with personal information. Unfortunately, testing or debugging software may be harder without having full access to all underlying data. A synthetic dataset can be a good solution: generating fictitious replacement data, that mimics the structure and distribution of the original data. Joachim Ganseman from Smals Research talks about how synthetic data can be generated, and especially about the practical concerns and limitations. How do we deal with rarely occurring values, correlations or dependencies? What about the balance between maximum privacy protection vs. retaining enough functional usability? Can we do reliable analytics on a synthetic dataset? He will share some practical examples using open source software in Python.</p><p><a href="https://www.youtube.com/watch?v=nYLId4V-WdI">Video recording published on YouTube</a></p>







                <h1 class="wp-block-heading">Presentation</h1>
            
            


            <div data-wp-interactive="core/file" class="wp-block-file">
                <object data-wp-bind--hidden="!state.hasPdfPreview" hidden class="wp-block-file__embed" data="https://www.smalsresearch.be/wp-content/uploads/2022/10/20220217-devoxx-syntheticdata.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Embed of 20220217-devoxx-syntheticdata."></object>
                <a id="wp-block-file--media-c4d2029a-f7f3-4465-9834-20f6fd5c8bb8" href="https://www.smalsresearch.be/wp-content/uploads/2022/10/20220217-devoxx-syntheticdata.pdf">20220217-devoxx-syntheticdata</a><a href="https://www.smalsresearch.be/wp-content/uploads/2022/10/20220217-devoxx-syntheticdata.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-c4d2029a-f7f3-4465-9834-20f6fd5c8bb8">Download</a>
                </div>
            ]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
