<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Company - Inero Software - Software Consulting</title>
	<atom:link href="https://inero-software.com/category/blog/company/feed/" rel="self" type="application/rss+xml" />
	<link>https://inero-software.com/category/blog/company/</link>
	<description>We unleash innovations using cutting-edge technologies, modern design and AI</description>
	<lastBuildDate>Mon, 29 Dec 2025 10:18:26 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://inero-software.com/wp-content/uploads/2018/11/inero-logo-favicon.png</url>
	<title>Company - Inero Software - Software Consulting</title>
	<link>https://inero-software.com/category/blog/company/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">153509928</site>	<item>
		<title>Keycloak Deployment Auditing – General Scope and Guidelines</title>
		<link>https://inero-software.com/keycloak-deployment-auditing-general-scope-and-guidelines/</link>
		
		<dc:creator><![CDATA[Andrzej Chybicki]]></dc:creator>
		<pubDate>Mon, 29 Dec 2025 10:08:56 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[Keycloak]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[authorization server audit]]></category>
		<category><![CDATA[client-side OAuth security]]></category>
		<category><![CDATA[dentity and access management audit]]></category>
		<category><![CDATA[enterprise Keycloak deployment]]></category>
		<category><![CDATA[Keycloak audit best practices]]></category>
		<category><![CDATA[Keycloak client configuration]]></category>
		<category><![CDATA[Keycloak deployment auditing]]></category>
		<category><![CDATA[Keycloak IAM audit]]></category>
		<category><![CDATA[Keycloak security audit]]></category>
		<category><![CDATA[token validation best practices]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=8306</guid>

					<description><![CDATA[<p>Keycloak Deployment Auditing – General Scope and Guidelines Practical lessons from auditing multi-realm, multi-client Keycloak environments in medium and large organizations  1. Introduction In medium and large enterprises, Keycloak deployments rarely follow a simple “one realm – one application” pattern. In reality, such environments typically consist of multiple realms reflecting&#8230;</p>
<p>Artykuł <a href="https://inero-software.com/keycloak-deployment-auditing-general-scope-and-guidelines/">Keycloak Deployment Auditing – General Scope and Guidelines</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="8306" class="elementor elementor-8306" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-2f79978 e-flex e-con-boxed e-con e-parent" data-id="2f79978" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-d183de2 e-con-full e-flex e-con e-child" data-id="d183de2" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-b58a909 e-con-full e-flex e-con e-child" data-id="b58a909" data-element_type="container">
				<div class="elementor-element elementor-element-1e33c8a elementor-widget elementor-widget-text-editor" data-id="1e33c8a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1>Keycloak Deployment Auditing – General Scope and Guidelines</h1><blockquote><h5 style="text-align: center;">Practical lessons from auditing multi-realm, multi-client Keycloak environments in medium and large organizations</h5></blockquote>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-c9cf0b5 e-con-full e-flex e-con e-child" data-id="c9cf0b5" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-5ee1ead e-flex e-con-boxed e-con e-parent" data-id="5ee1ead" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-99d9ce5 elementor-widget elementor-widget-spacer" data-id="99d9ce5" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0de96d9 e-flex e-con-boxed e-con e-parent" data-id="0de96d9" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-ecdd67e e-con-full e-flex e-con e-child" data-id="ecdd67e" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-1fed69f e-con-full e-flex e-con e-child" data-id="1fed69f" data-element_type="container">
				<div class="elementor-element elementor-element-c07326c elementor-widget elementor-widget-text-editor" data-id="c07326c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2> 1. Introduction</h2><p class="MsoNormal"><span lang="EN-US">In medium and large enterprises, Keycloak deployments rarely follow a simple “one realm – one application” pattern. In reality, such environments typically consist of multiple realms reflecting organizational structures, environments, or business domains, alongside dozens or even hundreds of client applications.</span></p><p class="MsoNormal"><span lang="EN-US"> </span></p><p class="MsoNormal"><span lang="EN-US">These clients often include web frontends, backend services, machine-to-machine integrations, and legacy systems, all maintained by different teams with varying levels of IAM expertise. As a result, Identity and Access Management quickly becomes a shared responsibility rather than a centrally controlled component.</span></p><blockquote><p>“A Keycloak audit is not about verifying settings in the admin console — it is about understanding how identity, applications, and security decisions interact at scale.”</p></blockquote><p class="MsoNormal"><span lang="EN-US">The primary goal of a Keycloak deployment audit is therefore not to “find flaws in Keycloak itself”, but to assess whether the entire authentication and authorization ecosystem is secure, coherent, and aligned with modern OAuth 2.1 and OpenID Connect best practices.</span></p><p class="MsoNormal"><span lang="EN-US"><a href="https://inero-software.com/keycloak-migration-made-easy-tips-and-best-practices/">From our experience auditing complex enterprise IAM landscapes</a>, a comprehensive Keycloak security audit focuses on three complementary objectives:</span></p><ul><li style="list-style-type: none;"><ul><li class="MsoNormal"><span lang="EN-US">evaluating the configuration of the Keycloak Authorization Server,</span></li><li class="MsoNormal"><span lang="EN-US">reviewing how client applications integrate with Keycloak,</span></li><li class="MsoNormal"><span lang="EN-US">identifying security risks emerging from the interaction between both sides.</span></li></ul></li></ul><p class="MsoNormal"><span lang="EN-US"> </span></p><p class="MsoNormal"><span lang="EN-US">This holistic approach is essential, as many real-world security issues do not stem from a single misconfiguration, but from subtle inconsistencies across multiple realms, clients, and applications.</span></p><p class="MsoNormal"><span lang="EN-US"> </span></p><div align="center"> </div>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-311be98 e-con-full e-flex e-con e-child" data-id="311be98" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-79ba960 e-flex e-con-boxed e-con e-parent" data-id="79ba960" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-e28818b e-con-full e-flex e-con e-child" data-id="e28818b" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-ad54fa6 e-con-full e-flex e-con e-child" data-id="ad54fa6" data-element_type="container">
				<div class="elementor-element elementor-element-ff385ae elementor-widget elementor-widget-text-editor" data-id="ff385ae" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p style="text-align: center;"><strong>OVERALL RISK SEVERITY (ORS) MODEL</strong></p><div align="center"><table class="MsoNormalTable" style="width: 423.1pt;" border="1" width="564" cellspacing="0" cellpadding="0"><tbody><tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; height: 12.6pt;"><td style="width: 423.1pt; background: #98afc7; padding: 5.75pt 5.4pt; height: 12.6pt; border: 1.5pt solid #cdcdcd;" colspan="5" width="564"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><b><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">ORS</span></b></p></td></tr><tr style="mso-yfti-irow: 1; height: 1.0pt;"><td style="width: 85.85pt; border-right: 1.5pt solid #cdcdcd; border-bottom: 1.5pt solid #cdcdcd; border-left: 1.5pt solid #cdcdcd; border-top-width: initial; border-top-style: none; padding: 5.75pt 5.4pt; height: 1pt;" rowspan="4" width="114"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><b><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">Impact</span></b></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: #98afc7; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">HIGH</span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: orange; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">Medium</span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: red; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">High</span></p></td><td style="width: 79.55pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: pink; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="106"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">Critical</span></p></td></tr><tr style="mso-yfti-irow: 2; height: 9.3pt;"><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: #98afc7; padding: 5.75pt 5.4pt; height: 9.3pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">MEDIUM</span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: yellow; padding: 5.75pt 5.4pt; height: 9.3pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">Low</span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: orange; padding: 5.75pt 5.4pt; height: 9.3pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">Medium</span></p></td><td style="width: 79.55pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: red; padding: 5.75pt 5.4pt; height: 9.3pt; border-width: initial 1.5pt 1.5pt initial;" width="106"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">High</span></p></td></tr><tr style="mso-yfti-irow: 3; height: 2.1pt;"><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: #98afc7; padding: 5.75pt 5.4pt; height: 2.1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">LOW</span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: lightgreen; padding: 5.75pt 5.4pt; height: 2.1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">Note</span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: yellow; padding: 5.75pt 5.4pt; height: 2.1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">Low</span></p></td><td style="width: 79.55pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: orange; padding: 5.75pt 5.4pt; height: 2.1pt; border-width: initial 1.5pt 1.5pt initial;" width="106"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">Medium</span></p></td></tr><tr style="mso-yfti-irow: 4; height: 1.0pt;"><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: #98afc7; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;"> </span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: #98afc7; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">LOW</span></p></td><td style="width: 85.9pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: #98afc7; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="115"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">MEDIUM</span></p></td><td style="width: 79.55pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; background: #98afc7; padding: 5.75pt 5.4pt; height: 1pt; border-width: initial 1.5pt 1.5pt initial;" width="106"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;">HIGH</span></p></td></tr><tr style="mso-yfti-irow: 5; mso-yfti-lastrow: yes; height: .9pt;"><td style="width: 85.85pt; border-style: none solid none none; border-right-color: #cdcdcd; padding: 5.75pt 5.4pt; height: 0.9pt; border-width: initial 1.5pt initial initial;" width="114"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: 'Times New Roman'; color: black;"> </span></p></td><td style="width: 337.25pt; border-style: none solid solid none; border-bottom-color: #cdcdcd; border-right-color: #cdcdcd; padding: 5.75pt 5.4pt; height: 0.9pt; border-width: initial 1.5pt 1.5pt initial;" colspan="4" width="450"><p class="MsoNormal" style="margin-bottom: 0cm; text-align: center; line-height: normal;" align="center"><b><span lang="EN-US" style="font-family: 'Calibri',sans-serif; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 'Times New Roman'; mso-hansi-theme-font: major-latin; mso-bidi-theme-font: major-latin; color: black;">Likelihood</span></b></p></td></tr></tbody></table><p class="MsoNormal"> </p></div>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-4ca23e0 e-con-full e-flex e-con e-child" data-id="4ca23e0" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f5cdcc2 e-flex e-con-boxed e-con e-parent" data-id="f5cdcc2" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-25853b2 e-con-full e-flex e-con e-child" data-id="25853b2" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-cc333e3 e-con-full e-flex e-con e-child" data-id="cc333e3" data-element_type="container">
				<div class="elementor-element elementor-element-205a0d1 elementor-widget elementor-widget-text-editor" data-id="205a0d1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p class="MsoNormal"><span lang="EN-US"> To prioritize findings in a meaningful and actionable way, audit results are typically classified using a risk-based approach inspired by OWASP methodologies. Each finding is evaluated as a combination of:</span></p><ul><li style="list-style-type: none;"><ul><li class="MsoNormal"> likelihood of exploitation, </li><li class="MsoNormal">potential impact on confidentiality, integrity, and availability.</li></ul></li></ul><p class="MsoNormal"><span lang="EN-US"> </span></p><p class="MsoNormal"><span lang="EN-US">This allows organizations to distinguish between:</span></p><ul><li style="list-style-type: none;"><ul><li class="MsoNormal"> critical risks with immediate business impact, </li><li class="MsoNormal">medium and low risks related to configuration hardening and attack surface reduction,</li><li class="MsoNormal"> best-practice recommendations aimed at long-term security maturity.</li></ul></li></ul>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-75921b3 e-con-full e-flex e-con e-child" data-id="75921b3" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-946a336 e-flex e-con-boxed e-con e-parent" data-id="946a336" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e26da36 elementor-widget elementor-widget-spacer" data-id="e26da36" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-fde5878 e-flex e-con-boxed e-con e-parent" data-id="fde5878" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-90ba2d6 e-con-full e-flex e-con e-child" data-id="90ba2d6" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-b22a03b e-con-full e-flex e-con e-child" data-id="b22a03b" data-element_type="container">
				<div class="elementor-element elementor-element-69899c9 elementor-widget elementor-widget-text-editor" data-id="69899c9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h3><span lang="EN-US">Keycloak-side</span><b><span lang="EN-US"> audit – known patterns, real-world consequences</span></b></h3><p><b><span lang="EN-US"> </span></b></p><p class="MsoNormal"><span lang="EN-US"><a href="https://inero-software.com/best-keycloak-practices/">Configuration aspects of Keycloak itself are well documented and widely discussed in official  documentation and community guidelines</a>. Nevertheless, real-world audits of large-scale deployments consistently reveal recurring issues such as:</span></p><ul><li style="list-style-type: none;"><ul><li class="MsoNormal"><span lang="EN-US">lack of regular realm key rotation,</span></li><li class="MsoNormal"><span lang="EN-US">missing client secret rotation,</span></li><li class="MsoNormal"><span lang="EN-US">overly permissive redirect URIs and web origins,</span></li><li class="MsoNormal"><span lang="EN-US">unused but enabled service accounts,</span></li><li class="MsoNormal"><span lang="EN-US">globally enabled “full scope allowed” settings,</span></li><li class="MsoNormal"><span lang="EN-US">deprecated direct access grants left active,</span></li><li class="MsoNormal"><span lang="EN-US">missing or inconsistent enforcement of PKCE.</span></li></ul></li></ul><p class="MsoNormal"><span lang="EN-US"> </span></p><blockquote><p class="MsoNormal"><span lang="EN-US">While these topics are well known, they are worth revisiting from an operational perspective. In large, multi-realm Keycloak deployments, even seemingly minor configuration oversights can accumulate and significantly increase the overall attack surface.</span></p></blockquote>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-9503a76 e-con-full e-flex e-con e-child" data-id="9503a76" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-1e30445 e-flex e-con-boxed e-con e-parent" data-id="1e30445" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-149bd34 elementor-widget elementor-widget-spacer" data-id="149bd34" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-c9c066d e-flex e-con-boxed e-con e-parent" data-id="c9c066d" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e1250b7 elementor-widget elementor-widget-spacer" data-id="e1250b7" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-dc00e5e e-flex e-con-boxed e-con e-parent" data-id="dc00e5e" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-db7a09c e-con-full e-flex e-con e-child" data-id="db7a09c" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-6f60a0d e-con-full e-flex e-con e-child" data-id="6f60a0d" data-element_type="container">
				<div class="elementor-element elementor-element-06970d8 elementor-widget elementor-widget-text-editor" data-id="06970d8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2 class="MsoNormal"><span lang="EN-US">2. Client-side audit – where the highest risks emerge</span></h2><p>From a security standpoint, the most sensitive and often underestimated part of a Keycloak deployment is the client application layer. Even a well-configured Authorization Server cannot compensate for insecure client-side implementations.</p><blockquote><p>“In real-world Keycloak deployments, the most critical security risks rarely originate in the IAM platform itself — they emerge at the client application layer.”</p></blockquote><p>In practice, the most severe findings during Keycloak audits are almost always related to how applications consume tokens, validate authentication state, and handle sensitive data after a successful login.</p><h5> </h5><h5>Missing token validation in client applications</h5><p>One of the most critical issues observed in enterprise environments is incomplete or missing access token validation on the application side. This includes scenarios where:</p><ul><li style="list-style-type: none;"><ul><li>endpoints do not verify authentication at all,</li><li>token signatures or claims are not fully validated,</li><li>authorization checks are inconsistently applied across APIs.</li></ul></li></ul><p>Such vulnerabilities effectively bypass Keycloak entirely, allowing attackers to interact directly with application endpoints without compromising the IAM platform itself.</p><h5> </h5><h5>Insecure token storage and handling</h5><p>Another high-impact issue involves improper handling of access tokens within client applications. Common anti-patterns include:</p><ul><li style="list-style-type: none;"><ul><li>storing tokens in cookies without Secure or HttpOnly flags,</li><li>persisting tokens in local or session storage,</li><li>sharing tokens across application components in a durable form.</li></ul></li></ul><p>In browser-based applications, these practices dramatically increase exposure to XSS attacks and session hijacking. From an architectural perspective, this is an application design flaw rather than a Keycloak configuration issue.</p><h5> </h5><h5>Token transmission via URLs</h5><p>Despite being widely discouraged, access tokens are still occasionally transmitted through URL query parameters or redirects, especially in legacy systems. This practice poses a severe security risk, as tokens may be exposed through:</p><ul><li style="list-style-type: none;"><ul><li>browser history,</li><li>server and proxy logs,</li><li>monitoring and analytics tools,</li><li>third-party integrations.</li></ul></li></ul><p>In multi-application IAM environments, such leakage can have cascading effects across multiple systems.</p><h5> </h5><h5>Incomplete PKCE or nonce support</h5><p>Some client applications technically use the Authorization Code Flow, but fail to:</p><ul><li style="list-style-type: none;"><ul><li>properly implement PKCE,</li><li>validate nonce values,</li><li>or explicitly enforce secure defaults in client libraries.</li></ul></li></ul><p>In complex deployments with numerous redirect paths and client types, this significantly increases the risk of authorization code injection attacks, even when Keycloak itself is correctly configured.</p><p>Missing security headers and improper cookie configuration</p><p>Finally, many audited applications lack basic web security hardening measures such as:</p><ul><li style="list-style-type: none;"><ul><li>Content-Security-Policy (CSP),</li><li>HTTP Strict Transport Security (HSTS),</li><li>properly configured SameSite cookie attributes.</li></ul></li></ul><p> </p><p><strong>These controls are not managed by Keycloak, yet they play a crucial role in protecting authentication flows and user sessions at the application level.</strong></p>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-3af0d31 e-con-full e-flex e-con e-child" data-id="3af0d31" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-aab7bdc e-flex e-con-boxed e-con e-parent" data-id="aab7bdc" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-d4b4986 elementor-widget elementor-widget-spacer" data-id="d4b4986" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4273c47 e-flex e-con-boxed e-con e-parent" data-id="4273c47" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-449f2ba e-con-full e-flex e-con e-child" data-id="449f2ba" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-978d452 e-con-full e-flex e-con e-child" data-id="978d452" data-element_type="container">
				<div class="elementor-element elementor-element-604823d elementor-widget elementor-widget-text-editor" data-id="604823d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2>Summary</h2><p>Auditing a Keycloak deployment in an enterprise environment requires looking far beyond realm and client configuration screens. While proper Keycloak hardening is essential, the highest security risks typically arise from insecure client-side implementations and architectural decisions.</p><p> </p><blockquote><p>“Keycloak can be hardened perfectly, yet the overall security posture will always be defined by the weakest client application integrated with it.”</p></blockquote><p> </p><p>Based on practical audit experience in large, multi-realm Keycloak environments:</p><ul><li style="list-style-type: none;"><ul><li>the most critical vulnerabilities emerge at the intersection of Keycloak and client applications,</li><li>correct IAM configuration does not mitigate insecure application behavior,</li><li>many high-impact issues can be resolved without changes to Keycloak itself, by improving application architecture and integration patterns.</li></ul></li></ul><p> </p><p>A well-executed Keycloak security audit helps organizations reduce attack surface, standardize IAM integrations, and safely scale their identity infrastructure across teams, environments, and business units.</p><p> </p><p>In large organizations, Keycloak effectively becomes the backbone of digital identity — and its real security strength is determined by the weakest link in the surrounding application ecosystem.</p>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-ed20b07 e-con-full e-flex e-con e-child" data-id="ed20b07" data-element_type="container">
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/keycloak-deployment-auditing-general-scope-and-guidelines/">Keycloak Deployment Auditing – General Scope and Guidelines</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8306</post-id>	</item>
		<item>
		<title>Implementing an AI-Powered Telephony Service Center with ElevenLabs &#038; LiveAPI</title>
		<link>https://inero-software.com/enterprise-ai-telephony/</link>
		
		<dc:creator><![CDATA[Andrzej Chybicki]]></dc:creator>
		<pubDate>Mon, 17 Nov 2025 11:18:27 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[AI call center]]></category>
		<category><![CDATA[AI telephony]]></category>
		<category><![CDATA[AI voice pipelines]]></category>
		<category><![CDATA[conversational AI]]></category>
		<category><![CDATA[enterprise AI]]></category>
		<category><![CDATA[GDPR compliance]]></category>
		<category><![CDATA[LiveAPI]]></category>
		<category><![CDATA[LLM voice interfaces]]></category>
		<category><![CDATA[real-time voice systems]]></category>
		<category><![CDATA[streaming AI;]]></category>
		<category><![CDATA[telephony integration]]></category>
		<category><![CDATA[voice automation]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=8238</guid>

					<description><![CDATA[<p>Implementing an AI-Powered Telephony Service Center with ElevenLabs &#38; LiveAPI Over the past year, advancements in real-time AI models and high‑fidelity speech synthesis have accelerated the development of AI-driven telephony systems. At Inero, we’ve had the opportunity to integrate modern telephony solutions with LiveAPI technology and ElevenLabs’ voice engine to&#8230;</p>
<p>Artykuł <a href="https://inero-software.com/enterprise-ai-telephony/">Implementing an AI-Powered Telephony Service Center with ElevenLabs &#038; LiveAPI</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="8238" class="elementor elementor-8238" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-44c8f7e e-flex e-con-boxed e-con e-parent" data-id="44c8f7e" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-cfa815a elementor-widget elementor-widget-spacer" data-id="cfa815a" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6cc775b e-flex e-con-boxed e-con e-parent" data-id="6cc775b" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-ad26502 e-con-full e-flex e-con e-child" data-id="ad26502" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-4974bf1 e-con-full e-flex e-con e-child" data-id="4974bf1" data-element_type="container">
				<div class="elementor-element elementor-element-dc50676 elementor-widget elementor-widget-text-editor" data-id="dc50676" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1><span lang="EN-US">Implementing an AI-Powered Telephony Service Center with ElevenLabs &amp; LiveAPI</span></h1><p> </p><p class="MsoNormal"><span lang="EN-US">Over the past year, advancements in real-time AI models and high‑fidelity speech synthesis have accelerated the development of AI-driven telephony systems. At Inero, we’ve had the opportunity to integrate modern telephony solutions with LiveAPI technology and ElevenLabs’ voice engine to create a human‑like, responsive, GDPR‑compliant communication experience for a major corporate client.<br /><br />This article combines two perspectives: a high-level overview of LiveAPI and ElevenLabs technology, and a behind‑the‑scenes look at our practical engineering experience while delivering a real-world AI telephony solution.</span></p>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-5ab22b7 e-con-full e-flex e-con e-child" data-id="5ab22b7" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0150de1 e-flex e-con-boxed e-con e-parent" data-id="0150de1" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-e45f203 e-con-full e-flex e-con e-child" data-id="e45f203" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-a617588 e-con-full e-flex e-con e-child" data-id="a617588" data-element_type="container">
				<div class="elementor-element elementor-element-83d612c elementor-widget elementor-widget-spacer" data-id="83d612c" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-e0cafc0 elementor-widget elementor-widget-text-editor" data-id="e0cafc0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2><span lang="EN-US">1. What Makes LiveAPI and ElevenLabs a Powerful Combination?</span></h2><p> </p><p class="MsoNormal"><span lang="EN-US">LiveAPI solutions such as OpenAI Realtime API and Google Gemini Live API shift the paradigm from static prompts to streaming, interactive communication. These systems support real‑time audio input, low‑latency responses, natural interrupt handling, and multimodal context.<br /><br />ElevenLabs complements this with industry‑leading voice synthesis. Its realistic, expressive voices and advanced prosody control enable AI agents that sound convincingly human. For telephony environments, this matters — clients expect clarity, confidence, and a pleasant conversational tone.</span></p>						</div>
				</div>
		<div class="elementor-element elementor-element-275490b e-con-full e-flex e-con e-child" data-id="275490b" data-element_type="container">
				<div class="elementor-element elementor-element-b98492a elementor-widget elementor-widget-image" data-id="b98492a" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img fetchpriority="high" decoding="async" data-attachment-id="8251" data-permalink="https://inero-software.com/enterprise-ai-telephony/liveapi_elevenlabs_interactionmodel/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel.png" data-orig-size="1536,1024" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="LiveAPI + ElevenLabs Interaction Model" data-image-description="&lt;p&gt;A clean, purple-themed diagram visualizing the data flow in an AI-powered telephony system. The graphic illustrates how a user speaks into a microphone, how the audio is processed by a LiveAPI voice LLM, and how the response is synthesized by ElevenLabs TTS before returning to the user as speech. The design represents a real-time, low-latency interaction loop used in modern conversational AI and telephony integrations.&lt;/p&gt;
" data-image-caption="&lt;p&gt;How user audio flows through LiveAPI and ElevenLabs TTS to create real-time voice responses.&lt;/p&gt;
" data-medium-file="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-300x200.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-1030x687.png" tabindex="0" role="button" width="1030" height="687" src="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-1030x687.png" class="attachment-large size-large wp-image-8251" alt="Diagram showing the interaction flow between a user, a LiveAPI voice model, and ElevenLabs TTS in a real-time AI telephony system." srcset="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-1030x687.png 1030w, https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-300x200.png 300w, https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-768x512.png 768w, https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-450x300.png 450w, https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel.png 1536w" sizes="(max-width: 1030px) 100vw, 1030px" data-attachment-id="8251" data-permalink="https://inero-software.com/enterprise-ai-telephony/liveapi_elevenlabs_interactionmodel/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel.png" data-orig-size="1536,1024" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="LiveAPI + ElevenLabs Interaction Model" data-image-description="&lt;p&gt;A clean, purple-themed diagram visualizing the data flow in an AI-powered telephony system. The graphic illustrates how a user speaks into a microphone, how the audio is processed by a LiveAPI voice LLM, and how the response is synthesized by ElevenLabs TTS before returning to the user as speech. The design represents a real-time, low-latency interaction loop used in modern conversational AI and telephony integrations.&lt;/p&gt;
" data-image-caption="&lt;p&gt;How user audio flows through LiveAPI and ElevenLabs TTS to create real-time voice responses.&lt;/p&gt;
" data-medium-file="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-300x200.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/11/LiveAPI_ElevenLabs_InteractionModel-1030x687.png" role="button" />													</div>
				</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-ca7edd1 e-con-full e-flex e-con e-child" data-id="ca7edd1" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3553e31 e-flex e-con-boxed e-con e-parent" data-id="3553e31" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-4d3148a e-con-full e-flex e-con e-child" data-id="4d3148a" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-5d07d44 e-con-full e-flex e-con e-child" data-id="5d07d44" data-element_type="container">
				<div class="elementor-element elementor-element-1a97268 elementor-widget elementor-widget-spacer" data-id="1a97268" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-02ef01f elementor-widget elementor-widget-text-editor" data-id="02ef01f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2><span lang="EN-US">2. Why GDPR Compliance Shapes the Choice of API in Europe</span></h2><p class="MsoNormal"><span lang="EN-US">For European organisations, GDPR compliance is not optional — it defines which AI vendors can be used in production. Although both OpenAI and Google offer real-time APIs, enterprises operating in the EU often restrict use to providers ensuring transparent, EU‑aligned data governance. In practice, this means that Gemini Live API was the viable choice for our implementation, while OpenAI was excluded despite strong technical capabilities.</span></p>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-b6d89f4 e-con-full e-flex e-con e-child" data-id="b6d89f4" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-edad7b5 e-flex e-con-boxed e-con e-parent" data-id="edad7b5" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-8da2a35 e-con-full e-flex e-con e-child" data-id="8da2a35" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-6d9a181 e-con-full e-flex e-con e-child" data-id="6d9a181" data-element_type="container">
				<div class="elementor-element elementor-element-567ff66 elementor-widget elementor-widget-spacer" data-id="567ff66" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-f5c5517 elementor-widget elementor-widget-text-editor" data-id="f5c5517" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2><span lang="EN-US">3. Our Practical Experience Integrating Telephony with LiveAPI and ElevenLabs</span></h2><p class="MsoNormal"><span lang="EN-US">Below we outline the key lessons, challenges, and engineering decisions from our implementation.</span></p><p class="MsoNormal"><span lang="EN-US"> </span></p><h3><span lang="EN-US">3.1 Project Context</span></h3><p class="MsoNormal"><span lang="EN-US">Our client — a large corporate organisation — required a system capable of handling outbound and inbound calls automatically, while maintaining a tone and responsiveness extremely close to human interaction. The goal was not a simple IVR or menu system, but a natural, fully conversational experience driven by real‑time AI.</span></p><p class="MsoNormal"><span lang="EN-US"> </span></p><h3><span lang="EN-US">3.2 Technology Stack and Constraints</span></h3><p class="MsoNormal"><span lang="EN-US">We evaluated both OpenAI and Gemini Live APIs to compare latency, contextual reasoning and streaming quality. However, due to GDPR compliance requirements, the production system was designed around Gemini Live API. ElevenLabs provided the speech synthesis layer, offering high realism and consistent quality across telephony channels.</span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-a79ca65 elementor-widget elementor-widget-image" data-id="a79ca65" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img decoding="async" data-attachment-id="8260" data-permalink="https://inero-software.com/enterprise-ai-telephony/telephony_elevenlabs_pipeline-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1.png" data-orig-size="1536,1024" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="AI Telephony Pipleine" data-image-description="&lt;p&gt;Diagram showing the processing pipeline from telephony audio through LiveAPI to ElevenLabs TTS in an AI-powered voice system.&lt;/p&gt;
" data-image-caption="&lt;p&gt;Diagram showing the processing pipeline from telephony audio through LiveAPI to ElevenLabs TTS in an AI-powered voice system.&lt;/p&gt;
" data-medium-file="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-300x200.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-1030x687.png" tabindex="0" role="button" width="768" height="512" src="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-768x512.png" class="attachment-medium_large size-medium_large wp-image-8260" alt="Telephony with AI Processing Pipeline" srcset="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-768x512.png 768w, https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-300x200.png 300w, https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-1030x687.png 1030w, https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1.png 1536w" sizes="(max-width: 768px) 100vw, 768px" data-attachment-id="8260" data-permalink="https://inero-software.com/enterprise-ai-telephony/telephony_elevenlabs_pipeline-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1.png" data-orig-size="1536,1024" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="AI Telephony Pipleine" data-image-description="&lt;p&gt;Diagram showing the processing pipeline from telephony audio through LiveAPI to ElevenLabs TTS in an AI-powered voice system.&lt;/p&gt;
" data-image-caption="&lt;p&gt;Diagram showing the processing pipeline from telephony audio through LiveAPI to ElevenLabs TTS in an AI-powered voice system.&lt;/p&gt;
" data-medium-file="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-300x200.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/11/Telephony_ElevenLabs_Pipeline-1-1030x687.png" role="button" />													</div>
				</div>
				<div class="elementor-element elementor-element-1ed3b4d elementor-widget elementor-widget-text-editor" data-id="1ed3b4d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h3 style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal;"><span lang="EN-US">3.3 Key Engineering Challenges</span></h3><p class="MsoNormal" style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"><span lang="EN-US">Beyond typical engineering concerns like audio quality, session stability, and call routing, the most demanding challenge was not purely technical — it was understanding how real users communicate over the phone. Subtle behaviors such as interruptions, hesitation, changing tone, or switching context required careful analysis and extensive testing.</span></p><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;">We also dealt with several micro‑issues, such as premature call termination, incorrect end‑of‑utterance detection, and managing the timing between user speech and AI responses.</p><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"> </p><h3 style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal;"><span lang="EN-US">3.4 What We Built Ourselves</span></h3><p class="MsoNormal" style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"><span lang="EN-US">AI models are inherently non‑deterministic and cannot be fully controlled like classic software components. To ensure predictable and business‑aligned outcomes, we developed backend modules responsible for:<br />• Conversation flow supervision<br />• Session state tracking<br />• Monitoring and logging voice interactions<br />• Handling edge cases and ambiguous user inputs</span></p><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;">ElevenLabs’ tooling, especially the Hard Disk service, significantly supported our workflow, but the orchestration layer was built entirely by Inero.</p><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"> </p><h3 style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal;"><span lang="EN-US">3.5 What We Learned</span></h3><p class="MsoNormal" style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"><span lang="EN-US">The most important insight: designing a telephony AI system requires deep understanding of the user’s context, combined with the business objectives of the project. Quick prototyping and iterative PoC testing were essential — allowing us to validate conversational patterns early, reveal unexpected user behavior, and refine the interaction design.</span></p><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;">Ultimately, success depended on aligning the AI’s conversational style with how real customers naturally speak, pause, and respond during a phone call.</p>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-4d8ebb5 e-con-full e-flex e-con e-child" data-id="4d8ebb5" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-36fce65 e-flex e-con-boxed e-con e-parent" data-id="36fce65" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bafc838 elementor-widget elementor-widget-spacer" data-id="bafc838" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f0ecd4f e-flex e-con-boxed e-con e-parent" data-id="f0ecd4f" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-a477dbd e-con-full e-flex e-con e-child" data-id="a477dbd" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-326a90c e-con-full e-flex e-con e-child" data-id="326a90c" data-element_type="container">
				<div class="elementor-element elementor-element-1fab35c elementor-widget elementor-widget-text-editor" data-id="1fab35c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2><span lang="EN-US">4. GDPR Considerations in AI Telephony</span></h2><p> </p><p class="MsoNormal"><span lang="EN-US">All audio handling, session storage, and logging were designed according to GDPR principles: strict data minimisation, no training on user audio, encrypted transmission, and optional anonymisation of transcriptions. Where possible, processing was routed through EU‑aligned infrastructure.</span></p>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-fdd54ad e-con-full e-flex e-con e-child" data-id="fdd54ad" data-element_type="container">
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-59b4a48 e-flex e-con-boxed e-con e-parent" data-id="59b4a48" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-9ace4b8 elementor-widget elementor-widget-spacer" data-id="9ace4b8" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-bc2dbef e-flex e-con-boxed e-con e-parent" data-id="bc2dbef" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-ec7d459 e-con-full e-flex e-con e-child" data-id="ec7d459" data-element_type="container">
				</div>
		<div class="elementor-element elementor-element-46c6762 e-con-full e-flex e-con e-child" data-id="46c6762" data-element_type="container">
				<div class="elementor-element elementor-element-792a12f elementor-widget elementor-widget-text-editor" data-id="792a12f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2><span lang="EN-US">Conclusion<o:p></o:p></span></h2><p>

</p><p class="MsoNormal"><span lang="EN-US">Implementing an AI‑driven telephony service
center requires more than connecting APIs — it requires understanding users,
managing nuanced conversational flows, and ensuring full compliance with EU
regulations. Our experience shows that LiveAPI technologies combined with
ElevenLabs can deliver highly human‑like, responsive, and scalable
communication channels for enterprise clients.<o:p></o:p></span></p>						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-421f13d e-con-full e-flex e-con e-child" data-id="421f13d" data-element_type="container">
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/enterprise-ai-telephony/">Implementing an AI-Powered Telephony Service Center with ElevenLabs &#038; LiveAPI</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8238</post-id>	</item>
		<item>
		<title>Secure Email Delivery in Keycloak 26.2 Using XOAUTH2</title>
		<link>https://inero-software.com/secure-email-delivery-in-keycloak-26-2-using-xoauth2/</link>
		
		<dc:creator><![CDATA[Andrzej Chybicki]]></dc:creator>
		<pubDate>Mon, 15 Sep 2025 10:48:22 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[Keycloak]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[keycloak]]></category>
		<category><![CDATA[Multi-Factor Authentication]]></category>
		<category><![CDATA[SMTP]]></category>
		<category><![CDATA[XOAUTH2]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=8141</guid>

					<description><![CDATA[<p>Secure Email Delivery in Keycloak 26.2 Using XOAUTH2 Email has been one of the oldest and most fundamental services on the internet, used for notifications, password resets, verifications, and more. Over time we’ve seen major improvements — encryption via TLS, then STARTTLS, and now many providers are moving away from&#8230;</p>
<p>Artykuł <a href="https://inero-software.com/secure-email-delivery-in-keycloak-26-2-using-xoauth2/">Secure Email Delivery in Keycloak 26.2 Using XOAUTH2</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="8141" class="elementor elementor-8141" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-bb57bd9 e-flex e-con-boxed e-con e-parent" data-id="bb57bd9" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-437b6d1 elementor-widget elementor-widget-spacer" data-id="437b6d1" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-db34a4b e-flex e-con-boxed e-con e-parent" data-id="db34a4b" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-641bb6a elementor-widget elementor-widget-spacer" data-id="641bb6a" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-50bb99f e-flex e-con-boxed e-con e-parent" data-id="50bb99f" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-4a41088 elementor-widget elementor-widget-text-editor" data-id="4a41088" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1>Secure Email Delivery in Keycloak 26.2 Using XOAUTH2</h1><p>Email has been one of the oldest and most fundamental services on the internet, used for notifications, password resets, verifications, and more. Over time we’ve seen major improvements — encryption via TLS, then STARTTLS, and now many providers are moving away from basic password authentication in favor of modern token-based schemes like XOAUTH2. With Keycloak 26.2, this evolution has arrived: Keycloak now supports XOAUTH2 for outgoing SMTP mail, adding greater security and compatibility with providers who have deprecated legacy authentication</p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-8c716d3 e-flex e-con-boxed e-con e-parent" data-id="8c716d3" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-45fb36f elementor-widget elementor-widget-spacer" data-id="45fb36f" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-b657726 e-flex e-con-boxed e-con e-parent" data-id="b657726" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a743437 elementor-widget elementor-widget-text-editor" data-id="a743437" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2>1. What is XOAUTH2, and Why It Matters</h2><p>XOAUTH2 is a means of authenticating to an SMTP (or other email-sending) server using an OAuth2 access token rather than a username + password. Some of the key benefits include:</p><ul><li style="list-style-type: none;"><ul><li>Improved Security: Tokens can be more tightly controlled, with limited scope and lifetime.</li><li>Compliance with Modern Providers: Many providers are disabling basic auth.</li><li>Centralised and Auditable Auth: Easier management and rotation. Each client&#8217;s access can be revoked independently of other clients&#8217; operations.</li><li>Reduced Risk of Credential Leakage: No raw passwords stored or transmitted.</li></ul></li></ul>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-49d6f0b e-flex e-con-boxed e-con e-parent" data-id="49d6f0b" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-761d03b elementor-widget elementor-widget-spacer" data-id="761d03b" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-cac6421 e-flex e-con-boxed e-con e-parent" data-id="cac6421" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-dc1c0d3 elementor-widget elementor-widget-text-editor" data-id="dc1c0d3" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2>2. How XOAUTH2 is Implemented in Keycloak 26.2</h2><p>With version 26.2, Keycloak adds native support for XOAUTH2 when sending emails via SMTP. This means administrators can move away from static username and password credentials and instead configure Keycloak to obtain an OAuth2 access token at runtime.</p><p>In the Admin Console under Realm → Realm Settings → Email, you can now switch the Authentication Type from Password to Token (XOAUTH2). Once enabled, additional fields appear where you provide:</p><p>&#8211; Client ID and Client Secret from your identity provider (e.g., Azure AD).<br />&#8211; The OAuth2 Token Endpoint used to request an access token.<br />&#8211; Optional Scopes, depending on your provider (for Microsoft 365: https://outlook.office365.com/.default).<br />&#8211; A From address / SMTP username, which may still be required by the mail server.</p><p>Keycloak then handles the process of requesting and refreshing tokens using the Client Credentials Grant flow. You can use the “Test connection” button to verify that the configuration is correct and that emails can be sent successfully.</p><p>This approach aligns Keycloak with modern security standards and prepares deployments for providers that are phasing out legacy authentication.</p><p><img decoding="async" data-attachment-id="8207" data-permalink="https://inero-software.com/image-12/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/09/image-12.png" data-orig-size="1235,1095" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image (12)" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/09/image-12-300x266.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/09/image-12-1030x913.png" tabindex="0" role="button" class="aligncenter wp-image-8207 size-large" src="https://inero-software.com/wp-content/uploads/2025/09/image-12-1030x913.png" alt="" width="1030" height="913" srcset="https://inero-software.com/wp-content/uploads/2025/09/image-12-1030x913.png 1030w, https://inero-software.com/wp-content/uploads/2025/09/image-12-300x266.png 300w, https://inero-software.com/wp-content/uploads/2025/09/image-12-768x681.png 768w, https://inero-software.com/wp-content/uploads/2025/09/image-12-338x300.png 338w, https://inero-software.com/wp-content/uploads/2025/09/image-12.png 1235w" sizes="(max-width: 1030px) 100vw, 1030px" /></p><p><strong data-start="0" data-end="9" data-is-only-node="">Note:</strong> The <strong data-start="14" data-end="35">Enable Debug SMTP</strong> option (visible at the bottom of the form) activates extended logging for outgoing email. When enabled, Keycloak produces detailed debug output of the SMTP communication, which can be very useful for diagnosing integration issues such as authentication failures, token retrieval problems, or TLS misconfigurations. It is recommended to use this setting only in testing or troubleshooting scenarios, as it may expose sensitive information in the logs.</p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-2e4203c e-flex e-con-boxed e-con e-parent" data-id="2e4203c" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-44a4294 elementor-widget elementor-widget-spacer" data-id="44a4294" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-94072c9 e-flex e-con-boxed e-con e-parent" data-id="94072c9" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-802a36b elementor-widget__width-inherit elementor-invisible elementor-widget elementor-widget-text-editor" data-id="802a36b" data-element_type="widget" data-settings="{&quot;_animation&quot;:&quot;fadeIn&quot;}" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h4 style="text-align: center;"><span style="color: #431773;">Retirement of Basic Authentication for SMTP AUTH (Client Submission) in Exchange Online</span></h4>						</div>
				</div>
				<div class="elementor-element elementor-element-5f3b86e elementor-widget elementor-widget-spacer" data-id="5f3b86e" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-86a8aa1 e-flex e-con-boxed e-con e-parent" data-id="86a8aa1" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2b76e0f elementor-widget elementor-widget-spacer" data-id="2b76e0f" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-04082db e-flex e-con-boxed e-con e-parent" data-id="04082db" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-7185a3d elementor-countdown--label-inline elementor-widget elementor-widget-countdown" data-id="7185a3d" data-element_type="widget" data-settings="{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}" data-widget_type="countdown.default">
				<div class="elementor-widget-container">
					<div class="elementor-countdown-wrapper" data-date="1772319600">
			<div class="elementor-countdown-item"><span class="elementor-countdown-digits elementor-countdown-days"></span> <span class="elementor-countdown-label">Days</span></div><div class="elementor-countdown-item"><span class="elementor-countdown-digits elementor-countdown-hours"></span> <span class="elementor-countdown-label">Hours</span></div>		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-846c707 e-flex e-con-boxed e-con e-parent" data-id="846c707" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bfa7caf elementor-widget elementor-widget-spacer" data-id="bfa7caf" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0aa70e1 e-flex e-con-boxed e-con e-parent" data-id="0aa70e1" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1d91819 elementor-widget elementor-widget-text-editor" data-id="1d91819" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2>3. Why This Matters for Microsoft Azure / Office 365 Users</h2><blockquote><p>Microsoft has announced the retirement of Basic Authentication for SMTP AUTH (Client Submission) in Exchange Online. Starting March 1, 2026, Microsoft will begin phasing out Basic Auth, and by April 30, 2026, it will be completely disabled. This change directly impacts Keycloak deployments where outgoing emails are sent via Office 365 / Exchange Online SMTP.</p></blockquote><p>If your Keycloak instance is still configured with a username and password for SMTP, it will stop working once Basic Auth is retired. The solution is to migrate to XOAUTH2 configuration in Keycloak 26.2.</p><p>By adopting XOAUTH2, you ensure:</p><ul><li style="list-style-type: none;"><ul><li>Continued compatibility with Microsoft email services</li><li>Stronger security and compliance</li><li>Reduced risk compared to static credentials</li></ul></li></ul>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-8ef377e e-flex e-con-boxed e-con e-parent" data-id="8ef377e" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-126b40c elementor-widget elementor-widget-spacer" data-id="126b40c" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0cdb0ae e-flex e-con-boxed e-con e-parent" data-id="0cdb0ae" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-8707cdb elementor-widget elementor-widget-text-editor" data-id="8707cdb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2><b data-stringify-type="bold">4. Beyond XOAUTH2?</b></h2><p>There’s even more going on in modern email delivery. Many email delivery platforms steer away from traditional SMTP protocol towards API-based approach (e.g. MailJet, SendGrid or MailGun). This gives more flexibility to integrators and allows platform providers to offer additional features. API-based email sending is not jet supported by Keycloak out-of-the-box, but this support can be added via custom extensions. Contact us if you are interested in integrating Keycloak with API-based email delivery platforms.</p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-cc7f0e5 e-flex e-con-boxed e-con e-parent" data-id="cc7f0e5" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-cbe5851 elementor-widget elementor-widget-spacer" data-id="cbe5851" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-edbac9e e-flex e-con-boxed e-con e-parent" data-id="edbac9e" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-121b9ff elementor-widget elementor-widget-text-editor" data-id="121b9ff" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2>Conclusion</h2><p>The addition of XOAUTH2 support in Keycloak 26.2 is more than just a feature upgrade — it’s an essential step for organizations that rely on Office 365, Gmail, or other providers who are deprecating legacy authentication. By adopting XOAUTH2 today, you can future-proof your Keycloak deployment, comply with provider requirements, and improve overall email security.</p>						</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/secure-email-delivery-in-keycloak-26-2-using-xoauth2/">Secure Email Delivery in Keycloak 26.2 Using XOAUTH2</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8141</post-id>	</item>
		<item>
		<title>Keycloak or SaaS IdP? A Tech Leader’s Guide to Making the Right IAM Choice</title>
		<link>https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/</link>
		
		<dc:creator><![CDATA[Andrzej Chybicki]]></dc:creator>
		<pubDate>Thu, 24 Jul 2025 07:45:53 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[Keycloak]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=8063</guid>

					<description><![CDATA[<p>Introduction Shipping single sign‑on quickly is tempting. Stakeholders push for a smooth login experience, developers want to move on to core features, and security teams are eager to tick the “MFA enabled” box. The trouble is that identity and access management (IAM) decisions outlive launch days. Once you choose a&#8230;</p>
<p>Artykuł <a href="https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/">Keycloak or SaaS IdP? A Tech Leader’s Guide to Making the Right IAM Choice</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="8063" class="elementor elementor-8063" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-dd2241f e-flex e-con-boxed e-con e-parent" data-id="dd2241f" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-7a92edd e-con-full e-flex e-con e-child" data-id="7a92edd" data-element_type="container">
				<div class="elementor-element elementor-element-92153e6 elementor-widget elementor-widget-text-editor" data-id="92153e6" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1><span lang="EN-US">Introduction</span></h1><p class="MsoNormal"><span lang="EN-US">Shipping single sign‑on quickly is tempting. Stakeholders push for a smooth login experience, developers want to move on to core features, and security teams are eager to tick the “MFA enabled” box. The trouble is that identity and access management (IAM) decisions outlive launch days. Once you choose a platform, you inherit its operational model, cost structure and compliance implications for years.</span></p><p class="MsoNormal"><span lang="EN-US">In this blogpost we provide technical leads some few crucial issues when evaluating Keycloak—an open‑source IAM platform that has become a go‑to choice in many Java and cloud‑native environments. Rather than a hands‑on tutorial, you’ll get a decision framework that starts with business realities. We’ll walk through seven questions that determine whether Keycloak fits your context. For each, you’ll see why it matters, how to assess it, the red flags to watch for, and a concrete deliverable to capture the outcome.</span></p><p class="MsoNormal"><span lang="EN-US">By the end, you’ll fill in a short scorecard and see if your organization toward Keycloak, a commercial SaaS IdP (Auth0, Okta, Azure AD B2C, etc.), or a hybrid path. If you want a sanity check, we offer a free 45‑minute Keycloak readiness consultation—no slides, just practical advice.</span></p><p class="MsoNormal"><span lang="EN-US"> </span></p>						</div>
				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-1c3872c e-flex e-con-boxed e-con e-parent" data-id="1c3872c" data-element_type="container">
					<div class="e-con-inner">
		<div class="elementor-element elementor-element-ac23027 e-flex e-con-boxed e-con e-child" data-id="ac23027" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-f2b969a elementor-widget elementor-widget-text-editor" data-id="f2b969a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1><span lang="EN-US">Where Keycloak Lives in Your Stack</span></h1><p class="MsoNormal"><span lang="EN-US">Keycloak usually sits between your user‑facing applications and the identity sources they rely on. Applications delegate authentication and authorization to Keycloak. Keycloak can manage users internally or federate with LDAP/Active Directory. It also exposes logs and metrics that feed your SIEM and monitoring stack. Even if this picture seems obvious to engineers, spelling it out helps align legal, compliance and product stakeholders on who owns what.</span></p>						</div>
				</div>
					</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-926763e e-flex e-con-boxed e-con e-parent" data-id="926763e" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-c0f0f10 elementor-widget elementor-widget-image" data-id="c0f0f10" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" data-attachment-id="8093" data-permalink="https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/keycloak_diagram/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-scaled.png" data-orig-size="2560,1777" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="KeyCloak_Diagram" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-300x208.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-1030x715.png" tabindex="0" role="button" width="768" height="533" src="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-768x533.png" class="attachment-medium_large size-medium_large wp-image-8093" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-768x533.png 768w, https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-300x208.png 300w, https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-1030x715.png 1030w, https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-1536x1066.png 1536w, https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-2048x1422.png 2048w, https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-432x300.png 432w" sizes="(max-width: 768px) 100vw, 768px" data-attachment-id="8093" data-permalink="https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/keycloak_diagram/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-scaled.png" data-orig-size="2560,1777" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="KeyCloak_Diagram" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-300x208.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/07/KeyCloak_Diagram-1030x715.png" role="button" />													</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-02b5497 e-flex e-con-boxed e-con e-parent" data-id="02b5497" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1b72159 elementor-widget elementor-widget-text-editor" data-id="1b72159" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1><span lang="EN-US">Keycloak in a Nutshell (and Two Misconceptions)</span></h1><p class="MsoNormal"><span lang="EN-US">Keycloak is an open‑source IAM server supporting OIDC, SAML, MFA, theming and an extension model (SPIs). Originally developed by Red Hat, it now thrives under a large community.</span></p><p class="MsoNormal"><span lang="EN-US">Misconception #1: “Open source = free to run”. The software is free, but production IAM also needs infrastructure, monitoring, upgrades and people. Misconception #2: “It’s just for developers”. In reality, without governance and processes, any IAM platform becomes a liability.</span></p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-934ad5e e-flex e-con-boxed e-con e-parent" data-id="934ad5e" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-26d21cd elementor-widget elementor-widget-text-editor" data-id="26d21cd" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1 style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal;"><span lang="EN-US">Seven Questions to Frame the Decision</span></h1><div style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"><span lang="EN-US"> </span></div><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"><span lang="EN-US">Treat these questions as a workshop agenda, not a checklist. Bring security, operations, product and finance to the same table. The goal is to leave each session with an artifact that informs budgeting, architecture and planning.</span></p><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;"><span lang="EN-US"> </span></p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6beb500 e-flex e-con-boxed e-con e-parent" data-id="6beb500" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a4797f7 elementor-widget elementor-widget-text-editor" data-id="a4797f7" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h2>1. Compliance &amp; Risk: Do You Need Full Control Over IAM?</h2>
<p class="MsoNormal"><span lang="EN-US">Regulatory frameworks such as NIS2 or&nbsp;GDPR—and sector standards like PCI DSS or HIPAA—often demand demonstrable&nbsp;control over identities, audit trails and incident response. If auditors expect&nbsp;you to produce detailed logs or prove exactly who changed what, a black‑box&nbsp;SaaS can create friction&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">List the controls and evidence you must&nbsp;provide. Do you need to host IAM in a specific region?&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">How quickly must you&nbsp;produce logs? Are you required to approve every policy change?&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">If many answers&nbsp;point to tight control, Keycloak’s self‑hosted nature becomes an advantage.</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US">The biggest red flag is deferring&nbsp;compliance: “we’ll pass audits later”. Another is that nobody owns IAM data&nbsp;retention or log policies.</span></p>
<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>
<p class="MsoNormal"><span lang="EN-US"><b>Deliverable</b>: a compliance checklist mapped&nbsp;to IAM features and governance processes.</span></p>
<h2><span lang="EN-US">2. Integration Map: How Many Apps and Protocols Today—and in<br>Two Years?</span></h2>
<p><span lang="EN-US">Integration effort—not software&nbsp;choice—usually drives project cost and timeline. Keycloak handles&nbsp;OIDC/SAML/LDAP well, but legacy systems and partner constraints can complicate<br>the picture.&nbsp;</span>Inventory every application that authenticates users. Classify by protocol, business criticality and migration difficulty. Project changes over the next 24 months: new products,</p>
<p><span lang="EN-US">acquisitions, vendor switches.&nbsp;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><b>Red flags</b>: no authoritative app inventory; underestimating testing for each integration.</p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Deliverable</b>: a prioritized integration&nbsp;backlog with rough sizing.</span></p>
<h2><span lang="EN-US">3. Team &amp; Operations Capacity: Can You Secure and Run It<br>24/7 (or Outsource)?</span></h2>
<p><span lang="EN-US">IAM outages stop business. Someone must&nbsp;patch, monitor, respond to incidents and plan upgrades. Decide whether your&nbsp;DevOps/SecOps team can own this or you’ll offload parts to a partner.</span></p>
<p><span lang="EN-US">Assess on‑call capacity, automation&nbsp;maturity, security expertise. Define SLAs, RTO/RPO. Consider managed services&nbsp;for routine ops while retaining architectural control&nbsp;</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Red flags</b>: a single overworked DevOps, lack&nbsp;of monitoring/alerting, no upgrade plan.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Deliverable</b>: a RACI matrix for IAM&nbsp;operations and an initial ops budget.</span></p>
<h2><span lang="EN-US">4. Customization Needs: Themes, Extensions and Advanced<br>Authorization</span></h2>
<p><span lang="EN-US">Keycloak’s extensibility is a major&nbsp;advantage: custom authenticators, advanced policies (ABAC), branded login flows, phishing‑resistant UX. If differentiation or strict UX/security is a<br>requirement, flexibility matters.</span></p>
<p><span lang="EN-US">Gauge UX/theming demands, multilingual support, accessibility, device trust, passkeys, fine‑grained authorization.Each adds value to an extensible platform.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Red flags</b>: assuming the default theme is&nbsp;enough; ignoring SPI development complexity.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Deliverable</b>: a customization backlog with&nbsp;effort estimates and ownership.</span></p>
<h2><span lang="EN-US">5. Scalability &amp; High Availability: What Are Your Peak<br>Loads and DR Needs?</span></h2>
<p><span lang="EN-US">If login fails, revenue stops. HA/DR design&nbsp;impacts infrastructure cost and complexity. You need clarity on peaks,&nbsp;acceptable downtime and recovery objectives.</span></p>
<p><span lang="EN-US">Estimate peak concurrent logins (launch&nbsp;days, campaigns). Define RTO/RPO. Choose between VM clusters or Kubernetes with&nbsp;an operator. Decide on multi‑region strategies.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Red flags</b>: “we’ll scale later”, skipping DR tests entirely.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Deliverable</b>: an HA/DR architecture option&nbsp;matrix with pros, cons and cost</span></p>
<p><span lang="EN-US">.</span></p>
<h2><span lang="EN-US">6. Budget &amp; TCO: What Does Three Years Really Cost vs<br>SaaS?</span></h2>
<p><span lang="EN-US">Keycloak costs = infra + people +&nbsp;consulting. SaaS costs = subscriptions + add‑ons + overage fees.</span></p>
<p><span lang="EN-US">Only a 3‑year&nbsp;TCO model reveals the truth.</span></p>
<p><span lang="EN-US">Build a spreadsheet covering infra,&nbsp;backups, monitoring, labor, upgrades. Do the same for SaaS: MAU fees, advanced features, support tiers. Stress‑test both with growth scenarios.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Red flags</b>: ignoring people costs, assuming&nbsp;maintenance is free, overlooking SaaS overage triggers.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Deliverable</b>: a TCO calculator you can keep&nbsp;updating as data changes.</span></p>
<h2><span lang="EN-US">7. Vendor Lock‑In &amp; Roadmap Control: How Much Flexibility<br>Do You Need?</span></h2>
<p><span lang="EN-US">Open source gives you architectural&nbsp;freedom. SaaS gives you speed but ties you to someone else’s roadmap and&nbsp;pricing. Sometimes that’s fine; sometimes it’s a risk.</span></p>
<p><span lang="EN-US">Map likely IAM needs for 2–3 years. How&nbsp;critical is it to add custom flows quickly or hold back an upgrade? Could&nbsp;pricing shifts hurt you?</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Red flag</b>: &#8216;we’ll never need to extend&#8217;.<br>Organizations evolve and regulations shift.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>
<p><span lang="EN-US"><b>Deliverable</b>: a risk&nbsp;matrix—flexibility/control vs speed/convenience—plotting Keycloak, SaaS and&nbsp;Hybrid for your case.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3ff8df0 e-flex e-con-boxed e-con e-parent" data-id="3ff8df0" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-160dc54 elementor-widget elementor-widget-text-editor" data-id="160dc54" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1><span lang="EN-US">A Visual Decision Flow</span></h1><p> </p><p class="MsoNormal"><span lang="EN-US">If your team prefers a diagram to spark discussion, start with the simplified flow below. It nudges you toward Keycloak, SaaS or Hybrid based on the dominant answers. Use it as an icebreaker, not as a final verdict.</span></p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f7741db e-flex e-con-boxed e-con e-parent" data-id="f7741db" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-19caa3f elementor-widget elementor-widget-image" data-id="19caa3f" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" data-attachment-id="8083" data-permalink="https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/decisionflowdiagram/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-scaled.png" data-orig-size="2560,1972" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="DecisionFlowDiagram" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-300x231.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-1030x794.png" tabindex="0" role="button" width="768" height="592" src="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-768x592.png" class="attachment-medium_large size-medium_large wp-image-8083" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-768x592.png 768w, https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-300x231.png 300w, https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-1030x794.png 1030w, https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-1536x1183.png 1536w, https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-2048x1578.png 2048w, https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-389x300.png 389w" sizes="(max-width: 768px) 100vw, 768px" data-attachment-id="8083" data-permalink="https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/decisionflowdiagram/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-scaled.png" data-orig-size="2560,1972" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="DecisionFlowDiagram" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-300x231.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/07/DecisionFlowDiagram-1030x794.png" role="button" />													</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-eafdc58 e-flex e-con-boxed e-con e-parent" data-id="eafdc58" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-99e0a6e elementor-widget elementor-widget-text-editor" data-id="99e0a6e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1><span lang="EN-US">Quantify It: The Scorecard</span></h1><p class="MsoNormal"><span lang="EN-US">To make debates objective, translate the seven questions into numbers. Give each one a score from 1 to 5 (5 means a strong push toward Keycloak). Totals near the high end suggest Keycloak or Hybrid; lower totals suggest SaaS. More important than the number is the conversation it forces: why did we give compliance a 5 but ops capacity a 2?</span></p><table class="MsoNormalTable" style="border-width: initial; border-style: none;" border="1" cellspacing="0" cellpadding="0"><tbody><tr><td style="width: 108pt; padding: 0cm 5.4pt; border: 1pt solid windowtext;" valign="top" width="144"><h5><span lang="EN-US"><b>Question</b></span></h5></td><td style="width: 108pt; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left-width: initial; border-left-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><h5><span lang="EN-US"><b>Score (1–5)</b></span></h5></td><td style="width: 108pt; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left-width: initial; border-left-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><h5><span lang="EN-US"><b>Notes</b></span></h5></td><td style="width: 108pt; border-top: 1pt solid windowtext; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left-width: initial; border-left-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><h5><span lang="EN-US"><b>Leaning</b></span></h5></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US">Compliance &amp; Risk: Do You Need Full Control Over IAM?</span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US">Integration Map: How Many Apps and Protocols Today—and in Two Years?</span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US">Team &amp; Operations Capacity: Can You Secure and Run It 24/7 (or Outsource)?</span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US">Customization Needs: Themes, Extensions and Advanced Authorization</span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US">Scalability &amp; High Availability: What Are Your Peak Loads and DR Needs?</span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US">Budget &amp; TCO: What Does Three Years Really Cost vs SaaS?</span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US">Vendor Lock‑In &amp; Roadmap Control: How Much Flexibility Do You Need?</span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"> </span></pre></td></tr><tr><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-left: 1pt solid windowtext; border-top-width: initial; border-top-style: none; padding: 0cm 5.4pt;" valign="top" width="144"><pre><span lang="EN-US"><b>Total / Recommendation</b></span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"><b> </b></span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"><b> </b></span></pre></td><td style="width: 108pt; border-right: 1pt solid windowtext; border-bottom: 1pt solid windowtext; border-bottom-color: windowtext; border-right-color: windowtext; padding: 0cm 5.4pt; border-width: initial 1pt 1pt initial;" valign="top" width="144"><pre><span lang="EN-US"><b>Keycloak / SaaS / Hybrid</b></span></pre></td></tr></tbody></table>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-044e606 e-flex e-con-boxed e-con e-parent" data-id="044e606" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a55fec5 elementor-widget elementor-widget-text-editor" data-id="a55fec5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1> </h1><h1 style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal;">From Decision to Deployment: A Pragmatic Pipeline</h1><p style="font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 300; font-size: 14px; font-family: Roboto, sans-serif;">Assuming Keycloak is the direction, you still need a process to avoid chaos. We recommend a pipeline that mirrors proven delivery patterns: Discovery → Assessment → Architecture → PoC → Pilot → Production → Operate. Each phase ends with a clear artifact and go/no‑go gate.</p><h1><img loading="lazy" decoding="async" data-attachment-id="8094" data-permalink="https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/oragmatic-pipeline/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline.png" data-orig-size="1200,246" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Oragmatic Pipeline" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline-300x62.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline-1030x211.png" tabindex="0" role="button" class="aligncenter wp-image-8094 size-large" src="https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline-1030x211.png" alt="" width="1030" height="211" srcset="https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline-1030x211.png 1030w, https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline-300x62.png 300w, https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline-768x157.png 768w, https://inero-software.com/wp-content/uploads/2025/07/Oragmatic-Pipeline.png 1200w" sizes="(max-width: 1030px) 100vw, 1030px" /></h1><p>Discovery clarifies drivers, constraints and stakeholders. Without this, technical work drifts. Assessment inventories integrations and compliance needs, and identifies risks and skill gaps.Architecture produces the reference design, HA/DR plan and governance model. PoC attacks the riskiest assumptions first—often a tricky integration or compliance requirement. Pilot rolls out to a subset of apps/users to validate processes, comms and support.</p><p>Production rollout happens in phases with rollback strategies (blue/green, canary).</p><p>Operate means continuous monitoring, patching, upgrades and cost optimization—often where a partner can help your team breathe.</p><p> </p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-17d764e e-flex e-con-boxed e-con e-parent" data-id="17d764e" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-9b32f71 elementor-widget elementor-widget-text-editor" data-id="9b32f71" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1>Next Steps</h1><p>If your scorecard favors Keycloak, schedule a Discovery &amp; Governance workshop to align stakeholders, draft a high‑level architecture and turn assumptions into a roadmap. If you’re unsure, run a PoC targeting the top two risks. And if SaaS seems better today, design an exit strategy anyway—lock‑in is fine when it’s deliberate, not accidental.</p><p> </p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-fb6022e e-flex e-con-boxed e-con e-parent" data-id="fb6022e" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e06c810 elementor-widget elementor-widget-text-editor" data-id="e06c810" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1>&nbsp;Ready to Validate Your Choice?</h1>
<p><span lang="EN-US"><a href="https://calendar.app.google/saTsdh7e5G3YqMQD7" target="_blank">Book a free 45‑minute Keycloak Readiness Consultation</a>. We’ll go through the seven questions together, fill out the scorecard and outline concrete next steps—whether that’s an internal PoC, a hybrid approach or a full advisory engagement.</span></p>
<p><span lang="EN-US">&nbsp;</span></p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-15aa28d e-flex e-con-boxed e-con e-parent" data-id="15aa28d" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bea0396 elementor-widget elementor-widget-text-editor" data-id="bea0396" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h1>FAQ</h1><p><strong>Is Keycloak free to use in production?</strong></p><p>Yes. The software is open source, but production‑grade IAM still requires infrastructure, operations and security work. Some organizations use managed Keycloak or a consulting partner to offload that burden.</p><p><strong>How long does a typical Keycloak deployment take?</strong></p><p>A focused PoC can be done in weeks. Larger rollouts with dozens of integrations and strict compliance tend to span several months from assessment to stable production.</p><p><strong>Can Keycloak meet NIS2/GDPR requirements?</strong></p><p>Technically yes—Keycloak offers detailed logging, fine‑grained policies and MFA, and can be hosted where you need it. Compliance still depends on governance and evidence, not just tool capabilities.</p>						</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/keycloak-or-saas-idp-a-tech-leaders-guide-to-making-the-right-iam-choice/">Keycloak or SaaS IdP? A Tech Leader’s Guide to Making the Right IAM Choice</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8063</post-id>	</item>
		<item>
		<title>Is Your Company Ready for New Technology? How to Evaluate Technological Readiness</title>
		<link>https://inero-software.com/is-your-company-ready-for-new-technology-how-to-evaluate-technological-readiness/</link>
		
		<dc:creator><![CDATA[Marta Kuprasz]]></dc:creator>
		<pubDate>Mon, 26 May 2025 09:01:34 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[BusinessProcessesOptimization]]></category>
		<category><![CDATA[DigitalTransformation]]></category>
		<category><![CDATA[Technology]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=8029</guid>

					<description><![CDATA[<p>In the publication “Intelligent Agents in AI Really Can Work Alone. Here’s How.” by Gartner, the authors predict that by 2028, 33% of business applications will use agentic artificial intelligence, compared to less than 1% in 2024. This development will enable autonomous decision-making for up to 15% of daily operational&#8230;</p>
<p>Artykuł <a href="https://inero-software.com/is-your-company-ready-for-new-technology-how-to-evaluate-technological-readiness/">Is Your Company Ready for New Technology? How to Evaluate Technological Readiness</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="8029" class="elementor elementor-8029" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-93f5e59 e-flex e-con-boxed e-con e-parent" data-id="93f5e59" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-771d181 elementor-widget elementor-widget-html" data-id="771d181" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			 		</div>
				</div>
				<div class="elementor-element elementor-element-7af37b7 elementor-widget elementor-widget-text-editor" data-id="7af37b7" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h4>In the publication <em data-start="83" data-end="146">“Intelligent Agents in AI Really Can Work Alone. Here’s How.”</em> by Gartner, the authors predict that by 2028, 33% of business applications will use agentic artificial intelligence, compared to less than 1% in 2024. This development will enable autonomous decision-making for up to 15% of daily operational tasks. Is your company prepared to take advantage of these changes?</h4>						</div>
				</div>
				<div class="elementor-element elementor-element-4cc6de5 elementor-widget elementor-widget-text-editor" data-id="4cc6de5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong data-start="187" data-end="214">Technological readiness</strong> is a broad concept that encompasses IT infrastructure, team capabilities, the maturity of business processes, organizational readiness for change, and compliance with legal and security policies. Companies planning to implement ERP systems, identity and access management (IAM) tools, or AI-based solutions need a strong technical and operational foundation to succeed.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-a92ded9 elementor-widget elementor-widget-heading" data-id="a92ded9" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">How to Assess an Enterprise’s Technological Readiness?</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-d7b7a9d elementor-widget elementor-widget-text-editor" data-id="d7b7a9d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>To accurately determine an enterprise’s technological readiness, it’s worth conducting an assessment across several key areas. This process is similar to an audit, helping to answer a crucial question: is the company prepared to successfully implement and make use of a new technology?</p>						</div>
				</div>
				<div class="elementor-element elementor-element-eff7699 elementor-widget elementor-widget-heading" data-id="eff7699" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">IT Infrastructure</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-57a46ad elementor-widget elementor-widget-text-editor" data-id="57a46ad" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The assessment of IT infrastructure should begin with a clear definition of the requirements of the new technology. These requirements determine which resources will be necessary — in terms of performance, architecture, security, and availability.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-cb596ae elementor-widget elementor-widget-text-editor" data-id="cb596ae" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Only once you have a clear technological specification can you reliably assess whether your current IT environment is capable of meeting those requirements. If you’re considering introducing AI-based tools into your organization and want to understand the exact costs associated with deploying and maintaining a large language model, be sure to check out our latest analysis.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-070761f elementor-widget elementor-widget-heading" data-id="070761f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h5 class="elementor-heading-title elementor-size-default"><a href="https://inero-software.com/llm-implementation-and-maintenance-costs-for-businesses-a-detailed-breakdown/">LLM Implementation and Maintenance Costs for Businesses: A Detailed Breakdown</a></h5>		</div>
				</div>
				<div class="elementor-element elementor-element-3c405e1 elementor-widget elementor-widget-heading" data-id="3c405e1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Managing and Accessing Data</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-c61aabf elementor-widget elementor-widget-text-editor" data-id="c61aabf" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p class="" data-start="0" data-end="265">The assessment of data management should begin by identifying what data will be used by the new technology, in what format, how frequently, and from which sources. It’s the system’s requirements that define what data is needed and in what form it must be available.</p><p data-start="0" data-end="265"> </p><p class="" data-start="267" data-end="736">Only based on this can you determine whether the data within the organization is ready for use. It’s essential to verify whether there are technical means for retrieving data from sources (e.g., APIs, data exchange files), whether the data has a consistent structure, and whether it meets minimum quality standards. Inconsistencies, duplicates, incomplete records, or unstructured data may require an additional processing stage before the data can be effectively used.</p><p class="" data-start="738" data-end="1023">Organizational accessibility is equally important — data must be available not only technically, but also in accordance with internal policies and regulations. For sensitive data, it’s crucial to ensure that access complies with security policies and legal frameworks such as the GDPR.</p><p data-start="738" data-end="1023"> </p><p class="" data-start="1025" data-end="1267">If the planned technology involves integration of multiple sources, real-time analysis, or processing of large volumes of data, it may be necessary to prepare a dedicated integration layer or reorganize the company’s data management approach.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-51cd659 elementor-widget elementor-widget-heading" data-id="51cd659" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Team Preparation and Training</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-4b1a7d2 elementor-widget elementor-widget-text-editor" data-id="4b1a7d2" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p class="" data-start="242" data-end="567">Assessing team readiness should start with an analysis of the competencies required to operate the new technology. Depending on the solution, this may involve both technical skills (e.g., system configuration, data analysis) and operational knowledge (e.g., understanding business processes, interpreting system outputs).</p><p class="" data-start="242" data-end="567">Only once roles and responsibilities in the new environment are clearly defined can you assess whether the team has the necessary qualifications or if additional training is needed. This might involve upskilling through training sessions, involving external experts, or securing temporary support from the technology provider.</p><p class="" data-start="897" data-end="1267">Special attention should be given to those responsible for maintaining and developing the system — they need early access to information about the architecture, data model, failure scenarios, and access controls. Without this, the new technology risks becoming a “black box,” increasing the likelihood of operational errors and making future improvements more difficult.</p><p class="" data-start="897" data-end="1267"> </p><p class="" data-start="1269" data-end="1498">Team preparation should not be a one-time effort. It’s important to plan for post-implementation activities such as mentoring, internal documentation, and continuous development of skills in areas supported by the new technology.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-6538e7d elementor-widget elementor-widget-heading" data-id="6538e7d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Measuring Business Readiness </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-972d797 elementor-widget elementor-widget-text-editor" data-id="972d797" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Assessing technological readiness should be treated as a process. The most effective approach is to create a roadmap of preparatory actions and then measure progress based on clearly defined stages and evaluation criteria.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-884da4f elementor-widget__width-initial elementor-widget elementor-widget-image" data-id="884da4f" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" data-attachment-id="8032" data-permalink="https://inero-software.com/is-your-company-ready-for-new-technology-how-to-evaluate-technological-readiness/chatgpt-image-21-maj-2025-15_39_45/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45.png" data-orig-size="1536,1024" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ChatGPT Image 21 maj 2025, 15_39_45" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-300x200.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-1030x687.png" tabindex="0" role="button" width="1030" height="687" src="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-1030x687.png" class="attachment-large size-large wp-image-8032" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-1030x687.png 1030w, https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-300x200.png 300w, https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-768x512.png 768w, https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-450x300.png 450w, https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45.png 1536w" sizes="(max-width: 1030px) 100vw, 1030px" data-attachment-id="8032" data-permalink="https://inero-software.com/is-your-company-ready-for-new-technology-how-to-evaluate-technological-readiness/chatgpt-image-21-maj-2025-15_39_45/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45.png" data-orig-size="1536,1024" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="ChatGPT Image 21 maj 2025, 15_39_45" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-300x200.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/05/ChatGPT-Image-21-maj-2025-15_39_45-1030x687.png" role="button" />													</div>
				</div>
				<div class="elementor-element elementor-element-e5c2153 elementor-widget elementor-widget-text-editor" data-id="e5c2153" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The roadmap should include key areas such as IT infrastructure, data availability, team readiness, system integration, change management, and regulatory compliance. For each of these areas, it’s important to define the target requirements as well as assess the current state. This approach not only helps estimate the overall level of readiness but also identifies specific obstacles and weak points that may hinder the implementation process.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-e0da900 elementor-widget elementor-widget-text-editor" data-id="e0da900" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Step-by-step evaluation — based on the schedule and tasks assigned to specific teams — allows for ongoing verification of whether the company is moving toward operational readiness. This approach helps minimize the risk of unexpected delays and costs, as potential issues can be detected early, before entering the actual implementation phase.</p><p>Technological readiness is not a single end result. It’s the sum of many elements — technical, organizational, and competency-related — all of which should be assessed in the context of the specific implementation and its requirements.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-019d1a0 elementor-widget elementor-widget-heading" data-id="019d1a0" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">How We Work</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-87f3fac elementor-widget elementor-widget-text-editor" data-id="87f3fac" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>When working with clients on the implementation of new applications and systems, we always begin by discussing the business context and the organization’s actual needs. We don’t recommend off-the-shelf solutions without prior analysis — instead, we help identify which technologies have the potential to truly improve processes, and which may only lead to unnecessary costs and complications.</p><p>Drawing on our experience from IT projects across various industries, we provide step-by-step guidance — from the planning stage, through readiness assessment, to proper implementation and stabilization. We make sure the technology fits the organization’s capabilities and genuinely supports its operational development, rather than becoming an additional burden.</p><p>A well-planned implementation doesn’t end with launching an application — it ends with achieving the intended business outcomes.</p>						</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/is-your-company-ready-for-new-technology-how-to-evaluate-technological-readiness/">Is Your Company Ready for New Technology? How to Evaluate Technological Readiness</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">8029</post-id>	</item>
		<item>
		<title>LLM Implementation and Maintenance Costs for Businesses: A Detailed Breakdown</title>
		<link>https://inero-software.com/llm-implementation-and-maintenance-costs-for-businesses-a-detailed-breakdown/</link>
		
		<dc:creator><![CDATA[Martyna Mul]]></dc:creator>
		<pubDate>Wed, 14 May 2025 06:44:35 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI development]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[BusinessProcessesOptimization]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[Large Language Model]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=7981</guid>

					<description><![CDATA[<p>In this post we discuss the types of costs associated with using dedicated LLMs and present example calculations for popular models (such as GPT-4, Claude, Mistral, LLaMA, etc.), including business use case scenarios.</p>
<p>Artykuł <a href="https://inero-software.com/llm-implementation-and-maintenance-costs-for-businesses-a-detailed-breakdown/">LLM Implementation and Maintenance Costs for Businesses: A Detailed Breakdown</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="7981" class="elementor elementor-7981" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-b624393 e-flex e-con-boxed e-con e-parent" data-id="b624393" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-93f3c2f elementor-widget elementor-widget-html" data-id="93f3c2f" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			 		</div>
				</div>
				<div class="elementor-element elementor-element-3d9c5ec elementor-widget elementor-widget-text-editor" data-id="3d9c5ec" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h4>When considering the introduction of artificial intelligence into your company, it’s important to understand the costs involved in implementing and maintaining your own LLM. Expenses go beyond just paying for model usage (e.g., token-based API fees) and include a range of factors — from infrastructure to security. Below, we discuss the types of costs associated with using dedicated LLMs and present example calculations for popular models (such as GPT-4, Claude, Mistral, LLaMA, etc.), including business use case scenarios.</h4>						</div>
				</div>
				<div class="elementor-element elementor-element-085701f elementor-widget elementor-widget-text-editor" data-id="085701f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>More and more companies are considering the use of large language models (LLMs) in their own products and processes. These “dedicated” models can act as intelligent assistants—answering customer questions, analyzing documents, generating reports, and much more. <a href="https://inero-software.com/chatbot-agent-or-ai-assistant-find-out-which-solution-is-best-for-your-business/">You can read more about it here.</a></p><p><span data-ccp-props="{}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-4636eb2 elementor-widget elementor-widget-heading" data-id="4636eb2" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Types of Costs When Using LLMs</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-dc7b85d elementor-widget elementor-widget-text-editor" data-id="dc7b85d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Before starting the implementation, it&#8217;s important to understand all the components that contribute to the total cost of using a dedicated model.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-d01d87f elementor-widget elementor-widget-heading" data-id="d01d87f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Infrastructure:
</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-556fadf elementor-widget elementor-widget-text-editor" data-id="556fadf" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>If you&#8217;re using models via a cloud API (OpenAI, Anthropic, Google), </strong>you only pay for the tokens used. The infrastructure cost is &#8220;hidden&#8221; on the provider&#8217;s side.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-fca6d2f elementor-widget elementor-widget-text-editor" data-id="fca6d2f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>If you choose to self-host a model such as Mistral or LLaMA, </strong>you’ll need to maintain a GPU server—either locally or in the cloud. For example, renting an instance with an A100 GPU typically costs $1–2 per hour, which amounts to $750–1,500 per month if the server runs continuously. While such an investment can handle a high volume of queries, it may be underutilized at a smaller scale.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-6ef6f58 elementor-widget elementor-widget-heading" data-id="6ef6f58" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Licensing and Model Fees
</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-275e876 elementor-widget elementor-widget-text-editor" data-id="275e876" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Commercial models come with licensing or subscription fees. For example, when using the GPT-4 API from OpenAI or Claude from Anthropic,<strong> you pay per token used</strong> according to the provider&#8217;s pricing (we outline token costs in detail later on). On the other hand, open-source models like LLaMA or Mistral are available for free—<strong>there are no licensing or token fees</strong>. Meta, for instance, released LLaMA 2 under a license that allows businesses to use it freely. However, “free” doesn’t mean zero cost—you’ll still pay for the infrastructure and electricity needed to run the model (as mentioned earlier). It’s also important to check license restrictions: some open models may have specific usage conditions (e.g., restrictions on certain industries).</p>						</div>
				</div>
				<div class="elementor-element elementor-element-aa18bfc elementor-widget elementor-widget-heading" data-id="aa18bfc" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Model Adaptation and Customization
</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-96aa203 elementor-widget elementor-widget-text-editor" data-id="96aa203" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>For an LLM to perform well in a specific company setting, it often requires customization—such as additional training (fine-tuning) on company-specific data or at least the preparation of tailored prompts (known as prompt engineering). This adaptation process can generate significant costs:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-8573d17 elementor-widget elementor-widget-text-editor" data-id="8573d17" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><p><strong>Model Fine-Tuning:</strong> Training a model on your own dataset requires computing power (typically GPUs running for many hours) and expert knowledge. For larger models, this can cost anywhere from several thousand to tens of thousands of dollars—factoring in both infrastructure expenses and specialist time. Even fine-tuning a smaller model (e.g., GPT-3.5) via OpenAI’s API can incur significant costs, as it involves processing hundreds of thousands or even millions of tokens during training—billed according to the provider’s token pricing.</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-092f2e3 elementor-widget elementor-widget-text-editor" data-id="092f2e3" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><p><strong>Prompt Engineering:</strong> As an alternative or complement to training, you can craft tailored prompts and instructions for the model. While writing prompts itself doesn’t require paid resources, iteratively testing and refining multiple versions consumes tokens (which adds cost when using a cloud-based model) and takes up team time. This can be viewed as either an operational cost or a competence-related expense—specialist time is needed to optimize the model’s behavior for your specific use case.</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-b4d3407 elementor-widget elementor-widget-heading" data-id="b4d3407" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Operational Costs
</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-d96252c elementor-widget elementor-widget-text-editor" data-id="d96252c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>After deploying the model, ongoing operational costs come into play. These include monitoring the model’s performance, maintaining efficiency, logging results, applying updates, and fixing potential issues. If you&#8217;re using an API, the main operational <strong>cost</strong> <strong>will be the monthly bill for consumed tokens,</strong> along with any premium subscription fees (some providers offer subscription plans with usage limits or preferred pricing). If the model is hosted locally, operational costs typically include:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-15a5e0f elementor-widget elementor-widget-text-editor" data-id="15a5e0f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><p><strong>Electricity consumption</strong> – GPU-based models can consume significant amounts of power, leading to substantial monthly energy costs.</p></li><li><p><strong>System administration</strong> – Time spent by administrators on server maintenance, backups, and updating software components (e.g., AI libraries).</p></li><li><p><strong>Infrastructure scaling</strong> – As demand grows, additional machines or cloud instances may be needed, resulting in further expenses.</p></li><li><p><strong>High availability</strong> – If the LLM assistant needs to operate 24/7 without downtime, you may need to invest in redundant resources (e.g., backup servers) or enter into an SLA agreement with your cloud provider.</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-62dc195 elementor-widget elementor-widget-heading" data-id="62dc195" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Team Expertise
</h4>		</div>
				</div>
				<div class="elementor-element elementor-element-3d2c4a9 elementor-widget elementor-widget-text-editor" data-id="3d2c4a9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Implementing an LLM requires the right expertise within the IT/Data team. If your company lacks AI experience, it may be necessary to train existing employees or hire new specialists—such as an ML engineer or MLOps expert—which adds recruitment or training costs. Alternatively, some companies choose to work with external consultants or service providers to deploy the model. This also incurs costs, usually one-time project fees, which can be significant. It&#8217;s also important to account for the time your team spends integrating the model with existing systems (e.g., connecting it to a database or user-facing application). This is a labor cost that’s often overlooked in smaller projects but can have a major impact in practice.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-980dd92 elementor-widget elementor-widget-text-editor" data-id="980dd92" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The categories above show that the total cost of owning a dedicated LLM-based solution goes far beyond just the fee for accessing the model. It&#8217;s important to consider all these factors before making a decision. In the next section, we’ll look at specific numbers: how much a single prompt costs for various popular models, and what it would take to maintain a simple LLM assistant in two example business scenarios.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-aa5ede7 elementor-widget elementor-widget-spacer" data-id="aa5ede7" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-0acc8bb elementor-widget elementor-widget-heading" data-id="0acc8bb" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Cost of a Single Prompt in Popular LLM Models
</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-37ada92 elementor-widget elementor-widget-text-editor" data-id="37ada92" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Language models are typically billed based on the number of tokens processed. A token is a small piece of text—it may represent a single word or part of a word (for example, 1,000 tokens roughly equals 750 words of continuous text). API providers list prices per 1,000 or 1 million tokens.</p><p>Below is a comparison of the approximate cost to process 1,000 tokens using selected popular LLM models:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-94811ff elementor-widget elementor-widget-html" data-id="94811ff" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>LLM Model Comparison</title>
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap" rel="stylesheet">
  <style>
    body {
      font-family: 'Roboto', sans-serif;
      font-weight: 300;
      font-size: 14px;
      color: #1C244B;
    }
    table {
      width: 100%;
      border-collapse: collapse;
    }
    th, td {
      border: 1px solid #ccc;
      padding: 8px;
      vertical-align: top;
    }
    th {
      background-color: #f2f2f2;
    }
    td ul {
      margin: 0;
      padding-left: 18px;
    }
  </style>
</head>
<body>

<table>
  <thead>
    <tr>
      <th>LLM Model</th>
      <th>Access / License</th>
      <th>Cost per 1000 tokens</th>
      <th>Notes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GPT-3.5 Turbo (OpenAI)</td>
      <td>Cloud API (chat model available, e.g., in ChatGPT)</td>
      <td>$0.0015 (input)<br>$0.0020 (output)</td>
      <td>
        <ul>
          <li>Very low cost – 16k tokens + paid upgrade to 128k</li>
          <li>Good response quality</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>GPT-4 (8k)</td>
      <td>Cloud API (OpenAI)</td>
      <td>$0.08 (input)<br>$0.16 (output)</td>
      <td>High quality; high cost</td>
    </tr>
    <tr>
      <td>GPT-4 Turbo (128k)</td>
      <td>Cloud API (OpenAI)</td>
      <td>$0.01 (input)<br>$0.03 (output)</td>
      <td>
        <ul>
          <li>Reliable large context (up to 128k tokens)</li>
          <li>Cheaper (only slightly more than GPT-3.5)</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>Claude Instant v1.2</td>
      <td>Cloud API (Anthropic)</td>
      <td>$0.0008 (input)<br>$0.0024 (output)</td>
      <td>
        <ul>
          <li>Fast, lower-cost Claude model (equivalent to GPT-3.5)</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>Claude 2 (100k)</td>
      <td>Cloud API (Anthropic)</td>
      <td>$0.008 (input)<br>$0.024 (output)</td>
      <td>
        <ul>
          <li>High-quality model by Anthropic; context up to 100k tokens</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>Mistral 7B</td>
      <td>Open source (free model)</td>
      <td>Token cost: $0</td>
      <td>
        <ul>
          <li>Requires self-hosting</li>
          <li>Alternative to GPT-3.5 – low hardware requirements (can run with <1M tokens)</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>LLaMA 2 13B</td>
      <td>Open source (free model)</td>
      <td>Token cost: $0</td>
      <td>
        <ul>
          <li>Self-hosting required</li>
          <li>Needs stronger hardware (e.g., 2× 24GB GPU) than 7B, but still accessible for many companies</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>LLaMA 2 70B</td>
      <td>Open source (free model)</td>
      <td>Token cost: $0</td>
      <td>
        <ul>
          <li>Requires self-hosting</li>
          <li>Requires expensive infrastructure (e.g., 8× 80GB GPUs)</li>
          <li>At this scale, costs may match or even exceed GPT-4</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-6267324 elementor-widget elementor-widget-text-editor" data-id="6267324" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p class="" data-start="67" data-end="109"><strong data-start="67" data-end="109">Legend: How Token Costs Are Calculated</strong></p><ul><li style="list-style-type: none;"><ul data-start="111" data-end="248"><li class="" data-start="111" data-end="171"><p class="" data-start="113" data-end="171"><strong data-start="113" data-end="129">Input tokens</strong> – words contained in the user&#8217;s prompt.</p></li><li class="" data-start="172" data-end="248"><p class="" data-start="174" data-end="248"><strong data-start="174" data-end="191">Output tokens</strong> – words generated by the model in response (completion).</p></li></ul></li></ul><p class="" data-start="250" data-end="353">For most commercial providers, the cost is charged separately for input and output tokens. For example:</p><p class="" data-start="355" data-end="371"><strong data-start="355" data-end="371">GPT-4 Turbo:</strong></p><ul><li style="list-style-type: none;"><ul data-start="373" data-end="439"><li class="" data-start="373" data-end="406"><p class="" data-start="375" data-end="406">1,000 input tokens: <strong data-start="395" data-end="404">$0.03</strong></p></li><li class="" data-start="407" data-end="439"><p class="" data-start="409" data-end="439">1,000 output tokens: <strong data-start="430" data-end="439">$0.06</strong></p></li></ul></li></ul><p class="" data-start="441" data-end="557">If a dialogue contains a total of 1,000 tokens (e.g., 500 input + 500 output), the cost is approximately <strong data-start="546" data-end="556">$0.045</strong>.</p><p class="" data-start="559" data-end="652">For simplicity, you can assume that a full interaction of 1,000 tokens costs about <strong data-start="642" data-end="651">$0.09</strong>.</p><p class="" data-start="654" data-end="672"><strong data-start="654" data-end="672">By comparison:</strong></p><ul><li style="list-style-type: none;"><ul data-start="674" data-end="969" data-is-last-node="" data-is-only-node=""><li class="" data-start="674" data-end="777"><p class="" data-start="676" data-end="777"><strong data-start="676" data-end="693">GPT-3.5 Turbo</strong> – a similar 1,000-token dialogue costs only about <strong data-start="744" data-end="755">$0.0035</strong> (i.e., 0.35 cents).</p></li><li class="" data-start="778" data-end="969"><p class="" data-start="780" data-end="969"><strong data-start="780" data-end="802">Open-source models</strong> (e.g., Mistral, LLaMA) – token costs are <strong data-start="844" data-end="850">$0</strong>, since the models run locally. You only pay for infrastructure-related costs (power consumption, server uptime, etc.).</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-2c3b4b9 elementor-widget elementor-widget-text-editor" data-id="2c3b4b9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Open-source models (such as Mistral, LLaMA, etc.) are attractive because they come with no fees for the model itself—you can generate any number of tokens without paying the model provider a cent. However, to run these models, you need to maintain your own infrastructure. At a small scale, the cost of renting a machine for a single query may actually exceed the cost of an individual API call to a model like GPT. On the other hand, at a large scale—with many queries per day—open-source solutions can become significantly more cost-effective. In summary, cost-effectiveness depends on the use case, which we’ll explore in the next section.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-68c5cf5 elementor-widget elementor-widget-spacer" data-id="68c5cf5" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-eb32f74 elementor-widget elementor-widget-heading" data-id="eb32f74" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Example Costs of Implementing an LLM Assistant (100 Queries per Day)
</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-d65244a elementor-widget elementor-widget-text-editor" data-id="d65244a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Let’s now consider a practical scenario: your company wants to implement a simple LLM-based virtual assistant that performs one of the following tasks:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-54a353d elementor-widget elementor-widget-text-editor" data-id="54a353d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><p><strong>Document analysis</strong> – e.g., the assistant reads offers or contracts and extracts key information such as clauses, deadlines, and amounts.</p></li><li><p><strong>Customer inquiry handling</strong> – e.g., the assistant replies to customer emails with questions about pricing, product availability, technical support, etc.</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-e25102c elementor-widget elementor-widget-text-editor" data-id="e25102c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Let’s assume that:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-e1312ca elementor-widget elementor-widget-text-editor" data-id="e1312ca" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><p>The assistant will handle approximately <strong>100 interactions per day</strong>.</p></li><li><p>Each interaction consists of a <strong>prompt and a response</strong>, totaling around <strong>2,000 tokens</strong> (e.g., 1,000 tokens in the prompt—roughly 750 words or several paragraphs—and 1,000 tokens in the response, or about 750 generated words). This token size covers fairly complex queries and detailed replies.</p></li><li><p>On a monthly basis, the assistant will process around <strong>6 million tokens</strong> (3,000 interactions × 2,000 tokens = 6,000,000 tokens).</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-fd1201f elementor-widget elementor-widget-text-editor" data-id="fd1201f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>We want to compare the <strong>monthly operating costs</strong> of such an assistant depending on the choice of model and deployment approach. We&#8217;ll present two variants:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-405f91b elementor-widget elementor-widget-text-editor" data-id="405f91b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><p><strong>API Variant (Closed Model):</strong> We use a commercial model via an API (e.g., OpenAI GPT or Anthropic Claude). We don’t maintain our own servers—costs are limited to token usage, billed according to the provider’s pricing.</p></li><li><p><strong>Self-Hosted Variant (Open-Source Model):</strong> We use an open-source model (e.g., Mistral or LLaMA) deployed on our own servers. Costs include infrastructure needed to support approximately 100 queries per day—such as cloud GPU instance rental or hardware amortization, plus electricity.</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-0c96b1a elementor-widget elementor-widget-text-editor" data-id="0c96b1a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Below is a table comparing <strong>estimated monthly costs</strong> for several example models under both deployment variants, assuming <strong>6 million tokens per month</strong>:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-7d37b9a elementor-widget elementor-widget-html" data-id="7d37b9a" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Monthly LLM Cost Comparison</title>
  <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap" rel="stylesheet">
  <style>
    body {
      font-family: 'Roboto', sans-serif;
      font-weight: 300;
      font-size: 14px;
      color: #1C244B;
    }
    table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 20px;
    }
    th, td {
      border: 1px solid #ccc;
      padding: 8px;
      vertical-align: top;
    }
    th {
      background-color: #f2f2f2;
    }
    td ul {
      margin: 0;
      padding-left: 18px;
    }
  </style>
</head>
<body>

<table>
  <thead>
    <tr>
      <th>Model (variant)</th>
      <th>Estimated Monthly Cost</th>
      <th>Comment</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GPT-3.5 Turbo (API)</td>
      <td>approx. $18 (USD)</td>
      <td>
        <ul>
          <li>Very low cost for this quality level.</li>
          <li>Estimate: approx. $0.0027/1k tokens → $12 for generating 4M tokens + $6 for prompts → ~$18/month total.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>GPT-4 (8k) (API)</td>
      <td>approx. $270</td>
      <td>
        <ul>
          <li>Much higher cost for better quality.</li>
          <li>Example: 8M tokens → cost: 8M × $0.08/1k (input) + $0.16/1k (output) → $270–$540 monthly.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>GPT-4 Turbo (128k) (API)</td>
      <td>approx. $18</td>
      <td>
        <ul>
          <li>Slightly more expensive than GPT-3.5 due to cheaper input/output token pricing.</li>
          <li>May even deliver better quality than GPT-4 (8k).</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>Claude Instant (API)</td>
      <td>approx. $20–25</td>
      <td>
        <ul>
          <li>Comparable to GPT-3.5 in cost.</li>
          <li>Estimate: approx. $0.0021/1k tokens (input+output) → ~$18–25 for 8M tokens (plus potential flat fees).</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>Claude 2 (API)</td>
      <td>approx. $150–200</td>
      <td>
        <ul>
          <li>Cheaper than GPT-4, but still several times more expensive than GPT-3.5.</li>
          <li>Estimate: $0.032/1k tokens → ~$192 for 8M tokens.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>Mistral 7B (open source, self-hosted, 1x GPU)</td>
      <td>approx. $300</td>
      <td>
        <ul>
          <li>Cost mainly for maintaining server/GPU.</li>
          <li>Assumption: 1x 24GB GPU instance – model generates ~30–60 tokens/sec, power usage 100–150W.</li>
          <li>Actual cost depends on location and usage (electricity + server = ~$300–400/month).</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>LLaMA 2 70B (open source, self-hosted, multi-GPU)</td>
      <td>approx. $1,000+</td>
      <td>
        <ul>
          <li>High cost due to powerful GPU requirements.</li>
          <li>Typically requires at least 8×80GB GPUs (~$10k–12k hardware + high power consumption).</li>
          <li>Costs vary based on setup model (on-prem / cloud / GPU provider).</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>Local model (e.g., LLaMA 13B, GPTQ, Mistral 7B – CPU)</td>
      <td>approx. $300–500</td>
      <td>
        <ul>
          <li>Cost includes operation of local server.</li>
          <li>May be slower than GPT-3.5, but offers more privacy and control.</li>
          <li>For CPU instance (e.g., 12 cores, 64 GB RAM), monthly cost is mainly for electricity and maintenance.</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

</body>
</html>
		</div>
				</div>
				<div class="elementor-element elementor-element-c433e92 elementor-widget elementor-widget-text-editor" data-id="c433e92" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>From the above comparison, several key takeaways can be drawn:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-cdd2a41 elementor-widget elementor-widget-text-editor" data-id="cdd2a41" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Small-scale usage (100 queries/day) favors API solutions</strong></p><p>With relatively low query volume, using a commercial API (OpenAI, Anthropic) is highly cost-effective—especially with lower-priced models like GPT-3.5 or Claude Instant, where monthly costs can be as low as a few dozen dollars. For higher-end models, monthly costs may rise to several hundred dollars. Still, at this scale, running your own GPU server at $300+ per month would be less economical than relying on cloud-based APIs.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-e8cf4e9 elementor-widget elementor-widget-text-editor" data-id="e8cf4e9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Large-scale usage (thousands of queries) changes the equation</strong></p><p>If your assistant becomes successful and the number of queries increases by 10x or even 100x, the monthly API bill could grow to thousands or even tens of thousands of dollars. In such cases, investing in an open-source, self-hosted model starts to make financial sense.  With a high enough query volume, the <strong>per-request cost</strong> of running the model locally becomes lower than the API cost—since the purchased or rented hardware is being used more efficiently. In extreme cases of massive scale, some organizations may even consider training their own model from scratch—but this is typically reserved for the largest players with very substantial budgets.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-8d36cb0 elementor-widget elementor-widget-text-editor" data-id="8d36cb0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Use Case Matters (Quality vs. Cost Efficiency)</strong></p><p>Choosing the right model shouldn&#8217;t be based solely on cost—it also depends on the quality of output required for your use case. In a <strong>document analysis</strong> scenario, precision in extracting information is the top priority. A lower-cost or open-source model may be sufficient here, especially if fine-tuned to the task. A model with 7B–13B parameters can offer adequate performance at a much lower cost. Moreover, when processing <strong>sensitive documents</strong> (e.g., contracts), running the model locally ensures that the content never leaves your organization—an invaluable benefit from a legal and data privacy standpoint. On the other hand, in <strong>customer inquiry handling</strong>, where natural language quality, politeness, and contextual understanding are critical, <strong>GPT-4</strong> can significantly outperform smaller models. In this case, a company may find it worthwhile to pay more for superior customer experience.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-e71a8c1 elementor-widget elementor-widget-text-editor" data-id="e71a8c1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Hidden Costs Around the Project</strong></p><p>It&#8217;s important to note that the above calculations cover only the <strong>technical costs</strong>—such as token usage or infrastructure. In practice, there are also <strong>&#8220;soft&#8221; costs</strong> to consider, including staff time for preparing the implementation, integrating the model with systems like a CRM or knowledge base, testing, and ongoing iterations and improvements. For example, if the assistant needs to retrieve data from a company&#8217;s internal document repository, those documents often need to be <strong>organized or cleaned</strong> before they can be effectively used by the model.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-a572344 elementor-widget elementor-widget-spacer" data-id="a572344" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-2a1f46d elementor-widget elementor-widget-heading" data-id="2a1f46d" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Cost Example: AI Assistant for Analyzing Emails and PDF Documents
</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-f3e96de elementor-widget elementor-widget-text-editor" data-id="f3e96de" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Here we also present the cost breakdown of our assistant based on Google&#8217;s Gemini model, which we described [<a href="https://inero-software.com/meet-your-personal-ai-agent-a-case-study-for-a-freight-forwarding-company/">here</a>]. Its task is to automatically analyze incoming emails to identify insurance policies and extract key data from attached PDF documents—such as policy number, insured party address, or payment confirmation.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-149557e elementor-widget elementor-widget-text-editor" data-id="149557e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Average Token Count per Email:</strong></p><ul><li style="list-style-type: none;"><ul><li><p><strong>Input:</strong> 3,500 tokens</p></li><li><p><strong>Output:</strong> 220 tokens</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-6ac8e71 elementor-widget elementor-widget-text-editor" data-id="6ac8e71" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Analyzing 100 emails with attachments using the <strong>Gemini 2.0 Flash</strong> model costs approximately <strong>$1.50</strong>.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-6721885 elementor-widget elementor-widget-heading" data-id="6721885" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Summary</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-2655d3c elementor-widget elementor-widget-text-editor" data-id="2655d3c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>Can We Afford Our Own “ChatGPT” in the Company? </strong>As we&#8217;ve seen, the answer is: <strong>it depends</strong>—primarily on the scale of usage and quality requirements. The key lies in selecting a model and deployment method that aligns with your specific needs. An <strong>iterative approach</strong> is often the most practical: start with a lower-cost model or API, evaluate the results, and scale up to a more powerful model or self-hosted solution as the project matures. Regardless of the path you choose, <strong>careful planning and cost monitoring</strong> across all categories is essential. We hope this comparison helps you make informed decisions and prepare a realistic budget for implementing a dedicated LLM in your organization.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-ec198b5 elementor-widget elementor-widget-text-editor" data-id="ec198b5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>If you&#8217;re considering implementing an assistant in your company, it&#8217;s worth finding answers to the following questions:</strong></p>						</div>
				</div>
				<div class="elementor-element elementor-element-22bdc83 elementor-widget elementor-widget-text-editor" data-id="22bdc83" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><p>Do I need high-quality responses (e.g., GPT-4), or is an approximate answer sufficient (e.g., Claude Haiku, Gemini Flash)?</p></li><li><p>Am I processing sensitive data (e.g., customer documents)?</p></li><li><p>Do I have an IT team capable of hosting a model in-house?</p></li><li><p>What is the expected number of queries per day/month?</p></li><li><p>Is it more cost-effective to maintain my own infrastructure, or should I pay for API access?</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-f145f07 elementor-widget elementor-widget-text-editor" data-id="f145f07" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>For small to medium-scale applications, the cost of using a dedicated LLM can be quite reasonable. Thanks to cloud-based services, it’s possible to get started for just a few dozen dollars per month with models like GPT-3.5 or Claude Instant—an excellent option for experimentation and early prototypes. If you need top-tier performance, such as what GPT-4 offers, you&#8217;ll need to account for higher costs. However, even a few hundred dollars per month can be justified if the business value is significant—for example, by automating tasks that would otherwise require many hours of manual work.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-b80a60d elementor-widget elementor-widget-text-editor" data-id="b80a60d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>On the other hand, for large companies planning intensive AI use, costs can grow exponentially—making it worth considering open-source options and greater investment in in-house infrastructure. Open models like LLaMA or Mistral offer freedom from per-token fees, but shift the cost burden to hardware and staffing. They become cost-effective when operating at scale or when <strong>full control over data</strong> is a top priority.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-65aa533 elementor-cta--skin-cover elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="65aa533" data-element_type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
					<a class="elementor-cta" href="https://inero-software.com/contact-us/">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://inero-software.com/wp-content/uploads/2025/02/cta-AI2-1030x579.png);" role="img" aria-label="cta AI2"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						Looking to Bring AI Tools into Your Company?					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						We offer comprehensive technology support in the field of artificial intelligence and AI agents.
Tell us about your idea!
					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
					<span class="elementor-cta__button elementor-button elementor-size-">
						Contact Us					</span>
					</div>
							</div>
						</a>
				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/llm-implementation-and-maintenance-costs-for-businesses-a-detailed-breakdown/">LLM Implementation and Maintenance Costs for Businesses: A Detailed Breakdown</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7981</post-id>	</item>
		<item>
		<title>Chatbot, Agent or AI Assistant? Find Out Which Solution Is Best for Your Business</title>
		<link>https://inero-software.com/chatbot-agent-or-ai-assistant-find-out-which-solution-is-best-for-your-business/</link>
		
		<dc:creator><![CDATA[Marta Kuprasz]]></dc:creator>
		<pubDate>Thu, 08 May 2025 08:57:21 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[AI development]]></category>
		<category><![CDATA[AI innovations]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[BusinessProcessesOptimization]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[Large Language Model]]></category>
		<category><![CDATA[LLM]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=7947</guid>

					<description><![CDATA[<p>Artificial intelligence and Large Language Models are buzzwords heard in nearly every industry. Many companies are wondering how to use them safely and which solution will be the most effective. There are plenty of options—and they’re often hard to tell apart. In this article, we break them down in a clear and easy-to-understand way.</p>
<p>Artykuł <a href="https://inero-software.com/chatbot-agent-or-ai-assistant-find-out-which-solution-is-best-for-your-business/">Chatbot, Agent or AI Assistant? Find Out Which Solution Is Best for Your Business</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="7947" class="elementor elementor-7947" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-c1eecc3 e-flex e-con-boxed e-con e-parent" data-id="c1eecc3" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a23440b elementor-widget elementor-widget-html" data-id="a23440b" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			 		</div>
				</div>
				<div class="elementor-element elementor-element-5054636 elementor-widget elementor-widget-text-editor" data-id="5054636" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h4>Artificial intelligence and Large Language Models are buzzwords heard in nearly every industry. Many companies are wondering how to use them safely and which solution will be the most effective. There are plenty of options—and they’re often hard to tell apart. In this article, we break them down in a clear and easy-to-understand way.</h4>						</div>
				</div>
				<div class="elementor-element elementor-element-ef953eb elementor-widget elementor-widget-text-editor" data-id="ef953eb" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>AI can take on many roles in a company—as a chatbot, assistant, agent, data analysis tool, content generator, or knowledge search engine. So how can you choose the solution that best fits your employees’ needs? It helps to understand what each option has to offer.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-3d8a982 elementor-widget elementor-widget-heading" data-id="3d8a982" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Chatbot – answers questions, provides explanations, and handles requests
</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-9aafe69 elementor-widget elementor-widget-text-editor" data-id="9aafe69" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>This is the most common use of AI in areas such as customer service and sales. An AI chatbot based on a large language model, such as ChatGPT, can hold natural conversations, understand the context of inquiries, and deliver accurate answers—24/7, in multiple languages, and without human involvement.</p><p> </p><p>These solutions are typically implemented on websites, in messaging platforms (like Messenger or WhatsApp), or within helpdesk systems, where they assist with answering questions, tracking orders, or providing product information. As a result, they significantly automate customer service, reduce operational costs, and improve customer satisfaction ratings.</p><p> </p><p>For the purposes of this article, we define a chatbot as an AI interface primarily intended for external users—in other words, it operates “outside the company.” This definition distinguishes it from AI agents, which perform more complex tasks within internal processes by integrating with systems, databases, or APIs.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-67e3688 elementor-widget elementor-widget-image" data-id="67e3688" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" width="1030" height="408" src="https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-1030x408.png" class="attachment-large size-large wp-image-7936" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-1030x408.png 1030w, https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-300x119.png 300w, https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-768x304.png 768w, https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-1536x609.png 1536w, https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-757x300.png 757w, https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226.png 1832w" sizes="(max-width: 1030px) 100vw, 1030px" data-attachment-id="7936" data-permalink="https://inero-software.com/pl/chatbot-agent-czy-asystent-ai-sprawdz-ktore-rozwiazanie-najlepiej-sprawdzi-sie-w-twoim-biznesie/zrzut-ekranu-2025-05-06-122226/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226.png" data-orig-size="1832,726" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="Zrzut ekranu 2025-05-06 122226" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-300x119.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/05/Zrzut-ekranu-2025-05-06-122226-1030x408.png" role="button" />													</div>
				</div>
				<div class="elementor-element elementor-element-fb8d9b1 elementor-widget elementor-widget-text-editor" data-id="fb8d9b1" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><a href="https://www.incone60.eu/seastat">https://www.incone60.eu/seastat</a></p><p> </p>						</div>
				</div>
				<div class="elementor-element elementor-element-5fb00e5 elementor-widget elementor-widget-spacer" data-id="5fb00e5" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-70e37da elementor-widget elementor-widget-heading" data-id="70e37da" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">AI Agent – a tool designed to carry out specific tasks</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-ae7ea10 elementor-widget elementor-widget-text-editor" data-id="ae7ea10" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p class="" data-start="0" data-end="327">Unlike a chatbot, which interacts with external users, an AI agent operates within the organization and supports employees by automating specific business processes. It’s not a one-size-fits-all tool—it’s built with a clearly defined purpose in mind, such as document processing, data analysis, or integration with ERP systems.</p><p data-start="0" data-end="327"> </p><p class="" data-start="329" data-end="590">Thanks to large language models like Gemini or Claude, an AI agent can understand context, make decisions, and trigger specific actions—without human input. It can run in the background, process data from multiple sources, manage files, or handle email inboxes. Each AI agent is tailored to the company’s individual needs and specific tasks. Only then can it offer real value instead of becoming just another generic tool.</p><p class="" data-start="754" data-end="930">Want to see how this works in practice?</p><p class="" data-start="754" data-end="930"><br data-start="793" data-end="796" />Check out our case study:<a href="https://inero-software.com/meet-your-personal-ai-agent-a-case-study-for-a-freight-forwarding-company/"> Meet your personal AI agent-a case study for a freight forwarding company</a> – where we describe how we built an agent integrated with an email inbox.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-272f47a elementor-widget__width-initial elementor-widget elementor-widget-video" data-id="272f47a" data-element_type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/youtu.be\/B4VxxjWYzDM&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
					<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-a535da1 elementor-widget elementor-widget-spacer" data-id="a535da1" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-a575c44 elementor-widget elementor-widget-heading" data-id="a575c44" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">AI Assistant – supports users in daily work by operating contextually and “in the background”</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-ddbd088 elementor-widget elementor-widget-text-editor" data-id="ddbd088" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Unlike a chatbot that answers questions or an agent that automates a specific process, an AI assistant is a tool that works alongside employees in real time—it understands context, suggests next steps, and makes tasks easier within familiar applications.</p><p> </p><p>It’s typically integrated into a specific work environment, such as a word processor, spreadsheet, CRM, or project management tool. The assistant doesn’t replace the user—it actively supports them in making decisions, writing, analyzing data, or planning.</p><p> </p><p>AI assistants like GitHub Copilot, Notion AI, or Google’s Workspace assistant show how this technology can genuinely boost team productivity and reduce time spent on routine tasks. From a business perspective, a well-designed assistant can improve work quality, reduce errors, and make onboarding new employees easier.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-ebf3d14 elementor-widget elementor-widget-spacer" data-id="ebf3d14" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-823b953 elementor-widget elementor-widget-heading" data-id="823b953" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Other Business Applications of Large Language Models</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-767d863 elementor-widget elementor-widget-text-editor" data-id="767d863" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The possibilities go far beyond chatbots, assistants, or agents. These models can take on specialized roles, supporting tasks such as document processing, data analysis, or content creation. They’re increasingly used to automatically summarize reports, extract information from unstructured sources (like emails, PDFs, or scanned forms), or answer natural-language questions based on internal documentation.</p><p> </p><p>LLMs can also assist marketing teams by generating suggestions for ad copy, product descriptions, or sales messages tailored to the company’s style. In analytics departments, they provide faster access to data—generating database queries, interpreting results, and presenting insights in a way that’s easy for non-technical users to understand. These applications often don’t require building a new tool from scratch, but rather integrating the AI model into existing company systems. This way, the technology supports specific tasks—right where it’s needed.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-0a9debf elementor-widget elementor-widget-spacer" data-id="0a9debf" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-3481b69 elementor-widget elementor-widget-heading" data-id="3481b69" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">AI Models and Data Security
</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-5be148c elementor-widget elementor-widget-text-editor" data-id="5be148c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Business owners and managers still approach AI tools with caution, mainly because they’re unsure how to ensure the security and confidentiality of processed data. We’ve explored these topics in previous publications that are worth reviewing.</p><p> </p><p>In the article <em>“</em><a href="https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/" rel="bookmark"><strong>AI User Privacy: An Analysis of Platform Policies</strong></a><em>”</em>, we outlined the data privacy and model training policies followed by major AI providers such as OpenAI, Google Gemini, Microsoft’s Azure OpenAI, and Anthropic’s Claude.</p><p> </p><p>For those considering an on-premise solution, we recommend the blog post <em>“</em><strong><a href="https://inero-software.com/top-lightweight-llms-for-local-deployment/" rel="bookmark">Top Lightweight LLMs for Local Deployment</a></strong><em>”</em> There, we reviewed several top open-source lightweight LLMs and explained how to run them on a local Windows machine—even with limited GPU resources.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-b40d87c elementor-widget elementor-widget-text-editor" data-id="b40d87c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Choosing the right AI tool for your company depends primarily on the goal it’s meant to achieve. A chatbot works best where quick and accessible customer service is key. An AI agent can automate repetitive internal processes and improve information flow between systems. An AI assistant provides day-to-day support for employees—offering suggestions, summaries, or preparing data for further use.</p><p> </p><p>Large language models also allow integration with existing processes—without the need to build a dedicated tool from scratch. However, implementing AI-based technology requires a well-thought-out decision, taking into account both efficiency and data security. If you&#8217;re looking to adopt AI in your company and need an experienced partner to guide you through the process, get in touch with us.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-d041a5c elementor-cta--skin-cover elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="d041a5c" data-element_type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
					<a class="elementor-cta" href="https://inero-software.com/contact-us/">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://inero-software.com/wp-content/uploads/2025/03/cta-1903-1030x579.png);" role="img" aria-label="cta 1903"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						Bring AI into Your Business					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						We provide professional consulting and end-to-end implementation of tools based on large language models.
					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
					<span class="elementor-cta__button elementor-button elementor-size-">
						Contact Us					</span>
					</div>
							</div>
						</a>
				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/chatbot-agent-or-ai-assistant-find-out-which-solution-is-best-for-your-business/">Chatbot, Agent or AI Assistant? Find Out Which Solution Is Best for Your Business</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7947</post-id>	</item>
		<item>
		<title>AI User Privacy: An Analysis of Platform Policies</title>
		<link>https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/</link>
		
		<dc:creator><![CDATA[Martyna Mul]]></dc:creator>
		<pubDate>Wed, 30 Apr 2025 08:35:35 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[AI development]]></category>
		<category><![CDATA[AI innovations]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Gemini]]></category>
		<category><![CDATA[Large Language Model]]></category>
		<category><![CDATA[LLM]]></category>
		<category><![CDATA[Privacy Policies]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=7890</guid>

					<description><![CDATA[<p>In this article, we’ll break down the data privacy policies of top AI platforms. You will also learn what to do to ensure your data is not used for training Large Language Models (LLM).</p>
<p>Artykuł <a href="https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/">AI User Privacy: An Analysis of Platform Policies</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="7890" class="elementor elementor-7890" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-bc35505 e-flex e-con-boxed e-con e-parent" data-id="bc35505" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-44ba7b6 elementor-widget elementor-widget-html" data-id="44ba7b6" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			 		</div>
				</div>
				<div class="elementor-element elementor-element-23d3d65 elementor-widget elementor-widget-text-editor" data-id="23d3d65" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h4>Ever wondered where your data goes when you interact with AI cloud platforms? Or is it used to train future models? In this article, we’ll break down the data privacy policies of top AI platforms. You will also learn what to do to ensure your data is not used for training Large Language Models (LLM).</h4>						</div>
				</div>
				<div class="elementor-element elementor-element-18af7ef elementor-widget elementor-widget-text-editor" data-id="18af7ef" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Major AI cloud providers have become increasingly transparent about their data usage policies &#8211; especially when it comes to training models. While most platforms, particularly those offering enterprise-level services, do not use your inputs and outputs for training by default, the fine print matters. Understanding how these services handle your data &#8211; and how you can maintain control &#8211; is essential.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-e8dd97a elementor-widget elementor-widget-text-editor" data-id="e8dd97a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>In this article, we’ll break down the data privacy and model training policies of top AI platforms, including OpenAI, Google Gemini, Microsoft’s Azure OpenAI and Anthropic’s Claude. You’ll learn:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-33a2f78 elementor-widget elementor-widget-text-editor" data-id="33a2f78" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li>How AI platforms use your data and whether your data is used to train models by default</li><li>How to prevent AI from using your data opt, if needed</li><li>Where your data is stored (data residency), and</li><li>What compliance measures (like GDPR) apply</li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-291cb3e elementor-widget elementor-widget-text-editor" data-id="291cb3e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Adopting AI isn’t just about prompt engineering or model performance. It’s also about knowing where your data goes—and how to ensure it stays under your control.</p><p><strong>Here’s what you need to know:</strong></p>						</div>
				</div>
				<div class="elementor-element elementor-element-ecb1c2a elementor-widget elementor-widget-spacer" data-id="ecb1c2a" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-2add4a6 elementor-widget elementor-widget-heading" data-id="2add4a6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">OpenAI – Data Usage and Privacy</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-cb6fb79 elementor-widget elementor-widget-text-editor" data-id="cb6fb79" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>OpenAI treats your data differently based on how you interact with its services:</p><p><strong>ChatGPT App (Web/Mobile)</strong></p><p>When you chat with ChatGPT, your conversations may be used to train AI models &#8211; unless you manually opt out. To prevent your data from being used:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-01b1f1c elementor-widget elementor-widget-text-editor" data-id="01b1f1c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li>Go to Settings → Data Controls → Improve the model for everyone and toggle it off.</li><li>Even with the opt-out, OpenAI stores chats for 30 days for abuse monitoring before deletion.</li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-1fb6e1a elementor-widget elementor-widget-image" data-id="1fb6e1a" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" data-attachment-id="7897" data-permalink="https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/image-2-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/image-2-1.png" data-orig-size="602,407" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image (2)" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/image-2-1-300x203.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/image-2-1.png" tabindex="0" role="button" width="602" height="407" src="https://inero-software.com/wp-content/uploads/2025/04/image-2-1.png" class="attachment-large size-large wp-image-7897" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/04/image-2-1.png 602w, https://inero-software.com/wp-content/uploads/2025/04/image-2-1-300x203.png 300w, https://inero-software.com/wp-content/uploads/2025/04/image-2-1-444x300.png 444w" sizes="(max-width: 602px) 100vw, 602px" data-attachment-id="7897" data-permalink="https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/image-2-2/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/image-2-1.png" data-orig-size="602,407" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image (2)" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/image-2-1-300x203.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/image-2-1.png" role="button" />													</div>
				</div>
				<div class="elementor-element elementor-element-422566b elementor-widget elementor-widget-heading" data-id="422566b" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">OpenAI API and ChatGPT Enterprise</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-0be90ca elementor-widget elementor-widget-text-editor" data-id="0be90ca" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>If you&#8217;re a developer or a business using <strong>OpenAI&#8217;s API</strong> or <strong>ChatGPT Enterprise</strong>, there’s no need to opt out. By default, <strong>OpenAI does not use API or Enterprise data to train its models</strong>, and <strong>your data stays private</strong>. You don’t need to do anything to opt out &#8211; it’s already protected. You can choose to share data to help improve the model, but only if you want to.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-d497044 elementor-widget elementor-widget-heading" data-id="d497044" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h4 class="elementor-heading-title elementor-size-default">Data Residency  </h4>		</div>
				</div>
				<div class="elementor-element elementor-element-bd96e19 elementor-widget elementor-widget-text-editor" data-id="bd96e19" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span data-contrast="auto">OpenAI’s servers are mostly based in the </span><strong>United States</strong><span data-contrast="auto"><strong>,</strong> and currently, if you&#8217;re using the API directly, </span><strong>you can’t choose where your data is stored</strong><span data-contrast="auto"><strong>.</strong> That means your data is processed within OpenAI’s own infrastructure &#8211; protected by strong security, but </span><strong>not necessarily hosted in your country. </strong></p><p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><p><span data-contrast="auto">However, there’s some progress for enterprise users. OpenAI recently introduced an option for </span><strong>eligible enterprise API</strong><b><span data-contrast="auto"> customers</span></b><span data-contrast="auto"> that allows data to be stored in </span><strong>Europe</strong><span data-contrast="auto">, provided there’s a specific agreement in place.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><p><strong>If regional data residency</strong><span data-contrast="auto"> is important for your business &#8211; say, for GDPR or internal compliance &#8211; you might want to consider using </span><strong>Azure OpenAI</strong><span data-contrast="auto">, which hosts OpenAI’s models on Microsoft’s cloud. With Azure, you can choose a region like </span><strong>Western Europe or Asia</strong><span data-contrast="auto"><strong>,</strong> and all data processing and storage will stay within that geography.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><p><span data-contrast="auto">We’ll dive into Azure more in the next section &#8211; but in short: </span><strong>OpenAI handles your data securely</strong><span data-contrast="auto">, but for strict control over </span><i><span data-contrast="auto">where</span></i><span data-contrast="auto"> it lives, </span><b><span data-contrast="auto">a</span></b><strong> partner cloud service like Azure may be a better fit. </strong></p>						</div>
				</div>
				<div class="elementor-element elementor-element-5c3e1ec elementor-widget elementor-widget-spacer" data-id="5c3e1ec" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-0a6231f elementor-widget elementor-widget-heading" data-id="0a6231f" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Google (Gemini) – Google’s Approach to Your Data </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-c7c8d68 elementor-widget elementor-widget-text-editor" data-id="c7c8d68" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span data-contrast="auto">Google’s foray into generative AI includes </span><strong>Gemini</strong><span data-contrast="auto">, a next-generation model that powers products like Google Gemini (the chatbot) and various enterprise AI offerings on Google Cloud. Here&#8217;s how they handle your data:</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p><p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p><h5><b><span data-contrast="auto">Gemini App</span></b><span data-ccp-props="{}"> </span></h5><div><span data-ccp-props="{}"> </span></div><p><strong>By default, Google does save your Gemini chat history to your account (much like search history) and may use it to improve their service. However, Google provides a “Gemini Activity” setting to control this</strong><span data-contrast="auto"><strong>.</strong> </span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p><p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p><p><span data-contrast="auto">To manage this:</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-83c9f69 elementor-widget elementor-widget-text-editor" data-id="83c9f69" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="auto">Visit </span><strong>Gemini Activity</strong><span data-contrast="auto"> settings.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><span data-contrast="auto">Pause Gemini Activity to stop saving chats and prevent them from being used in </span><strong>AI model training data sources. </strong></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto">You can also delete existing conversation history.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-13a61aa elementor-widget elementor-widget-text-editor" data-id="13a61aa" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><a href="https://support.google.com/gemini/answer/13594961#your_data"><span class="TextRun Underlined SCXW259565000 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW259565000 BCX0" data-ccp-charstyle="Hyperlink">T</span></span><span class="TextRun Underlined SCXW259565000 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW259565000 BCX0" data-ccp-charstyle="Hyperlink">urning off </span><span class="NormalTextRun SCXW259565000 BCX0" data-ccp-charstyle="Hyperlink">Gemini</span></span><span class="TextRun Underlined SCXW259565000 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW259565000 BCX0" data-ccp-charstyle="Hyperlink"> Activity</span></span></a><span class="TextRun SCXW259565000 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW259565000 BCX0"> means </span></span><span class="TextRun SCXW259565000 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW259565000 BCX0">your new chats </span><span class="NormalTextRun SCXW259565000 BCX0">won’t</span><span class="NormalTextRun SCXW259565000 BCX0"> be used to improve the</span><span class="NormalTextRun SCXW259565000 BCX0">ir</span> <span class="NormalTextRun SCXW259565000 BCX0">machine learning services</span></span><span class="TextRun SCXW259565000 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW259565000 BCX0">, nor will they be seen by human reviewers, </span><span class="NormalTextRun SCXW259565000 BCX0">unless</span><span class="NormalTextRun SCXW259565000 BCX0"> you explicitly </span><span class="NormalTextRun SCXW259565000 BCX0">submit</span><span class="NormalTextRun SCXW259565000 BCX0"> them as feedback. This gives regular us</span><span class="NormalTextRun SCXW259565000 BCX0">ers a way </span><span class="NormalTextRun SCXW259565000 BCX0">to opt out, </span><span class="NormalTextRun SCXW259565000 BCX0">similar to</span><span class="NormalTextRun SCXW259565000 BCX0"> ChatGPT’s opt-out toggle.</span></span><span class="EOP SCXW259565000 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-cb94ad1 elementor-widget elementor-widget-image" data-id="cb94ad1" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" data-attachment-id="7901" data-permalink="https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/image-1/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/image-1.png" data-orig-size="712,332" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image (1)" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/image-1-300x140.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/image-1.png" tabindex="0" role="button" width="712" height="332" src="https://inero-software.com/wp-content/uploads/2025/04/image-1.png" class="attachment-large size-large wp-image-7901" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/04/image-1.png 712w, https://inero-software.com/wp-content/uploads/2025/04/image-1-300x140.png 300w, https://inero-software.com/wp-content/uploads/2025/04/image-1-643x300.png 643w" sizes="(max-width: 712px) 100vw, 712px" data-attachment-id="7901" data-permalink="https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/image-1/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/image-1.png" data-orig-size="712,332" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="image (1)" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/image-1-300x140.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/image-1.png" role="button" />													</div>
				</div>
				<div class="elementor-element elementor-element-e57f550 elementor-widget elementor-widget-text-editor" data-id="e57f550" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW161006688 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW161006688 BCX0">To stop saving your conversations, go to the </span></span><span class="TextRun SCXW161006688 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW161006688 BCX0">Activity </span></span><span class="TextRun SCXW161006688 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW161006688 BCX0">tab and toggle </span></span><span class="TextRun SCXW161006688 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW161006688 BCX0">Gemini Apps Activity</span></span><span class="TextRun SCXW161006688 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW161006688 BCX0">. </span><span class="NormalTextRun SCXW161006688 BCX0">You can also </span><span class="NormalTextRun SCXW161006688 BCX0">delete</span><span class="NormalTextRun SCXW161006688 BCX0"> your past conversations.</span></span><span class="EOP SCXW161006688 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-ca02a5a elementor-widget elementor-widget-heading" data-id="ca02a5a" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h5 class="elementor-heading-title elementor-size-default">API and Vertex AI </h5>		</div>
				</div>
				<div class="elementor-element elementor-element-73c636b elementor-widget elementor-widget-text-editor" data-id="73c636b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW147481227 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW147481227 BCX0">If </span><span class="NormalTextRun SCXW147481227 BCX0">you’re</span><span class="NormalTextRun SCXW147481227 BCX0"> using Google Cloud’s </span></span><span class="TextRun SCXW147481227 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW147481227 BCX0">Vertex AI</span></span><span class="TextRun SCXW147481227 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW147481227 BCX0"> platform:</span></span><span class="EOP SCXW147481227 BCX0" data-ccp-props="{}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-5da483c elementor-widget elementor-widget-text-editor" data-id="5da483c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="5" data-aria-level="1"><span data-contrast="auto">Your prompts and outputs are </span><strong>not used to train AI models</strong><span data-contrast="auto"> without explicit permission.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="6" data-aria-level="1"><span data-contrast="auto">Data may be cached briefly (up to 24 hours) for performance but remains within your selected geographic region.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="7" data-aria-level="1"><span data-contrast="auto">Businesses can opt for a </span><strong>zero-retention policy</strong><span data-contrast="auto"> for maximum privacy.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-15e5fa7 elementor-widget elementor-widget-heading" data-id="15e5fa7" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h5 class="elementor-heading-title elementor-size-default">Data residency  </h5>		</div>
				</div>
				<div class="elementor-element elementor-element-6769505 elementor-widget elementor-widget-text-editor" data-id="6769505" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW242043066 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW242043066 BCX0">Data residency is a strong point for Google: you can choose which geographic region your AI service runs in (e.g. </span><span class="NormalTextRun SCXW242043066 BCX0">EU or U</span><span class="NormalTextRun SCXW242043066 BCX0">S data </span><span class="NormalTextRun SpellingErrorV2Themed SCXW242043066 BCX0">centers</span><span class="NormalTextRun SCXW242043066 BCX0">), and Google will process and store data in that region to meet any data localization requirements.</span></span><span class="EOP SCXW242043066 BCX0" data-ccp-props="{}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-dffefeb elementor-widget elementor-widget-spacer" data-id="dffefeb" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-e7c3b12 elementor-widget elementor-widget-heading" data-id="e7c3b12" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Microsoft Azure OpenAI – Enterprise Data Protection by Design </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-36c3a52 elementor-widget elementor-widget-heading" data-id="36c3a52" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h5 class="elementor-heading-title elementor-size-default">Training Policy </h5>		</div>
				</div>
				<div class="elementor-element elementor-element-657a095 elementor-widget elementor-widget-text-editor" data-id="657a095" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span data-contrast="auto">Microsoft’s Azure OpenAI Service lets companies use OpenAI’s models through the trusted Azure cloud platform. </span><strong>Privacy is a major selling point here</strong><span data-contrast="auto"><strong>.</strong> Microsoft is very explicit: </span><strong>any data you send into Azure OpenAI is not used to train the underlying models</strong><span data-contrast="auto"> or improve Microsoft’s or OpenAI’s services</span><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true}"> .</span></p><p><span data-ccp-props="{&quot;134245418&quot;:true,&quot;134245529&quot;:true}"> </span></p><p><span data-contrast="none">Microsoft’s Azure OpenAI Service essentially hosts OpenAI’s models (GPT-4, GPT-3.5, etc.) within the Microsoft Azure cloud. Microsoft has specifically designed this service for enterprises that require strong privacy protections. Key aspects are:</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-96820b8 elementor-widget elementor-widget-text-editor" data-id="96820b8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">Any data you input into Azure OpenAI – prompts, completions (model outputs), embeddings, fine-tuning data – is not used to train the AI models. </span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">Your inputs and outputs “are NOT available to other customers, are NOT available to OpenAI, and are NOT used to improve OpenAI models”. </span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><span data-contrast="none">Microsoft only retains data as needed to provide the service and monitor for misuse. In fact, prompts and outputs on Azure are stored only temporarily (up to 30 days) by default, and solely for abuse detection purposes. After 30 days, those prompts are deleted. If even this temporary storage is a concern (say, for ultra-sensitive data), Microsoft offers a process called “modified abuse monitoring” where you can request that even the 30-day storage be bypassed, meaning no prompts are retained at all. Typically, you’d need approval for this exception, but it’s an option for high-security scenarios.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-5e2b615 elementor-widget elementor-widget-heading" data-id="5e2b615" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h5 class="elementor-heading-title elementor-size-default">Data Residency </h5>		</div>
				</div>
				<div class="elementor-element elementor-element-82ccf7d elementor-widget elementor-widget-text-editor" data-id="82ccf7d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW93588553 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW93588553 BCX0">Because </span><span class="NormalTextRun SCXW93588553 BCX0">it’s</span><span class="NormalTextRun SCXW93588553 BCX0"> on Azure, you also </span><span class="NormalTextRun SCXW93588553 BCX0">benefit</span><span class="NormalTextRun SCXW93588553 BCX0"> from easily choosing the region and </span><span class="NormalTextRun SCXW93588553 BCX0">complying with</span><span class="NormalTextRun SCXW93588553 BCX0"> data residency requirements. When setting up Azure OpenAI, you deploy the service to an Azure region (for example, East US, West Europe, Southeast Asia, etc.). All processing and data storage for inference will occur within that region or its geographical boundary. So, if you deploy in Western Europe, your data </span><span class="NormalTextRun SCXW93588553 BCX0">isn’t</span><span class="NormalTextRun SCXW93588553 BCX0"> leaving Europe </span><span class="NormalTextRun SCXW93588553 BCX0">&#8211;</span><span class="NormalTextRun SCXW93588553 BCX0"> crucial for GDPR compliance. Azure itself meets </span><span class="NormalTextRun SCXW93588553 BCX0">numerous</span><span class="NormalTextRun SCXW93588553 BCX0"> compliance standards (SOC 2, ISO 27001, </span><span class="NormalTextRun SCXW93588553 BCX0">etc.)</span><span class="NormalTextRun SCXW93588553 BCX0">, and these extend to Azure OpenAI as an Azure service.</span></span><span class="EOP SCXW93588553 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-cea2902 elementor-widget elementor-widget-spacer" data-id="cea2902" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-0013609 elementor-widget elementor-widget-heading" data-id="0013609" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Anthropic (Claude) – A Privacy-First AI Assistant </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-6f1b8b4 elementor-widget elementor-widget-heading" data-id="6f1b8b4" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h5 class="elementor-heading-title elementor-size-default">Training Policy </h5>		</div>
				</div>
				<div class="elementor-element elementor-element-988001e elementor-widget elementor-widget-text-editor" data-id="988001e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW126360551 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW126360551 BCX0">Anthropic, the company behind the Claude AI assistant (Claude 2 and newer versions), has emphasized a privacy-conscious approach from the outset. </span><span class="NormalTextRun SCXW126360551 BCX0">Anthropic adopts an opt-in approach:</span></span><span class="EOP SCXW126360551 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-3f7e219 elementor-widget elementor-widget-text-editor" data-id="3f7e219" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="7" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><span data-contrast="none">By default, Anthropic does not use your conversations or data to train its models. This applies to both their commercial offerings (</span><a href="https://privacy.anthropic.com/en/collections/10663361-commercial-customers"><span data-contrast="none">Claude for Work, Anthropic API</span></a><span data-contrast="none">)</span> <span data-contrast="none">and consumer products (Claude Free, Claude Pro)</span> <span data-contrast="none">– your prompts and Claude’s responses aren’t automatically used for model training. </span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="7" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><span data-contrast="none">They only use data if you deliberately opt-in, such as by providing explicit feedback. For instance, if you click a thumbs-up/down in a Claude interface or send data to their feedback channels, you’re essentially saying “you can learn from this”.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-00d6994 elementor-widget elementor-widget-text-editor" data-id="00d6994" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW11925797 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW11925797 BCX0">For enterprise clients, Anthropic offers Claude Team/Enterprise, which not only guarantees no training on your data but also provides admin controls. One such feature is custom data retention settings. By default, Anthropic’s systems might </span><span class="NormalTextRun SCXW11925797 BCX0">retain</span><span class="NormalTextRun SCXW11925797 BCX0"> your inputs/outputs indefinitely for your account (though not for training). However, Claude Enterprise admins can set a retention policy – for example, you might set it to </span><span class="NormalTextRun SCXW11925797 BCX0">delete</span><span class="NormalTextRun SCXW11925797 BCX0"> all conversation data after 30 days, 60 days, etc., with 30 days being the current minimum. These controls aim to support compliance with regulations like GDPR.</span></span><span class="EOP SCXW11925797 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-5a24ccc elementor-widget elementor-widget-heading" data-id="5a24ccc" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h5 class="elementor-heading-title elementor-size-default">Data Residency  </h5>		</div>
				</div>
				<div class="elementor-element elementor-element-3cf1dac elementor-widget elementor-widget-text-editor" data-id="3cf1dac" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW47979688 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW47979688 BCX0">Anthropic is a newer player, and currently, when you use their API directly, you </span><span class="NormalTextRun SCXW47979688 BCX0">don’t</span><span class="NormalTextRun SCXW47979688 BCX0"> explicitly choose a data region – </span><span class="NormalTextRun SCXW47979688 BCX0">it’s</span> <span class="NormalTextRun SCXW47979688 BCX0">likely hosted</span><span class="NormalTextRun SCXW47979688 BCX0"> in the US by Anthropic (or </span><span class="NormalTextRun SCXW47979688 BCX0">possibly through</span><span class="NormalTextRun SCXW47979688 BCX0"> cloud providers like AWS in the US region). However, Anthropic models are also available through partners, which can help with data residency. For example, Anthropic’s Claude is offered via Amazon Bedrock (AWS’s AI service) and via Google Cloud Vertex AI. If you use Claude through one of these platforms, you can take advantage of AWS’s or Google’s region controls.</span></span><span class="EOP SCXW47979688 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:0,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-a2a60c8 elementor-widget elementor-widget-spacer" data-id="a2a60c8" data-element_type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
					<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
				</div>
				</div>
				<div class="elementor-element elementor-element-de688f7 elementor-widget elementor-widget-heading" data-id="de688f7" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Conclusion </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-9f1b51c elementor-widget elementor-widget-text-editor" data-id="9f1b51c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span data-contrast="auto">Understanding the </span><strong>data collection practices of LLM providers</strong><span data-contrast="auto"> is crucial for<b> </b></span><strong>AI compliance</strong><span data-contrast="auto">, customer trust, and corporate governance. Whether you&#8217;re focused on compliance, customer trust, or internal data governance, these insights help you make informed decisions. Choose providers that align with your privacy values &#8211; and always review your settings.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><p><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><p><span data-contrast="auto">Here&#8217;s a comparison of major platforms:</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-4597621 elementor-widget elementor-widget-html" data-id="4597621" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<style>
  table {
    width: 100%;
    border-collapse: collapse;
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 14px;
    color: #1C244B;
  }
  th, td {
    border: 1px solid #ccc;
    padding: 8px;
    text-align: left;
    vertical-align: top;
  }
  th {
    background-color: #f2f2f2;
  }
  a {
    color: #1C244B;
    text-decoration: underline;
  }
</style>

<table>
  <thead>
    <tr>
      <th>Provider</th>
      <th>Default Data Training</th>
      <th>Web App Setting</th>
      <th>Data Residency Options</th>
      <th>GDPR/CCPA Compliance</th>
      <th>Privacy Policy</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>OpenAI</td>
      <td>No (API)</td>
      <td>Opt-out available</td>
      <td>No; (unless used via Azure Microsoft)</td>
      <td>Yes</td>
      <td><a href="https://openai.com/policies/privacy-policy" target="_blank">Consumer privacy</a></td>
    </tr>
    <tr>
      <td>Google</td>
      <td>No (Cloud + Gemini)</td>
      <td>No training by default</td>
      <td>Broad region control</td>
      <td>Yes</td>
      <td>
        <a href="https://policies.google.com/privacy" target="_blank">Enterprise privacy</a>, 
        <a href="https://www.google.com/intl/en_us/gemini/privacy" target="_blank">Gemini privacy</a>, 
        <a href="https://cloud.google.com/vertex-ai/docs/general/privacy-overview" target="_blank">Vertex AI</a>
      </td>
    </tr>
    <tr>
      <td>Azure</td>
      <td>No</td>
      <td>N/A</td>
      <td>Full regional control</td>
      <td>Yes</td>
      <td><a href="https://privacy.microsoft.com/en-us/privacystatement" target="_blank">Azure, OpenAI privacy</a></td>
    </tr>
    <tr>
      <td>Anthropic</td>
      <td>No</td>
      <td>No training by default</td>
      <td>No (unless used via partners)</td>
      <td>Yes</td>
      <td>
        <a href="https://www.anthropic.com/legal/privacy" target="_blank">API users</a>, 
        <a href="https://claude.ai/privacy" target="_blank">Claude.ai users</a>
      </td>
    </tr>
  </tbody>
</table>
		</div>
				</div>
				<div class="elementor-element elementor-element-5234314 elementor-widget elementor-widget-text-editor" data-id="5234314" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW227920897 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW227920897 BCX0">For maximum privacy and control, </span></span><span class="TextRun SCXW227920897 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW227920897 BCX0"><b>local deployment</b></span></span><span class="TextRun SCXW227920897 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW227920897 BCX0"><b> </b>(on-premises models) is always an alternative. This avoids cloud storage concerns entirely.</span><span class="NormalTextRun SCXW227920897 BCX0"> You can read more about local deployment </span></span><a class="Hyperlink SCXW227920897 BCX0" href="https://inero-software.com/deploying-llms-locally-a-guide-to-ollama-and-lm-studio/" target="_blank" rel="noreferrer noopener"><span class="TextRun Underlined SCXW227920897 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW227920897 BCX0" data-ccp-charstyle="Hyperlink">here</span></span></a><span class="TextRun SCXW227920897 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW227920897 BCX0">.</span></span><span class="EOP SCXW227920897 BCX0" data-ccp-props="{}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-7c7244d elementor-cta--skin-cover elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="7c7244d" data-element_type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
					<div class="elementor-cta">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://inero-software.com/wp-content/uploads/2025/03/cta-1903-1030x579.png);" role="img" aria-label="cta 1903"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						Let's talk about AI agents 					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						Ready to bring AI into your business? Let us help you get started.					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
					<a class="elementor-cta__button elementor-button elementor-size-" href="https://inero-software.com/contact-us/">
						Contact us					</a>
					</div>
							</div>
						</div>
				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/ai-user-privacy-an-analysis-of-platform-policies/">AI User Privacy: An Analysis of Platform Policies</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7890</post-id>	</item>
		<item>
		<title>Top Lightweight LLMs for Local Deployment</title>
		<link>https://inero-software.com/top-lightweight-llms-for-local-deployment/</link>
		
		<dc:creator><![CDATA[Martyna Mul]]></dc:creator>
		<pubDate>Thu, 17 Apr 2025 09:50:46 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[AI development]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Large Language Model]]></category>
		<category><![CDATA[Lightweight LLMs]]></category>
		<category><![CDATA[LLM]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=7843</guid>

					<description><![CDATA[<p>In this post, we’ll explore several top open-source lightweight LLMs and how to run them on a local Windows PC—whether CPU-only or with a limited GPU—for document processing tasks. </p>
<p>Artykuł <a href="https://inero-software.com/top-lightweight-llms-for-local-deployment/">Top Lightweight LLMs for Local Deployment</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="7843" class="elementor elementor-7843" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-cc31ada e-flex e-con-boxed e-con e-parent" data-id="cc31ada" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2485c29 elementor-widget elementor-widget-html" data-id="2485c29" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
					</div>
				</div>
				<div class="elementor-element elementor-element-d3520b4 elementor-widget elementor-widget-text-editor" data-id="d3520b4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h5><strong><span class="TrackedChange SCXW35608661 BCX0"><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun TrackChangeDeleteHighlight SCXW35608661 BCX0">Running large language models (LLMs) on your own hardware has become increasingly </span></span></span><span class="TrackedChange SCXW35608661 BCX0"><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun TrackChangeDeleteHighlight SCXW35608661 BCX0">feasible</span></span></span><span class="TrackedChange SCXW35608661 BCX0"><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun TrackChangeDeleteHighlight SCXW35608661 BCX0"> thanks to </span></span></span><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW35608661 BCX0">lightweight LLMs</span><span class="NormalTextRun SCXW35608661 BCX0">—models w</span><span class="NormalTextRun SCXW35608661 BCX0">ith</span> <span class="NormalTextRun SCXW35608661 BCX0">relatively small</span><span class="NormalTextRun SCXW35608661 BCX0"> parameter counts that deliver </span><span class="NormalTextRun SCXW35608661 BCX0">strong performance</span><span class="NormalTextRun SCXW35608661 BCX0"> without requiring server-grade GPUs.</span><span class="NormalTextRun SCXW35608661 BCX0"> In this post, </span><span class="NormalTextRun SCXW35608661 BCX0">we’ll</span><span class="NormalTextRun SCXW35608661 BCX0"> explore several top open-source lightweight LLMs and how to run them on a local Windows PC—whether CPU-only or with a limited GPU—for document processing tasks.</span> </span><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW35608661 BCX0">We also include a </span></span><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW35608661 BCX0">benchmark comparing the models</span></span><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW35608661 BCX0"> in terms of </span></span><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW35608661 BCX0">accuracy and inference speed</span></span><span class="TextRun SCXW35608661 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW35608661 BCX0">, helping you choose the right model for your local environment and use case.</span></span><span class="EOP SCXW35608661 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:299,&quot;335559739&quot;:299}"> </span></strong></h5>						</div>
				</div>
				<div class="elementor-element elementor-element-10359f9 elementor-widget elementor-widget-heading" data-id="10359f9" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">What Are Lightweight LLMs (and Why Run Them Locally)? </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-621d40f elementor-widget elementor-widget-text-editor" data-id="621d40f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW177302101 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW177302101 BCX0">“Lightweight” LLMs are models typically in the range of ~1–8 billion parameters – far smaller than GPT-3 class models – often optimized to run on a single GPU or even CPU. They are usually released as open models with freely available weights. These models trade some raw power for efficiency, but recent research and clever engineering (better data, distilled training, efficient attention mechanisms, etc.) have dramatically improved their capabilities. Many can now match or beat much larger models on specific benchmarks</span><span class="NormalTextRun SCXW177302101 BCX0">.</span></span><span class="EOP SCXW177302101 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-81497fe elementor-widget elementor-widget-text-editor" data-id="81497fe" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span data-contrast="auto">Local deployment of such models is valuable for several reasons:</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><strong>Privacy &amp; Security:</strong><span data-contrast="auto"> All data stays on your machine, which is crucial for confidential documents like insurance contracts. You’re not sending sensitive text to a third-party API.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><strong>Cost Savings:</strong><span data-contrast="auto"> Once downloaded, local models run </span><strong>for free</strong><span data-contrast="auto"> – no API usage fees or cloud compute bills. This can make a big difference if you process large volumes of documents regularly.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><strong>Latency &amp; Offline Access:</strong><span data-contrast="auto"> Local inference eliminates network latency. Responses can be near-instant on a GPU, and you can operate entirely offline. This is useful for on-site workflows or when internet access is restricted.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><strong>Customization:</strong><span data-contrast="auto"> With local models you have full control – you can adjust parameters, prompts, or fine-tune models to better fit your domain (e.g. insurance data) without vendor limits.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><p><span data-contrast="auto">In short, lightweight LLMs put AI capabilities directly in your hands, on hardware you own. Next, we’ll compare some of the leading open models that are well-suited for local document processing.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-6e958d1 elementor-widget elementor-widget-heading" data-id="6e958d1" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Comparing Top Lightweight LLMs </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-adbf2c8 elementor-widget elementor-widget-text-editor" data-id="adbf2c8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW101152181 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW101152181 BCX0">Lightweight open-source large language models (LLMs) are becoming a practical choice for organizations looking to run AI workloads locally. They offer a strong balance between performance, speed, and resource requirements—making them ideal for document summarization, extraction, and classification without relying on cloud infrastructure. </span></span><span class="EOP SCXW101152181 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-330c9fe e-flex e-con-boxed e-con e-parent" data-id="330c9fe" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-73949bc elementor-widget elementor-widget-text-editor" data-id="73949bc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span data-contrast="auto">We’ll focus on the following open-source models (each with downloadable checkpoints) that have a good reputation for quality relative to their size:</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-6703794 elementor-widget elementor-widget-text-editor" data-id="6703794" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li><strong>Llama 3.1</strong><span data-contrast="auto"> – 8B parameters (Meta AI)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li><li data-leveltext="-" data-font="Aptos" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><strong>StableLM Zephyr</strong><span data-contrast="auto"> – 3B parameters (Stability AI)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><strong>Llama 3.2</strong><span data-contrast="auto"> – 1B/3B parameters (Meta AI)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><strong>Mistral</strong><span data-contrast="auto"> – 7B parameters (Mistral AI)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="5" data-aria-level="1"><strong>Gemma 3</strong><span data-contrast="auto"> – 1B and 4B variants (Google DeepMind)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="6" data-aria-level="1"><strong>DeepSeek R1</strong><span data-contrast="auto"> – 1.5B and 7B variants (DeepSeek AI)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="7" data-aria-level="1"><strong>Phi-4 Mini</strong><span data-contrast="auto"> – 3.8B parameters (Microsoft)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="2" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="8" data-aria-level="1"><strong>TinyLlama</strong><span data-contrast="auto"> – 1.1B parameters (community project)</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-f98ca55 elementor-widget elementor-widget-text-editor" data-id="f98ca55" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><span data-contrast="auto">These models range from very small (under 1 GB on disk) to mid-sized (~5 GB). All can be run in inference mode on a 16 GB GPU (often even in half-precision or 4-bit quantized form) and many are workable on CPU with enough RAM and patience. Table 1 summarizes their characteristics:</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-71cd074 elementor-widget elementor-widget-html" data-id="71cd074" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<style>
  @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');

  .model-table {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 14px;
    color: #1C244B;
    border-collapse: collapse;
    width: 100%;
  }

  .model-table th, .model-table td {
    border: 1px solid #ccc;
    padding: 8px;
    text-align: left;
    color: #1C244B;
  }

  .model-table th {
    background-color: #f2f2f2;
  }
</style>

<table class="model-table">
  <thead>
    <tr>
      <th>Model</th>
      <th>Size on Disk (quantized)</th>
      <th>Max Context</th>
      <th>Licence</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Llama 3.1 (8B)</td>
      <td>4.9GB</td>
      <td>128k tokens</td>
      <td>Open-source</td>
    </tr>
    <tr>
      <td>StableLM Zephyr (3B)</td>
      <td>1.6GB</td>
      <td>4k tokens</td>
      <td>Only non-commercial use</td>
    </tr>
    <tr>
      <td>Llama 3.2 (3B)</td>
      <td>2.0GB</td>
      <td>128k tokens</td>
      <td>Open-source</td>
    </tr>
    <tr>
      <td>Mistral (7B)</td>
      <td>4.1GB</td>
      <td>32k tokens</td>
      <td>Open-source (Apache 2.0)</td>
    </tr>
    <tr>
      <td>Gemma 3 (4B)</td>
      <td>3.3GB</td>
      <td>128k tokens</td>
      <td>Open-source</td>
    </tr>
    <tr>
      <td>Gemma 3 (1B)</td>
      <td>0.8GB</td>
      <td>32k tokens</td>
      <td>Open-source</td>
    </tr>
    <tr>
      <td>DeepSeek R1 (7B)</td>
      <td>4.7GB</td>
      <td>128k tokens</td>
      <td>Open-source (MIT licence)</td>
    </tr>
    <tr>
      <td>DeepSeek R1 (1.5B)</td>
      <td>1.1GB</td>
      <td>128k tokens</td>
      <td>Open-source (MIT licence)</td>
    </tr>
    <tr>
      <td>Phi-4 Mini (3.8B)</td>
      <td>2.5GB</td>
      <td>128k tokens</td>
      <td>Open-source</td>
    </tr>
    <tr>
      <td>TinyLlama (1.1B)</td>
      <td>0.6GB</td>
      <td>2k tokens</td>
      <td>Open-source</td>
    </tr>
  </tbody>
</table>
		</div>
				</div>
				<div class="elementor-element elementor-element-55c06b4 elementor-widget elementor-widget-text-editor" data-id="55c06b4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h6><span class="TextRun SCXW254867370 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW254867370 BCX0">Table 1:</span></span><span class="TextRun SCXW254867370 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW254867370 BCX0"> Lightweight LLMs for local use – model sizes a</span><span class="NormalTextRun SCXW254867370 BCX0">nd</span> <span class="NormalTextRun SCXW254867370 BCX0">maximum</span><span class="NormalTextRun SCXW254867370 BCX0"> context windo</span><span class="NormalTextRun SCXW254867370 BCX0">w</span><span class="NormalTextRun SCXW254867370 BCX0">.</span></span><span class="EOP SCXW254867370 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></h6>						</div>
				</div>
				<div class="elementor-element elementor-element-58e51e9 elementor-widget elementor-widget-text-editor" data-id="58e51e9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><span class="TextRun SCXW7653520 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW7653520 BCX0">Notes:</span></span></strong><span class="TextRun SCXW7653520 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW7653520 BCX0"> “Max Context” is the maximum sequence length (tokens) the model can process in one go. </span></span><span class="EOP SCXW7653520 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-223eda5 elementor-widget elementor-widget-text-editor" data-id="223eda5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW99345828 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW99345828 BCX0">Next, </span><span class="NormalTextRun SCXW99345828 BCX0">let’s</span><span class="NormalTextRun SCXW99345828 BCX0"> look at each model’s </span></span><span class="TextRun SCXW99345828 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW99345828 BCX0">pros and cons</span></span><span class="TextRun SCXW99345828 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW99345828 BCX0">, especially in the context of document tasks:</span></span><span class="EOP SCXW99345828 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-7192f01 elementor-widget elementor-widget-text-editor" data-id="7192f01" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><strong>Llama 3.1 (8B)</strong><span data-contrast="auto"><strong>:</strong> Powerful general-purpose model; moderate size and strong multilingual capabilities. Heavy for CPU-only systems; requires chunking for long documents.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><strong>StableLM Zephyr (3B)</strong><span data-contrast="auto"><strong>:</strong> Ultra-lightweight, good for basic QA/extraction. Limited by small parameter count and commercial license restrictions.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><strong>Llama 3.2 (3B)</strong><span data-contrast="auto">: Excellent summarization and retrieval; long context support (128k tokens). Smaller size affects complex reasoning accuracy.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><strong>Mistral (7B)</strong><span data-contrast="auto"><strong>:</strong> Best overall performer for its size; highly efficient inference. Ideal for detailed summarization tasks.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="5" data-aria-level="1"><strong>Gemma 3 (4B/1B)</strong><span data-contrast="auto">: Offers multimodal capabilities and extensive multilingual support. The 4B model balances capability and speed; the 1B model best suited for simple tasks.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="6" data-aria-level="1"><strong>DeepSeek R1 (7B/1.5B)</strong><span data-contrast="auto">: Balanced efficiency and comprehension for general NLP tasks; limited complex reasoning compared to Mistral.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="7" data-aria-level="1"><strong>Phi-4 Mini (3.8B)</strong><span data-contrast="auto">: Exceptional reasoning, math, and logical capabilities; perfect for analytical document processing. English-focused.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="3" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559685&quot;:1080,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="8" data-aria-level="1"><strong>TinyLlama (1.1B)</strong><span data-contrast="auto">: Extremely lightweight; suitable for basic text extraction/classification tasks. Limited contextual understanding.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-906c9d8 elementor-widget elementor-widget-text-editor" data-id="906c9d8" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW259074413 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW259074413 BCX0">The models reviewed above cover a wide range of sizes and capabilities. Larger variants like Llama 3.1 and Mistral perform well on complex summarization and multilingual tasks but are less suited for CPU-only setups. Mid-sized models such as Llama 3.2 and Gemma 3 (4B) handle long inputs efficiently with reasonable performance. Smaller models, including </span><span class="NormalTextRun SpellingErrorV2Themed SCXW259074413 BCX0">TinyLlama</span><span class="NormalTextRun SCXW259074413 BCX0"> and </span><span class="NormalTextRun SpellingErrorV2Themed SCXW259074413 BCX0">StableLM</span><span class="NormalTextRun SCXW259074413 BCX0"> Zephyr, are lightweight and fast, making them practical for basic extraction or classification tasks.</span></span><span class="EOP SCXW259074413 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-013ecbc elementor-widget elementor-widget-heading" data-id="013ecbc" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Models Benchmarking: Document Extraction and Summarization </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-f583b4c elementor-widget elementor-widget-text-editor" data-id="f583b4c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW65580225 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW65580225 BCX0">Here we outline a simple </span><span class="NormalTextRun SCXW65580225 BCX0">model </span><span class="NormalTextRun SCXW65580225 BCX0">benchmarking plan covering t</span><span class="NormalTextRun SCXW65580225 BCX0">wo</span><span class="NormalTextRun SCXW65580225 BCX0"> common document-processing tasks:</span></span><span class="EOP SCXW65580225 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-236155a elementor-widget elementor-widget-text-editor" data-id="236155a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ol><li><strong> Information Extraction:</strong><span data-contrast="auto"> We evaluated how well each model can extract specific fields from a policy or certificate. Specifically, we prompted each model to find the </span><b><span data-contrast="auto">p</span></b><strong>olicy number, insured name</strong><span data-contrast="auto"><strong>,</strong> VAT ID, address and insurance period in the document text and return the structured output &#8211; clean JSON response with all the needed values.</span></li><li><strong> Summarization: </strong><span data-contrast="auto">Each model generated a concise summary of an insurance policy, covering key points such as coverage, exclusions, and conditions.We rated the summaries on clarity, correctness, factual accuracy and readability and penalized heavily fabricating information.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-02421da elementor-widget elementor-widget-text-editor" data-id="02421da" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun CommentStart SCXW43958002 BCX0">We used 11 document</span><span class="NormalTextRun SCXW43958002 BCX0">s</span><span class="NormalTextRun SCXW43958002 BCX0"> and</span><span class="NormalTextRun SCXW43958002 BCX0"> </span><span class="NormalTextRun SCXW43958002 BCX0">ran all t</span><span class="NormalTextRun SCXW43958002 BCX0">ests using </span></span><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SpellingErrorV2Themed SCXW43958002 BCX0">Ollama</span></span><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW43958002 BCX0"> <a href="https://inero-software.com/deploying-llms-locally-a-guide-to-ollama-and-lm-studio/">(</a></span><span class="NormalTextRun SCXW43958002 BCX0">you can read about </span><span class="NormalTextRun SCXW43958002 BCX0">running model with </span><span class="NormalTextRun SpellingErrorV2Themed SCXW43958002 BCX0">Ollama</span> <span class="NormalTextRun CommentStart SCXW43958002 BCX0">here</span><span class="NormalTextRun SCXW43958002 BCX0">)</span><span class="NormalTextRun SCXW43958002 BCX0">.</span><span class="NormalTextRun SCXW43958002 BCX0"> </span><span class="NormalTextRun SCXW43958002 BCX0">The benchmarks were performed on a PC equipped with an</span><span class="NormalTextRun SCXW43958002 BCX0"> NVIDIA </span><span class="NormalTextRun SCXW43958002 BCX0">GeForce RTX 2060 </span><span class="NormalTextRun SCXW43958002 BCX0">and </span><span class="NormalTextRun SCXW43958002 BCX0">6</span><span class="NormalTextRun SCXW43958002 BCX0"> GB </span><span class="NormalTextRun SCXW43958002 BCX0">V</span><span class="NormalTextRun SCXW43958002 BCX0">RAM.</span> <span class="NormalTextRun SCXW43958002 BCX0">To ensure consistent results, each model was run with </span></span><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW43958002 BCX0">temperature set to 0</span></span><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW43958002 BCX0"> for the extraction task (to produce deterministic outputs), and with a fixed </span></span><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW43958002 BCX0">temperature of 0.7</span></span><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW43958002 BCX0"> for summarization. For the extraction task, we also used </span></span><a class="Hyperlink SCXW43958002 BCX0" href="https://ollama.com/blog/structured-outputs" target="_blank" rel="noreferrer noopener"><span class="TextRun Underlined SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="none"><span class="NormalTextRun SCXW43958002 BCX0" data-ccp-charstyle="Hyperlink">structured outputs</span></span></a><span class="TextRun SCXW43958002 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW43958002 BCX0">:</span> </span><span class="EOP SCXW43958002 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:270}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-f1a279a elementor-widget elementor-widget-text-editor" data-id="f1a279a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<pre> <br /><br /><span data-contrast="none">{</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"model"</span><span data-contrast="none">: </span><span data-contrast="none">"deepseek-r1:7b"</span><span data-contrast="none">,</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"prompt"</span><span data-contrast="none">: </span><span data-contrast="none">"You are an assistant that extracts insurance-related information from a given input text. You must extract and return only the following fields: - policy_number,- insurance_period,- insured (company or person name),- nip (tax identification number),- address (of the insured). Return the output as a **clean JSON object** — not as a string, not inside quotes, and without any commentary. If a field is missing, use 'Not found'. Document text: "</span><span data-contrast="none">,</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:270}"> </span><br /><br /><span data-contrast="none">    </span><span data-contrast="none">"stream"</span><span data-contrast="none">: </span><b><span data-contrast="none">false</span></b><span data-contrast="none">,</span> <br /><span data-contrast="none">    </span><span data-contrast="none">"format"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">    </span><span data-contrast="none">"type"</span><span data-contrast="none">: </span><span data-contrast="none">"object"</span><span data-contrast="none">,</span> <br /><span data-contrast="none">    </span><span data-contrast="none">"properties"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"policy_number"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"type"</span><span data-contrast="none">: </span><span data-contrast="none">"string"</span> <br /><span data-contrast="none">      },</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insurance_period_start"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"type"</span><span data-contrast="none">: </span><span data-contrast="none">"string"</span> <br /><span data-contrast="none">      },</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insurance_period_end"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"type"</span><span data-contrast="none">: </span><span data-contrast="none">"string"</span> <br /><span data-contrast="none">      },</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insured"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"type"</span><span data-contrast="none">: </span><span data-contrast="none">"string"</span> <br /><span data-contrast="none">      },</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insured_nip"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"type"</span><span data-contrast="none">: </span><span data-contrast="none">"string"</span> <br /><span data-contrast="none">      },</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insured_address"</span><span data-contrast="none">: {</span> <br /><span data-contrast="none">        </span><span data-contrast="none">"type"</span><span data-contrast="none">: </span><span data-contrast="none">"string"</span> <br /><span data-contrast="none">      }</span> <br /><span data-contrast="none">    },</span> <br /><span data-contrast="none">    </span><span data-contrast="none">"required"</span><span data-contrast="none">: [</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"policy_number"</span><span data-contrast="none">,</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insurance_period_start"</span><span data-contrast="none">, </span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insurance_period_end"</span><span data-contrast="none">,</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insured"</span><span data-contrast="none">,</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insured_nip"</span><span data-contrast="none">,</span> <br /><span data-contrast="none">      </span><span data-contrast="none">"insured_address"</span> <br /><span data-contrast="none">    ]</span> <br /><span data-contrast="none">  }</span> <br /><span data-contrast="none">}</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335557856&quot;:16777215,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:270}"> </span></pre>						</div>
				</div>
				<div class="elementor-element elementor-element-a6fbca0 elementor-widget elementor-widget-image" data-id="a6fbca0" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" data-attachment-id="7846" data-permalink="https://inero-software.com/top-lightweight-llms-for-local-deployment/attachment/111553/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/111553.png" data-orig-size="1154,649" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="111553" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/111553-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/111553-1030x579.png" tabindex="0" role="button" width="1030" height="579" src="https://inero-software.com/wp-content/uploads/2025/04/111553-1030x579.png" class="attachment-large size-large wp-image-7846" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/04/111553-1030x579.png 1030w, https://inero-software.com/wp-content/uploads/2025/04/111553-300x169.png 300w, https://inero-software.com/wp-content/uploads/2025/04/111553-768x432.png 768w, https://inero-software.com/wp-content/uploads/2025/04/111553-533x300.png 533w, https://inero-software.com/wp-content/uploads/2025/04/111553.png 1154w" sizes="(max-width: 1030px) 100vw, 1030px" data-attachment-id="7846" data-permalink="https://inero-software.com/top-lightweight-llms-for-local-deployment/attachment/111553/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/111553.png" data-orig-size="1154,649" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="111553" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/111553-300x169.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/111553-1030x579.png" role="button" />													</div>
				</div>
				<div class="elementor-element elementor-element-c923f73 elementor-widget elementor-widget-text-editor" data-id="c923f73" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h6><span class="TextRun SCXW85460195 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW85460195 BCX0">Examples of insurance </span><span class="NormalTextRun SCXW85460195 BCX0">certifacates</span><span class="NormalTextRun SCXW85460195 BCX0">.</span></span><span class="EOP SCXW85460195 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></h6>						</div>
				</div>
				<div class="elementor-element elementor-element-e9e7e62 elementor-widget elementor-widget-text-editor" data-id="e9e7e62" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong><span class="TextRun SCXW36022441 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW36022441 BCX0">The table below presents the benchmark results.</span></span></strong> <span class="TextRun SCXW36022441 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW36022441 BCX0">Extraction accuracy</span></span><span class="TextRun SCXW36022441 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW36022441 BCX0"> refers to the number of documents (out of 11) where the model successfully extracted all key fields. </span></span><span class="TextRun SCXW36022441 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW36022441 BCX0">Token/sec</span></span><span class="TextRun SCXW36022441 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"> <span class="NormalTextRun SCXW36022441 BCX0">indicates</span><span class="NormalTextRun SCXW36022441 BCX0"> the model’s inference speed — how quickly it generates responses.</span></span><span class="EOP SCXW36022441 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-e5f35c8 elementor-widget elementor-widget-html" data-id="e5f35c8" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			<style>
  @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap');

  .model-table {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 14px;
    color: #1C244B;
    border-collapse: collapse;
    width: 100%;
  }

  .model-table th, .model-table td {
    border: 1px solid #ccc;
    padding: 8px;
    text-align: left;
    color: #1C244B;
  }

  .model-table th {
    background-color: #f2f2f2;
  }

  .green-bg {
    background-color: #DFF0D8;
  }

  .red-bg {
    background-color: #F2DEDE;
  }
</style>

<table class="model-table">
  <thead>
    <tr>
      <th>Model</th>
      <th>Summarization</th>
      <th>Extraction Accuracy</th>
      <th>Tokens/sec</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Llama 3.1 (8B)</td>
      <td class="green-bg">High-quality, no hallucinations</td>
      <td>10/11</td>
      <td>13.49</td>
    </tr>
    <tr>
      <td>StableLM 3B</td>
      <td class="red-bg">Average quality, typos/hallucinations</td>
      <td>4/11</td>
      <td>56.51</td>
    </tr>
    <tr>
      <td>Llama 3.2 (3B)</td>
      <td class="green-bg">Concise yet comprehensive summary, no hallucinations</td>
      <td>8/11</td>
      <td>49.49</td>
    </tr>
    <tr>
      <td>Mistral 7B</td>
      <td>Extensive summary, factually correct</td>
      <td>8/11</td>
      <td>29.01</td>
    </tr>
    <tr>
      <td>Gemma 3 4B</td>
      <td class="green-bg">Concise yet comprehensive summary, no hallucinations</td>
      <td>10/11</td>
      <td>13.37</td>
    </tr>
    <tr>
      <td>Gemma 3 1B</td>
      <td class="green-bg">Concise yet comprehensive summary, no hallucinations</td>
      <td>4/11</td>
      <td>73.46</td>
    </tr>
    <tr>
      <td>DeepSeek 7B</td>
      <td class="green-bg">Concise yet comprehensive summary, no hallucinations</td>
      <td>6/11</td>
      <td>16.39</td>
    </tr>
    <tr>
      <td>DeepSeek 1.5B</td>
      <td class="red-bg">Very poor, frequent hallucinations/errors</td>
      <td>0/11</td>
      <td>66.45</td>
    </tr>
    <tr>
      <td>Phi-4 Mini 3.8B</td>
      <td>Very concise summaries, factually correct</td>
      <td>9/11</td>
      <td>39.31</td>
    </tr>
    <tr>
      <td>TinyLlama 1.1B</td>
      <td class="red-bg">Poor quality, severe hallucinations</td>
      <td>2/11</td>
      <td>107.34</td>
    </tr>
  </tbody>
</table>
		</div>
				</div>
				<div class="elementor-element elementor-element-4f30579 elementor-widget elementor-widget-text-editor" data-id="4f30579" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h6><span class="TextRun SCXW220458249 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW220458249 BCX0">Table 2: </span><span class="NormalTextRun SCXW220458249 BCX0">B</span><span class="NormalTextRun SCXW220458249 BCX0">enchmarking results.</span></span><span class="TextRun SCXW220458249 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW220458249 BCX0"> </span></span><span class="EOP SCXW220458249 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></h6>						</div>
				</div>
				<div class="elementor-element elementor-element-1046393 elementor-widget elementor-widget-image" data-id="1046393" data-element_type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
													<img loading="lazy" decoding="async" data-attachment-id="7847" data-permalink="https://inero-software.com/top-lightweight-llms-for-local-deployment/lightweight-llm-scatterplot/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot.png" data-orig-size="1968,1180" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="lightweight-llm-scatterplot" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-300x180.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-1030x618.png" tabindex="0" role="button" width="1030" height="618" src="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-1030x618.png" class="attachment-large size-large wp-image-7847" alt="" srcset="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-1030x618.png 1030w, https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-300x180.png 300w, https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-768x460.png 768w, https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-1536x921.png 1536w, https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-500x300.png 500w, https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot.png 1968w" sizes="(max-width: 1030px) 100vw, 1030px" data-attachment-id="7847" data-permalink="https://inero-software.com/top-lightweight-llms-for-local-deployment/lightweight-llm-scatterplot/" data-orig-file="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot.png" data-orig-size="1968,1180" data-comments-opened="0" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="lightweight-llm-scatterplot" data-image-description="" data-image-caption="" data-medium-file="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-300x180.png" data-large-file="https://inero-software.com/wp-content/uploads/2025/04/lightweight-llm-scatterplot-1030x618.png" role="button" />													</div>
				</div>
				<div class="elementor-element elementor-element-704e9c5 elementor-widget elementor-widget-text-editor" data-id="704e9c5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW241422309 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW241422309 BCX0">This scatterplot visualizes the </span></span><span class="TextRun SCXW241422309 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW241422309 BCX0">trade-off between extraction accuracy and inference speed</span></span><span class="TextRun SCXW241422309 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW241422309 BCX0"> (measured in tokens per second)</span></span><span class="EOP SCXW241422309 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-5527166 elementor-widget elementor-widget-text-editor" data-id="5527166" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span data-contrast="auto">The benchmarking results reveal significant variations among the tested models. </span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559685&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><strong>Bottom-right</strong><span data-contrast="auto"> models &#8211; </span><strong>Llama 3.1 (8B), Gemma 3 (4B)</strong><span data-contrast="auto">, and </span><strong>Phi-4 Mini (3.8B)</strong> <span data-contrast="auto">&#8211; </span><span data-contrast="auto">excel in summarization quality and extraction accuracy, consistently providing concise and accurate outputs. Phi-4 Mini seems to offer a good trade-off between speed and accuracy.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><strong>Mistral 7B, DeepSeek 7B, Llama 3.2</strong><span data-contrast="auto"> generate detailed and informative summaries, though their extraction performance is more moderate.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="-" data-font="Aptos" data-listid="6" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Aptos&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;-&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><span data-contrast="auto">On the other hand, </span><strong>smaller models</strong> <span data-contrast="auto">(on the top-left side of the chart) like </span><strong><i>StableLM Zephyr (3B), Gemma 3 (1B)</i> and <i>TinyLlama</i></strong><i><span data-contrast="auto"> (1.1B)</span></i><span data-contrast="auto"> show significantly weaker extraction accuracy and are prone to frequent hallucinations. However, they benefit from faster inference times. Their limited context windows (e.g., 4k tokens) may contribute to these shortcomings. Overall, they may be suitable for only very basic tasks.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-1ac20ae elementor-widget elementor-widget-heading" data-id="1ac20ae" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Choosing the Right Model for Your Needs </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-11e1bfc elementor-widget elementor-widget-text-editor" data-id="11e1bfc" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW204701935 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW204701935 BCX0">When selecting a language model for document extraction or summarization, </span><span class="NormalTextRun SCXW204701935 BCX0">it’s</span><span class="NormalTextRun SCXW204701935 BCX0"> all about balancing </span></span><span class="TextRun SCXW204701935 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW204701935 BCX0">accuracy</span></span><span class="TextRun SCXW204701935 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW204701935 BCX0">, </span></span><span class="TextRun SCXW204701935 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW204701935 BCX0">speed</span></span><span class="TextRun SCXW204701935 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW204701935 BCX0">, and </span></span><span class="TextRun SCXW204701935 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW204701935 BCX0">hardware constraints</span></span><span class="TextRun SCXW204701935 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW204701935 BCX0">. Below is a quick breakdown to help you pick the best fit—whether you need high precision, fast inference, or something lightweight for basic tasks.</span></span><span class="EOP SCXW204701935 BCX0" data-ccp-props="{}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-689718c elementor-widget elementor-widget-text-editor" data-id="689718c" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1"><strong>High Accuracy &amp; Reasonable Speed:</strong><span data-contrast="auto"> Choose </span><strong>Phi-4 Mini (3.8B), Gemma 3 (4B)</strong><span data-contrast="auto">, or </span><strong>Llama 3.1 (8B)</strong><span data-contrast="auto"> for robust extraction and summarization accuracy.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="2" data-aria-level="1"><strong>Fast Inference &amp; Moderate Accuracy:</strong><span data-contrast="auto"> Opt for </span><strong>Llama 3.2 (3B)</strong><span data-contrast="auto"> or </span><strong>StableLM Zephyr (3B)</strong><span data-contrast="auto"> for simpler tasks on limited hardware.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="3" data-aria-level="1"><strong>Balanced Performance (Accuracy-Speed Tradeoff): Mistral (7B)</strong><span data-contrast="auto"> provides strong general-purpose capability suitable for detailed document summarization tasks.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul><ul><li style="list-style-type: none;"><ul><li data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&quot;335552541&quot;:1,&quot;335559683&quot;:0,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}" aria-setsize="-1" data-aria-posinset="4" data-aria-level="1"><strong>Low Resource Environments (Basic Tasks):</strong><span data-contrast="auto"> Consider </span><strong>TinyLlama (1.1B)</strong><span data-contrast="auto"> for quick extraction or classification on minimal hardware if accuracy isn&#8217;t critical.</span><span data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-ee4c212 elementor-widget elementor-widget-heading" data-id="ee4c212" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Conclusion </h3>		</div>
				</div>
				<div class="elementor-element elementor-element-510ec3a elementor-widget elementor-widget-text-editor" data-id="510ec3a" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><span class="TextRun SCXW44846787 BCX0" lang="EN-GB" xml:lang="EN-GB" data-contrast="auto"><span class="NormalTextRun SCXW44846787 BCX0">Lightweight LLMs are increasingly </span><span class="NormalTextRun SCXW44846787 BCX0">viable</span><span class="NormalTextRun SCXW44846787 BCX0"> solutions for local deployment, particularly in document-intensive industries such as insurance. Models such as Phi-4 Mini, Gemma 3 (4B), and Mistral 7B provide </span><span class="NormalTextRun SCXW44846787 BCX0">strong performance</span><span class="NormalTextRun SCXW44846787 BCX0"> in summarization, extraction, and classification tasks. Carefully balancing model size, inference speed, and accuracy ensures </span><span class="NormalTextRun SCXW44846787 BCX0">optimal</span><span class="NormalTextRun SCXW44846787 BCX0"> outcomes, empowering organizations with affordable, private, and responsive AI solutions directly on owned hardware.</span></span><span class="EOP SCXW44846787 BCX0" data-ccp-props="{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;335551550&quot;:0,&quot;335551620&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:240}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-8874a86 elementor-cta--skin-cover elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="8874a86" data-element_type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
					<a class="elementor-cta" href="https://inero-software.com/optimization-of-back-office-processes-with-ai-agent-implementation-a-practical-example/">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://inero-software.com/wp-content/uploads/2025/03/cta-1903-1030x579.png);" role="img" aria-label="cta 1903"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						This might interest you					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						Optimization of Back-Office Processes with AI Agent Implementation: A Practical Example					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
					<span class="elementor-cta__button elementor-button elementor-size-">
						Read the full text					</span>
					</div>
							</div>
						</a>
				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/top-lightweight-llms-for-local-deployment/">Top Lightweight LLMs for Local Deployment</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7843</post-id>	</item>
		<item>
		<title>How to Prepare Your Company for AI Agent Implementation</title>
		<link>https://inero-software.com/how-to-prepare-your-company-for-ai-agent-implementation/</link>
		
		<dc:creator><![CDATA[Marta Kuprasz]]></dc:creator>
		<pubDate>Tue, 08 Apr 2025 08:45:46 +0000</pubDate>
				<category><![CDATA[AI]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Company]]></category>
		<category><![CDATA[Ai agent]]></category>
		<category><![CDATA[AI development]]></category>
		<category><![CDATA[AI innovations]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[BusinessProcessesOptimization]]></category>
		<category><![CDATA[LLM]]></category>
		<guid isPermaLink="false">https://inero-software.com/?p=7741</guid>

					<description><![CDATA[<p>This article explains what to focus on before deploying an AI agent, which areas of the business need to be well-prepared, and how to avoid common mistakes.</p>
<p>Artykuł <a href="https://inero-software.com/how-to-prepare-your-company-for-ai-agent-implementation/">How to Prepare Your Company for AI Agent Implementation</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="7741" class="elementor elementor-7741" data-elementor-post-type="post">
				<div class="elementor-element elementor-element-baa7356 e-flex e-con-boxed e-con e-parent" data-id="baa7356" data-element_type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e8f2a57 elementor-widget elementor-widget-html" data-id="e8f2a57" data-element_type="widget" data-widget_type="html.default">
				<div class="elementor-widget-container">
			 		</div>
				</div>
				<div class="elementor-element elementor-element-a583053 elementor-widget elementor-widget-text-editor" data-id="a583053" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<h4>Implementing an AI agent in a company is not only a technological challenge but also a strategic one. As more businesses consider using artificial intelligence in their daily operations—from customer service to document analysis—successful implementation requires careful planning. This article explains what to focus on before deploying an AI agent, which areas of the business need to be well-prepared, and how to avoid common mistakes.</h4>						</div>
				</div>
				<div class="elementor-element elementor-element-068de27 elementor-widget elementor-widget-text-editor" data-id="068de27" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>There are many areas where AI can be helpful. From automating routine tasks, supporting customer service and data analysis, to streamlining decision-making processes and creating intelligent assistants that support team workflows. The potential is enormous—but the key lies in properly preparing the organization for this change.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-37b67aa elementor-widget elementor-widget-heading" data-id="37b67aa" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Stages of AI Assistant Implementation</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-42d1b2e elementor-widget elementor-widget-text-editor" data-id="42d1b2e" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The process of implementing an AI assistant in an organization can be divided into several stages, each requiring specific actions. From analyzing business needs, selecting the right language model, and preparing the infrastructure, to integrating with existing systems and testing—each step impacts the overall effectiveness of the solution.</p><p>The key stages are:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-10d35ec elementor-widget elementor-widget-text-editor" data-id="10d35ec" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ol><li data-leveltext="%1." data-font="" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1">Needs analysis and readiness assessment</li><li data-leveltext="%1." data-font="" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1">Data and content preparation</li><li data-leveltext="%1." data-font="" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1">Solution design</li><li data-leveltext="%1." data-font="" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1">Assistant development and configuration</li><li data-leveltext="%1." data-font="" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1">Testing and pilot phase</li><li data-leveltext="%1." data-font="" data-listid="1" data-list-defn-props="{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;multilevel&quot;}" aria-setsize="-1" data-aria-posinset="1" data-aria-level="1">Deployment and maintenance</li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-bc457df elementor-widget elementor-widget-heading" data-id="bc457df" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Needs analysis and readiness assessment</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-52ccfa0 elementor-widget elementor-widget-text-editor" data-id="52ccfa0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>To ensure the best results from implementing an AI agent, start by asking yourself: which tasks and areas have the most potential for optimization through the use of artificial intelligence?</p>						</div>
				</div>
				<div class="elementor-element elementor-element-2092bd9 elementor-widget elementor-widget-text-editor" data-id="2092bd9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>When looking for an answer to this question, it’s worth carefully analyzing your company’s current structure, processes, and employee responsibilities. This will help identify so-called “bottlenecks” that may affect the quality of services provided. These might include, for example:</p><ul><li style="list-style-type: none;"><ul><li><p>long response times to quote requests</p></li><li><p>teams overloaded with routine tasks</p></li><li><p>lack of consistency in customer communication</p></li><li><p>manual processing of documents and data</p></li><li><p>difficulties in quickly accessing internal company knowledge</p></li></ul></li></ul>						</div>
				</div>
				<div class="elementor-element elementor-element-bb5fac4 elementor-widget elementor-widget-text-editor" data-id="bb5fac4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Based on this analysis, you’ll be able to identify areas for improvement as well as the people who will directly benefit from the support of AI assistants.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-9a37800 elementor-widget elementor-widget-text-editor" data-id="9a37800" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The second area that should be reviewed is the existing infrastructure. Implementing an AI assistant doesn’t require a large amount of hardware. If the company doesn’t want to invest in new machines, it can opt to use cloud services such as Azure, AWS, or Google Cloud.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-aacf051 elementor-widget elementor-widget-text-editor" data-id="aacf051" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Data is a crucial part of the preparation process. To fully leverage the potential of dedicated AI solutions, it’s important to understand that training the model behind the assistant requires datasets stored in digital form. These should be well-organized and kept in a central repository or database. The less structured the data, the higher the cost of implementing the assistant—and the greater the risk that the solution won’t meet expectations.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-60b308a elementor-widget elementor-widget-heading" data-id="60b308a" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Data and content preparation</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-255b41d elementor-widget elementor-widget-text-editor" data-id="255b41d" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>At this stage, it’s essential to gather all materials that contain important company knowledge—this may include PDF, Word, and Excel documents, website content, FAQ sections, emails, or data from databases.</p><p> </p><p>Next, the collected information needs to be properly prepared—organized, cleaned of unnecessary content (e.g., unreadable PDFs), standardized where possible, and exported to CSV or JSON files (e.g., emails).</p><p> </p><p>In some cases, such as when planning further model customization (fine-tuning), it will also be necessary to label the data or prepare a dedicated training set in the form of instructions and expected responses, for example:</p>						</div>
				</div>
				<div class="elementor-element elementor-element-b8339ff elementor-widget elementor-widget-text-editor" data-id="b8339ff" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<pre>{"prompt": "What documents are required to sign an OCS agreement?", "response": "The following documents are required to sign an OCS agreement: ..."}</pre>						</div>
				</div>
				<div class="elementor-element elementor-element-301fbbb elementor-widget elementor-widget-heading" data-id="301fbbb" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Solution design</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-516c119 elementor-widget elementor-widget-text-editor" data-id="516c119" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>At this stage, decisions are made about the technical design of the solution. It’s important to define what type of assistant will best meet the company’s needs—whether it’s a simple chatbot answering questions, a more advanced assistant with access to company knowledge (so-called RAG – Retrieval-Augmented Generation), or an agent capable of independently performing specific tasks such as making bookings, generating reports, or sending emails.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-1b4b071 elementor-widget elementor-widget-text-editor" data-id="1b4b071" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>The next step is selecting the appropriate technologies, including the large language model (LLM) that will power the assistant—such as GPT-4, Claude, Mistral, LLaMA, or Gemini—depending on specific needs and requirements related to privacy, cost, and integration capabilities.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-d9610e4 elementor-widget elementor-widget-text-editor" data-id="d9610e4" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>Finally, it’s worth preparing a list of functions the assistant should perform and planning integration with other systems used in the company—such as the CRM, knowledge base, or email.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-a34770c elementor-widget elementor-widget-heading" data-id="a34770c" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Assistant development and configuration</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-ff744d0 elementor-widget elementor-widget-text-editor" data-id="ff744d0" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>At this stage, both the technical backend and the user-facing part of the assistant (frontend) are developed. This could be, for example, a chat interface on the website, a button that launches the assistant in an application, or a widget integrated with tools like Slack. You can read more about how AI agent integration with the <a href="https://inero-software.com/optimization-of-back-office-processes-with-ai-agent-implementation-a-practical-example/">Slack communication platform can look here &gt;&gt;LINK</a></p>						</div>
				</div>
				<div class="elementor-element elementor-element-3b817d5 elementor-widget elementor-widget-text-editor" data-id="3b817d5" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>In parallel, the selected language model is deployed—via services such as Azure OpenAI, OpenAI API, Anthropic (Claude), Google Vertex AI (Gemini), or locally using open-source models like LLaMA, Mistral, or Mixtral.</p><p> </p><p>If the assistant is meant to use internal company knowledge, a RAG (Retrieval-Augmented Generation) mechanism needs to be configured—enabling it to search and match relevant documents to user queries.</p><p> </p><p>Finally, integrations with other systems—such as CRM, ticketing systems, or email—are implemented, allowing the assistant to meaningfully support the team’s day-to-day work.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-fa67de7 elementor-widget elementor-widget-heading" data-id="fa67de7" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Testing and pilot phase</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-56858f2 elementor-widget elementor-widget-text-editor" data-id="56858f2" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>After implementation, thorough testing of the solution is essential. The first step is functional testing—checking whether the assistant correctly understands user intent, responds in line with company documentation, and handles different types of queries appropriately.</p><p> </p><p>The next phase is testing with end users (UAT – User Acceptance Testing), which helps assess how well the assistant performs in real-world scenarios and whether it meets employees’ expectations.</p><p> </p><p>Based on feedback and observations, iterative improvements are made—such as adjusting responses, adding new documents to the knowledge base, or refining prompts and the agent’s logic. This phase is often repeated several times until a satisfactory level of quality is achieved.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-dd6864e elementor-widget elementor-widget-heading" data-id="dd6864e" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Deployment and maintenance</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-c10b8e9 elementor-widget elementor-widget-text-editor" data-id="c10b8e9" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>After completing the testing phase, the assistant is deployed to the target infrastructure—this may be a public cloud (e.g., Azure, AWS, GCP), on-premise servers, or a hybrid solution, depending on security and availability requirements. More about this is covered later in the article.</p><p> </p><p>It’s also necessary to set up monitoring, which allows you to track things like token usage, query frequency, error rates, and the quality of generated responses. This enables quick issue resolution and cost optimization.</p><p>In daily use, it’s important to keep the data up to date—adding new documents, removing outdated information, and updating the knowledge base the assistant relies on.</p><p> </p><p>Over time, as business needs evolve, it may be worth considering retraining or fine-tuning the model—e.g., every few months—to better align it with the organization’s specific context.</p><p> </p><p>Finally, it’s important to provide technical support and user assistance to ensure the solution is not only technically reliable but also convenient and intuitive for everyday use.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-817acb3 elementor-widget elementor-widget-heading" data-id="817acb3" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Data privacy</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-20711ec elementor-widget elementor-widget-text-editor" data-id="20711ec" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>In the “Deployment and maintenance” section, we discussed the available options for choosing the infrastructure on which the AI agent will be deployed.</p><p>Each solution has its pros and cons. Choosing an on-premise setup gives you full control over the data, but it requires a dedicated machine with specific parameters.</p><p>Another option is using a public cloud service, such as Azure. Microsoft clearly states that data submitted to the Azure OpenAI service is not used to train or improve OpenAI or Microsoft models (<a href="https://learn.microsoft.com/en-us/legal/cognitive-services/openai/data-privacy?tabs=azure-portal">source</a>).</p><p>According to Microsoft, prompts and responses are not shared with other customers or OpenAI. Azure operates in full isolation mode: when using GPT-4 on Azure, no information from your conversations is shared with OpenAI LLC. Microsoft has confirmed this in a Data Processing Addendum (DPA).</p>						</div>
				</div>
				<div class="elementor-element elementor-element-16536f6 elementor-widget elementor-widget-heading" data-id="16536f6" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">AI decision accountability</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-68f238b elementor-widget elementor-widget-text-editor" data-id="68f238b" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p>It’s important to remember that formal and legal responsibility for the outcomes of an AI agent’s actions and the data it processes lies with the entity that implemented and oversees the solution—most often.</p>						</div>
				</div>
				<div class="elementor-element elementor-element-104a126 elementor-widget elementor-widget-text-editor" data-id="104a126" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ol><li>the organization (e.g., the company that deployed the assistant),</li><li>the system administrator,</li><li>the individual making decisions based on AI suggestions (e.g., a customer service representative, recruiter, or doctor).</li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-85f731f elementor-widget elementor-widget-text-editor" data-id="85f731f" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>How to reduce risk?</strong></p>						</div>
				</div>
				<div class="elementor-element elementor-element-6db7698 elementor-widget elementor-widget-text-editor" data-id="6db7698" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<ol><li>Human-in-the-loop (HITL) – A human must approve important decisions, while AI only supports the process (e.g., the assistant drafts a response, but a person approves it).</li><li>Clear disclaimers and warnings – The AI should inform users: “I am an AI assistant – please verify my responses before making a decision.”</li><li>Source verification – The AI assistant should, where possible, cite sources for its answers or indicate when it doesn’t know rather than guessing. Using RAG enables precise control over the knowledge base.</li></ol>						</div>
				</div>
				<div class="elementor-element elementor-element-ab8fe88 elementor-widget elementor-widget-heading" data-id="ab8fe88" data-element_type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
			<h3 class="elementor-heading-title elementor-size-default">Summary</h3>		</div>
				</div>
				<div class="elementor-element elementor-element-32ea263 elementor-widget elementor-widget-text-editor" data-id="32ea263" data-element_type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
							<p><strong>The process of implementing an AI agent must be well-planned and carefully considered. It may seem challenging at first, but with proper preparation, it can deliver long-term benefits. If you need support, feel free to contact us.</strong></p><p><span data-ccp-props="{}"> </span></p>						</div>
				</div>
				<div class="elementor-element elementor-element-05552e5 elementor-cta--skin-cover elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action" data-id="05552e5" data-element_type="widget" data-widget_type="call-to-action.default">
				<div class="elementor-widget-container">
					<a class="elementor-cta" href="https://inero-software.com/contact-inero-software-rd-software-house/">
					<div class="elementor-cta__bg-wrapper">
				<div class="elementor-cta__bg elementor-bg" style="background-image: url(https://inero-software.com/wp-content/uploads/2025/02/cta-AI2-1030x579.png);" role="img" aria-label="cta AI2"></div>
				<div class="elementor-cta__bg-overlay"></div>
			</div>
							<div class="elementor-cta__content">
				
									<h2 class="elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						AI Agent in Your Company?					</h2>
				
									<div class="elementor-cta__description elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
						Write to us and find out how an AI Agent can support your company.					</div>
				
									<div class="elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item elementor-animated-item--grow">
					<span class="elementor-cta__button elementor-button elementor-size-">
						Contact					</span>
					</div>
							</div>
						</a>
				</div>
				</div>
					</div>
				</div>
				</div>
		<p>Artykuł <a href="https://inero-software.com/how-to-prepare-your-company-for-ai-agent-implementation/">How to Prepare Your Company for AI Agent Implementation</a> pochodzi z serwisu <a href="https://inero-software.com">Inero Software - Software Consulting</a>.</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7741</post-id>	</item>
	</channel>
</rss>
