<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[doriandiaconuro]]></title><description><![CDATA[Opinii despre subiecte de actualitate din domeniu politic si tehnic]]></description><link>https://doriandiaconu.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!GvTU!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51baa83d-4f70-4fb5-9533-07ea31bc703e_852x852.jpeg</url><title>doriandiaconuro</title><link>https://doriandiaconu.substack.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 10 Jun 2026 04:45:15 GMT</lastBuildDate><atom:link href="https://doriandiaconu.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Dorian Diaconu]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[doriandiaconu@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[doriandiaconu@substack.com]]></itunes:email><itunes:name><![CDATA[Dorian Diaconu]]></itunes:name></itunes:owner><itunes:author><![CDATA[Dorian Diaconu]]></itunes:author><googleplay:owner><![CDATA[doriandiaconu@substack.com]]></googleplay:owner><googleplay:email><![CDATA[doriandiaconu@substack.com]]></googleplay:email><googleplay:author><![CDATA[Dorian Diaconu]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[„Kill switch” și nota de plata]]></title><description><![CDATA[Europa a recunoscut, &#238;n sf&#226;r&#537;it, cu voce tare c&#226;t de mult depinde de tehnologia american&#259;. Dac&#259; poate &#238;ns&#259; face ceva &#238;n privin&#539;a asta r&#259;m&#226;ne &#238;ntrebarea cea grea]]></description><link>https://doriandiaconu.substack.com/p/kill-switch-si-nota-de-plata</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/kill-switch-si-nota-de-plata</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 06 Jun 2026 11:37:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!icP2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!icP2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!icP2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 424w, https://substackcdn.com/image/fetch/$s_!icP2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 848w, https://substackcdn.com/image/fetch/$s_!icP2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 1272w, https://substackcdn.com/image/fetch/$s_!icP2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!icP2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif" width="1160" height="773" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:773,&quot;width&quot;:1160,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50185,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/200879051?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!icP2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 424w, https://substackcdn.com/image/fetch/$s_!icP2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 848w, https://substackcdn.com/image/fetch/$s_!icP2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 1272w, https://substackcdn.com/image/fetch/$s_!icP2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74a67497-2536-45a1-b23a-557f57edf84e_1160x773.avif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><br>Expresia care s-a remarcat, atunci c&#226;nd Comisia European&#259; &#537;i-a prezentat Pachetul pentru Suveranitate Tehnologic&#259; pe 3 iunie, nu avea leg&#259;tur&#259; cu cipurile, cu cloud-ul sau cu open source-ul. Avea leg&#259;tur&#259; cu un switch.</p><p>Europa, a spus Henna Virkkunen (vicepre&#537;edinta executiv&#259; a Comisiei responsabil&#259; cu suveranitatea tehnologic&#259;) nu vrea ca cineva s&#259; &#539;in&#259; degetul pe un &#8222;kill switch&#8221; deasupra infrastructurii sale digitale critice. Teama e concret&#259;, nu retoric&#259;: prin legea american&#259; Cloud Act, Washingtonul poate obliga companiile americane s&#259; predea date oriunde s-ar afla acestea &#238;n lume. Inclusiv fi&#537;ele medicale, dosarele de instan&#539;&#259; &#537;i bazele de date guvernamentale europene g&#259;zduite &#238;n prezent &#238;n cloud-uri americane. Dependen&#539;a nu e teoretic&#259;. E una pe care se sprijin&#259; totul.</p><p>A&#537;a c&#259;, dup&#259; ani de dat t&#226;rcoale ideii, Bruxelles-ul a f&#259;cut primul pas. A spus problema pe nume.</p><h2>Anxietatea, &#238;n cifre</h2><p>Comisia spune c&#259; Europa depinde de furnizori din afara UE pentru peste 80% din produsele, serviciile, infrastructura &#537;i proprietatea intelectual&#259; din domeniul digital. Amazon, Microsoft &#537;i Google de&#539;in &#238;mpreun&#259; cea mai mare parte a pie&#539;ei europene de cloud. Ideile care  circul&#259; acum la Bruxelles (c&#259; Europa a devenit un fel de colonie digital&#259; a tehnologiei americane &#537;i chineze) au o &#238;nc&#259;rc&#259;tur&#259; politic&#259; serioas&#259;.</p><p>E &#537;i o schimbare notabil&#259; de atitudine. Vreme de un deceniu, r&#259;spunsul Europei la Big Tech au fost reglement&#259;rile: Digital Services Act, Digital Markets Act, AI Act, un &#537;ir constant de amenzi pentru companii precum Apple. Mecanismul &#259;sta &#238;i disciplineaz&#259; pe juc&#259;tori. Nu creeaz&#259; &#238;ns&#259; al&#539;ii noi. Undeva &#238;ntre momentul &#238;n care Macron &#537;i Merz &#238;mp&#259;r&#539;eau aceea&#537;i scen&#259; la summitul pentru suveranitate digital&#259; de la Berlin, &#238;n noiembrie, &#537;i lansarea de s&#259;pt&#259;m&#226;na asta, Comisia pare s&#259; fi procesat lec&#539;ia c&#259; nu po&#539;i ajunge la un campion prin reglementare.</p><h2>Ce e, de fapt, &#238;n pachet?</h2><p>Pachetul reune&#537;te patru elemente sub o &#8222;Comunicare privind suveranitatea tehnologic&#259; european&#259;&#8221;:</p><ul><li><p><strong>Un Chips Act 2.0</strong> - a doua &#238;ncercare de a construi o baz&#259; intern&#259; de semiconductori.</p></li><li><p><strong>Cloud and AI Development Act (CADA)</strong> - partea cu cea mai complicat&#259;.</p></li><li><p><strong>O strategie pentru open source</strong> &#8212; prima dat&#259; c&#226;nd open source-ul st&#259; &#238;n centrul politicii digitale a UE, nu la margine.</p></li><li><p><strong>O foaie de parcurs pentru digitalizarea sistemului energetic</strong> &#8212; cea t&#259;cut&#259; &#537;i scump&#259;.</p></li></ul><p>CADA e locul unde ambi&#539;ia devine concret&#259;. Introduce un &#8222;test de suveranitate&#8221; pentru cloud: patru niveluri de asigurare pe care institu&#539;iile publice le aplic&#259; &#238;n func&#539;ie de c&#226;t de sensibil este modelul de lucru. Nivelul 1 cere pur &#537;i simplu ca datele s&#259; fie stocate &#537;i procesate &#238;n UE. Nivelul 2 cere independen&#539;&#259; demonstrat&#259; fa&#539;&#259; de &#539;&#259;ri din afara UE. Nivelul 3 adaug&#259; proprietate &#537;i control europene, p&#226;n&#259; la nivelul angaja&#539;ilor. Nivelul 4 cere control complet asupra lan&#539;ului de aprovizionare, f&#259;r&#259; nicio interferen&#539;&#259; din partea unei &#539;&#259;ri ter&#539;e.</p><p>&#536;i aici e partea care nelini&#537;te&#537;te industria: din cauza legii Cloud Act, gigan&#539;ii americani de cloud nu pot respecta, practic, cerin&#539;ele de sus.</p><h2>Partea pe care nimeni nu prea vrea s-o spun&#259;</h2><p>Acum, &#238;ntrebarea incomod&#259;. De unde vin banii?</p><p>Primul European Chips Act, &#238;n 2023, promitea s&#259; dubleze cota Uniunii pe pia&#539;a global&#259; de semiconductori, p&#226;n&#259; la 20% &#238;n 2030. Trei ani mai t&#226;rziu, cota e tot sub 10%. Verdictul Comisiei &#238;ns&#259;&#537;i e c&#259; legea ini&#539;ial&#259; &#537;i-a f&#259;cut treaba la nivel de infrastructur&#259; de cercetare &#537;i a f&#259;cut progrese doar limitate la produc&#539;ia propriu-zis&#259;, e&#537;uat&#259;, cum spunea o analiz&#259;, nu din lips&#259; de ambi&#539;ie, ci din lips&#259; de execu&#539;ie. Fabricile europene se confrunt&#259; cu costuri de construc&#539;ie mai mari, autoriz&#259;ri mai lente &#537;i o for&#539;&#259; de munc&#259; calificat&#259; mai redus&#259; dec&#226;t rivalii din Asia de Est.</p><p>Chips Act 2.0 ar trebui s&#259; rezolve asta, par&#539;ial prin mutarea accentului de pe ofert&#259; pe cerere, conect&#226;nd produc&#259;torii europeni de cipuri cu clien&#539;i europeni, nu doar finan&#539;&#226;nd ni&#537;te linii-pilot. Rezonabil. Dar vine cu aproape zero finan&#539;are nou&#259; vizibil&#259;: &#238;n jur de 70 de milioane de euro pentru o platform&#259; de lan&#539; de aprovizionare, bugetele serioase fiind am&#226;nate pentru cadrul financiar al UE pe 2028&#8211;2034, urm&#226;nd s&#259; fie solicitate ulterior.</p><p>Punem asta &#238;n balan&#539;&#259; cu c&#226;t cost&#259;, de fapt, tranzi&#539;ia. Estim&#259;ri independente situeaz&#259; nota de plat&#259; la circa 120 de miliarde de euro pentru semiconductori, 200 de miliarde pentru data centere p&#226;n&#259; &#238;n 2036, 100 de miliarde pentru cloud &#537;i AI &#537;i un gol uluitor de 400 de miliarde de euro <em>pe an</em> la investi&#539;iile &#238;n energie. R&#259;spunsul onest al Comisiei la golul asta e, &#238;n esen&#539;&#259;, <em>capital privat.</em> Deschide consult&#259;ri cu Banca European&#259; de Investi&#539;ii &#537;i cu finan&#539;atori pentru a construi o capacitate european&#259; de capital la scar&#259;, recunosc&#226;nd &#238;n aceea&#537;i fraz&#259; c&#259; Europei &#238;i lipse&#537;te capitalul de risc necesar pentru a-&#537;i cre&#537;te proprii campioni tehnologici.</p><h2>Dou&#259; feluri de critici</h2><p>Ce este de remarcat e c&#259; pachetul a reu&#537;it s&#259;-i deranjeze, &#238;n acela&#537;i timp, pe cei de la ambele tabere ale spectrului.</p><p>Dinspre pia&#539;&#259;, Computer &amp; Communications Industry Association (printre ai c&#259;rei membri se num&#259;r&#259; Google, Apple &#537;i Amazon) a numit CADA discriminatoriu &#537;i &#8222;o re&#539;et&#259; periculoas&#259; pentru &#238;nchiderea progresiv&#259; a pie&#539;ei&#8221;, rezerv&#226;ndu-&#537;i nemul&#539;umirea mai ales pentru acele niveluri 3 &#537;i 4. Administra&#539;ia american&#259; a acuzat deja UE c&#259; vizeaz&#259; &#238;n mod special firmele americane. Iar voci mai cump&#259;tate din zona de politici, precum think tank-ul cep, avertizeaz&#259; c&#259; pres&#259;rarea cerin&#539;elor de suveranitate prin tot ce &#238;nseamn&#259; achizi&#539;ii publice va umfla costurile &#537;i birocra&#539;ia, subliniind, &#238;n acela&#537;i timp, faptul cu adev&#259;rat incomod c&#259; &#8222;alternativele&#8221; europene ruleaz&#259; ele &#238;nsele pe cipuri &#537;i software str&#259;ine.</p><p>Din col&#539;ul opus, grupurile pentru drepturi digitale cred c&#259; pachetul face prea pu&#539;in. European Digital Rights l-a respins ca fiind prea prietenos cu corpora&#539;iile, construit pe &#8222;o credin&#539;&#259; gre&#537;it&#259; &#238;n data centere &#537;i &#238;n unicornii hiper-scalabili&#8221;, argument&#226;nd c&#259; adev&#259;rata suveranitate ar trebui s&#259; &#238;nsemne autodeterminare pentru oamenii obi&#537;nui&#539;i, nu o copie autohton&#259; a Big Tech. Grupul pentru libertatea de exprimare ARTICLE 19 a avut o etichet&#259; mai t&#259;ioas&#259;: &#8222;sovereignty washing&#8221; &#8212; suveranitate de fa&#539;ad&#259;.</p><h2>Singurul test care conteaz&#259;</h2><p>S&#259; recunoa&#537;tem meritele Comisiei. &#206;ncadrarea e corect&#259; &#537;i &#238;nt&#226;rziat&#259;: dependen&#539;a de o m&#226;n&#259; de firme str&#259;ine e o vulnerabilitate strategic&#259;, nu doar verdictul unei pie&#539;e eficiente. Faptul c&#259; o spune r&#259;spicat (&#537;i c&#259; trateaz&#259; cloud-ul, cipurile, AI-ul &#537;i open source-ul ca pe o singur&#259; problem&#259;, nu ca pe patru) e un progres real.</p><p>Dar suveranitatea nu se declar&#259;. Se construie&#537;te, din fabrici, ingineri, clien&#539;i &#537;i capital, nimic din toate astea neput&#226;nd fi create doar printr-o Comunicare. Europa a scris acum o descriere neobi&#537;nuit de onest&#259; a propriei sl&#259;biciuni &#537;i un set inteligent de reguli care &#238;nclin&#259; balan&#539;a. Ce n-a l&#259;murit &#238;nc&#259; sunt banii &#537;i execu&#539;ia care i-au lipsit de fiecare dat&#259; c&#226;nd a &#238;ncercat asta &#238;nainte.</p><p>Propunerile trebuie s&#259; treac&#259; &#238;n continuare de toate cele 27 de state membre. Riscul de &#8222;kill switch&#8221; a fost, &#238;n sf&#226;r&#537;it, numit.</p>]]></content:encoded></item><item><title><![CDATA[The Kill Switch and the Checkbook]]></title><description><![CDATA[Europe has finally said out loud that it depends on American technology. Whether Brussels can do anything about it is the harder question.]]></description><link>https://doriandiaconu.substack.com/p/the-kill-switch-and-the-checkbook</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/the-kill-switch-and-the-checkbook</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 06 Jun 2026 11:17:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QoeU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QoeU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QoeU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 424w, https://substackcdn.com/image/fetch/$s_!QoeU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 848w, https://substackcdn.com/image/fetch/$s_!QoeU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 1272w, https://substackcdn.com/image/fetch/$s_!QoeU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QoeU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif" width="1160" height="773" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:773,&quot;width&quot;:1160,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50185,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/200877828?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QoeU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 424w, https://substackcdn.com/image/fetch/$s_!QoeU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 848w, https://substackcdn.com/image/fetch/$s_!QoeU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 1272w, https://substackcdn.com/image/fetch/$s_!QoeU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0a0b9b62-d150-4230-9749-e81e56f8415f_1160x773.avif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The phrase that stuck, when the European Commission unveiled its Tech Sovereignty Package on June 3, wasn&#8217;t about chips or clouds or open source. It was about a switch.</p><p>Europe, said Henna Virkkunen (the Commission&#8217;s executive vice-president for tech sovereignty) does not want anyone holding a &#8220;kill switch&#8221; over its critical digital infrastructure. The fear is concrete, not rhetorical: under the U.S. Cloud Act, Washington can compel American companies to hand over data wherever in the world it happens to sit. That includes the European hospital records, court files, and government databases currently parked inside American clouds. The dependency isn&#8217;t theoretical. It&#8217;s load-bearing.</p><p>So after years of circling the idea, Brussels has done the useful first thing. It has named the problem.</p><h2>The anxiety, by the numbers</h2><p>The Commission says Europe relies on foreign providers for more than 80% of its digital products, services, infrastructure, and intellectual property. Amazon, Microsoft, and Google between them own most of the European cloud market. The uncomfortable word now circulating in Brussels (that the continent has become a kind of digital colony of American and Chinese tech) is doing a lot of political work.</p><p>It&#8217;s also a notable change of posture. For a decade, Europe&#8217;s answer to Big Tech was rules: the Digital Services Act, the Digital Markets Act, the AI Act, a steady drip of fines against the likes of Apple. That machinery polices the players. It does not build new ones. Somewhere between Macron and Merz sharing a stage at last November&#8217;s digital sovereignty summit in Berlin and this week&#8217;s launch, the Commission seems to have absorbed the lesson that you cannot regulate your way to a champion.</p><h2>What&#8217;s actually in the box?</h2><p>The package bundles four things under one overarching &#8220;Communication on European Technological Sovereignty&#8221;:</p><ul><li><p><strong>A Chips Act 2.0</strong> - a second attempt at building a domestic semiconductor base.</p></li><li><p><strong>The Cloud and AI Development Act (CADA)</strong> - the part with teeth.</p></li><li><p><strong>An Open Source Strategy</strong> - the first time open source sits at the center of EU digital policy rather than the margins.</p></li><li><p><strong>A roadmap for digitalising the energy system</strong> - the quiet, expensive one.</p></li></ul><p>CADA is where the ambition gets specific. It introduces a cloud &#8220;sovereignty test&#8221;: four assurance levels that public bodies apply according to how sensitive a workload is. Level 1 simply requires data to be stored and processed in the EU. Level 2 demands demonstrated independence from non-EU countries. Level 3 adds EU ownership and control, down to who the personnel are. Level 4 requires full supply-chain control with no third-country interference at all.</p><p>Here&#8217;s the part that makes industry nervous and tells you what the policy is really for: because of that same Cloud Act, American hyperscalers essentially cannot reach the top tiers. A framework written in the neutral language of risk and security turns out to draw a line straight through the U.S. cloud giants. That isn&#8217;t an accident. It&#8217;s the mechanism.</p><h2>The part nobody quite wants to say</h2><p>Now the awkward question. Where&#8217;s the money?</p><p>The first European Chips Act, in 2023, promised to double the bloc&#8217;s share of the global semiconductor market to 20% by 2030. Three years on, that share is still below 10%. The Commission&#8217;s own verdict is that the original act delivered on research infrastructure and made only limited progress on actual manufacturing, undone, as one analysis put it, not by a lack of ambition but by a lack of execution. European fabs face higher build costs, slower permitting, and a thinner talent pool than their East Asian rivals.</p><p>Chips Act 2.0 is meant to fix this, partly by flipping the emphasis from supply to demand, connecting European chipmakers to European customers rather than just funding more pilot lines. Sensible. But it arrives with almost no fresh headline funding: roughly &#8364;70 million for a supply-chain platform, with the serious budgets deferred to the EU&#8217;s 2028&#8211;2034 financial framework, to be requested later.</p><p>Set that against what the transition actually costs. Independent estimates put the bill at around &#8364;120 billion for semiconductors, &#8364;200 billion for data centres by 2036, &#8364;100 billion for cloud and AI, and a staggering &#8364;400 billion <em>a year</em> gap in energy investment. The Commission&#8217;s honest answer to this chasm is, essentially, <em>private capital, please</em> , it&#8217;s opening consultations with the European Investment Bank and financiers to build European equity capacity at scale, while admitting in the same breath that Europe lacks the risk capital to grow its own tech champions in the first place.</p><p>That&#8217;s the tension at the heart of the package. The diagnosis is clear-eyed. The prescription is a hope.</p><h2>Two kinds of critics</h2><p>What&#8217;s telling is that the package has managed to annoy both ends of the spectrum at once.</p><p>From the market side, the Computer &amp; Communications Industry Association (whose members include Google, Apple, and Amazon) called CADA discriminatory and &#8220;a dangerous recipe for progressive market shutdown,&#8221; reserving particular fire for those Level 3 and 4 tiers. The U.S. administration has already accused the EU of singling out American firms. And more sober policy voices, like the cep think tank, warn that sprinkling sovereignty requirements across public procurement will inflate costs and bureaucracy, while pointing out the genuinely awkward fact that Europe&#8217;s own &#8220;alternatives&#8221; still run on foreign chips and foreign software.</p><p>From the opposite corner, digital-rights groups think the package does the wrong thing rather than too much of it. European Digital Rights dismissed it as too corporate-friendly, built on a &#8220;misguided belief in data center growth and hyper-scaling unicorns,&#8221; and argued that real sovereignty should mean self-determination for ordinary people, not a homegrown copy of Big Tech. The free-expression group ARTICLE 19 had a blunter label: &#8220;sovereignty washing.&#8221;</p><p>When the industry lobby and the civil-liberties lobby are both unhappy, for precisely opposite reasons, you&#8217;ve usually landed on something with a genuine point of view.</p><h2>The only test that matters</h2><p>Give the Commission its due. The framing is right, and overdue: dependency on a handful of foreign firms is a strategic vulnerability, not merely the verdict of an efficient market. Saying so plainly (and treating cloud, chips, AI, and open source as one problem rather than four) is real progress.</p><p>But sovereignty is not declared. It&#8217;s built, out of fabs and engineers and customers and capital, none of which a Communication can conjure. Europe has now written an unusually honest description of its weakness and a clever set of rules to tilt the field. What it has not yet produced is the money or the execution it has missed every single time it tried this before.</p><p>The proposals still have to clear all 27 member states. The kill switch has finally been named. The checkbook, for now, is mostly blank.</p>]]></content:encoded></item><item><title><![CDATA[Claude Opus 4.8]]></title><description><![CDATA[Un release incremental]]></description><link>https://doriandiaconu.substack.com/p/claude-opus-48</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/claude-opus-48</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 30 May 2026 14:16:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Uh3H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Uh3H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Uh3H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 424w, https://substackcdn.com/image/fetch/$s_!Uh3H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 848w, https://substackcdn.com/image/fetch/$s_!Uh3H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 1272w, https://substackcdn.com/image/fetch/$s_!Uh3H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Uh3H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:62838,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/199869431?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Uh3H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 424w, https://substackcdn.com/image/fetch/$s_!Uh3H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 848w, https://substackcdn.com/image/fetch/$s_!Uh3H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 1272w, https://substackcdn.com/image/fetch/$s_!Uh3H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F69367e30-e8d0-4815-a26b-ccf9071c33c3_1500x999.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Pe 28 mai, Anthropic a lansat Opus 4.8. Num&#259;rul versiunii spune aproape tot ce trebuie s&#259; &#537;tii: e un .8, nu un 5.0. Anthropic recunoa&#537;te chiar asta, &#238;l numesc o &#8222;&#238;mbun&#259;t&#259;&#539;ire modest&#259;, dar tangibil&#259;&#8221;. E o sinceritate rar&#259; &#238;ntr-un anun&#539; de lansare, a&#537;a c&#259; merit&#259; men&#539;ionat.</p><p>Dar &#8222;incremental&#8221; nu &#238;nseamn&#259; &#8222;neinteresant&#8221;, mai ales dac&#259; rulezi agen&#539;i &#238;n produc&#539;ie. Iat&#259; ce s-a schimbat de fapt &#537;i ce e marketing.</p><h2>Ce e nou cu adev&#259;rat?</h2><p><strong>Acela&#537;i pre&#539;.</strong> $5 per milioane/token input, $25 per milioane/output. Neschimbat fa&#539;&#259; de 4.7. &#206;ntr-o pia&#539;&#259; &#238;n care aproape orice release vine cu o cre&#537;tere de pre&#539;, un upgrade de capabilitate la pre&#539; neschimbat e cel mai concret c&#226;&#537;tig de aici.</p><p><strong>&#206;mbun&#259;t&#259;&#539;irea de &#8222;onestitate&#8221;.</strong> &#258;sta e titlul principal. Anthropic sus&#539;ine c&#259; Opus 4.8 e de aproximativ 4 ori mai pu&#539;in probabil dec&#226;t 4.7 s&#259; lase erori din propriul cod s&#259; treac&#259; nesemnalate. Modelele ador&#259; s&#259; declare c&#259; au dreptate (&#8222;Gata! Am rezolvat bug-ul!&#8221;) c&#226;nd nu au dovezi suficiente. Dac&#259; 4.8 chiar e mai bun la a-&#537;i semnala propria incertitudine, asta e diferen&#539;a dintre un agent pe care &#238;l po&#539;i l&#259;sa s&#259; ruleze &#537;i unul pe care trebuie s&#259;-l supraveghezi. Pentru oricine conecteaz&#259; Claude &#238;n CI sau &#238;n pipeline-uri autonome, un model care spune &#8222;nu sunt sigur c&#259; asta func&#539;ioneaz&#259;&#8221; valoreaz&#259; mai mult dec&#226;t unul care gre&#537;e&#537;te cu &#238;ncredere.</p><p>E o ironie &#238;n a vinde <em>sinceritatea</em> ca func&#539;ie (recunoa&#537;tere c&#259; modelul anterior era prea sigur pe el).</p><p><strong>Dynamic workflows &#238;n Claude Code.</strong> Claude poate acum s&#259; planifice o sarcin&#259;, s&#259; porneasc&#259; sute de subagen&#539;i &#238;n paralel &#238;ntr-o singur&#259; sesiune &#537;i s&#259;-&#537;i verifice propriul output &#238;nainte de a raporta &#238;napoi. Exemplul de referin&#539;&#259;: migr&#259;ri la scar&#259; de codebase cu sute de mii de linii, de la kickoff la merge, folosind setul de teste existent&#259; ca prag. Dac&#259; ai estimat vreodat&#259; o migrare de framework pe un monorepo, &#537;tii de ce conteaz&#259;. Dac&#259; rezist&#259; &#238;n afara unui demo r&#259;m&#226;ne &#238;ntrebarea de v&#259;zut, dar forma e corect&#259;. (Doar planurile Enterprise, Team &#537;i Max.)</p><p><strong>Effort control.</strong> Exist&#259; acum un buton l&#226;ng&#259; selectorul de model (de la low la max) care controleaz&#259; c&#226;t de mult &#8222;g&#226;nde&#537;te&#8221; modelul. Default-ul e high. Effort sc&#259;zut &#238;nseamn&#259; r&#259;spunsuri mai rapide &#537;i consum mai lent al rate limit-ului. Decizie de UX sensibil&#259;: nu orice prompt are nevoie de ra&#539;ionament maxim, iar acum nu mai pl&#259;te&#537;ti (&#238;n timp sau &#238;n limite) pentru un thinking de care n-aveai nevoie.</p><p><strong>1M de tokens context window by default</strong> pe API, Bedrock &#537;i Vertex (200k pe Microsoft Foundry). 128k output maxim, adaptive thinking. Fast mode (throughput de 2.5x) e acum cu o treime mai ieftin dec&#226;t pe modelele anterioare.</p><p><strong>O schimbare mic&#259;, dar real&#259; de API:</strong> Mesajele API accept&#259; acum intr&#259;ri <code>system</code> &#238;n interiorul array-ului de mesaje. Po&#539;i actualiza instruc&#539;iunile lui Claude la mijlocul unei sarcini (permisiuni, bugete de tokens, context de mediu) f&#259;r&#259; s&#259; strici prompt cache-ul sau s&#259; simulezi un user turn. Dac&#259; construie&#537;ti harness-uri pentru agen&#539;i, asta elimin&#259; un workaround chiar enervant.</p><h2>Benchmark-urile prezentate</h2><p>Cifrele Anthropic sunt solide: singurul model care a completat fiecare caz pe benchmark-ul lor Super-Agent, 84% pe Online-Mind2Web pentru computer use (&#238;naintea lui 4.7 &#537;i a lui GPT-5.5) &#537;i cel mai mare scor de p&#226;n&#259; acum pe Legal Agent Benchmark. Sunt benchmark-urile <em>Anthropic</em>, sau rulate pe harness-urile Anthropic. Notele de subsol ajusteaz&#259; discret scorurile concuren&#539;ei &#537;i scorurile Opus anterioare. E o practic&#259; standard la orice laborator &#537;i exact de aceea benchmark-urile first-party sunt un punct de plecare, nu un verdict. A&#537;teapt&#259; rul&#259;rile independente.</p><h2>Povestea cu Mythos</h2><p>Ascuns la final: Anthropic flutur&#259; din nou modelele &#8222;Mythos-class&#8221;, inteligen&#539;&#259; mai mare dec&#226;t Opus, momentan restric&#539;ionate la c&#226;teva organiza&#539;ii pentru securitate cibernetic&#259; sub Project Glasswing, &#8222;&#238;n s&#259;pt&#259;m&#226;nile urm&#259;toare&#8221;. Motivul declarat al &#238;nt&#226;rzierii e c&#259; modelele at&#226;t de capabile au nevoie de safeguard-uri cibernetice mai puternice &#238;nainte de lansarea public&#259;. Interpreteaz&#259; cum vrei: e fie precau&#539;ie responsabil&#259;, fie un mod convenabil de a &#539;ine un model mai puternic permanent dincolo de orizont. Probabil ceva din am&#226;ndou&#259;.</p><h2>Ar trebui s&#259;-&#539;i pese?</h2><p>Dac&#259; folose&#537;ti Claude casual, effort control e schimbarea pe care o vei observa. Dac&#259; construie&#537;ti agen&#539;i sau rulezi Claude Code pe repo-uri reale, &#238;mbun&#259;t&#259;&#539;irea de dynamic workflows merit&#259; testate s&#259;pt&#259;m&#226;na asta, la acela&#537;i pre&#539;, n-ai niciun motiv s&#259; n-o faci.</p>]]></content:encoded></item><item><title><![CDATA[Claude Opus 4.8 Released]]></title><description><![CDATA[A Point Release That Knows It's a Point Release]]></description><link>https://doriandiaconu.substack.com/p/claude-opus-48-released</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/claude-opus-48-released</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 30 May 2026 13:53:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!eEwV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eEwV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eEwV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 424w, https://substackcdn.com/image/fetch/$s_!eEwV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 848w, https://substackcdn.com/image/fetch/$s_!eEwV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 1272w, https://substackcdn.com/image/fetch/$s_!eEwV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eEwV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp" width="1456" height="970" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:970,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:62838,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/199867872?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!eEwV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 424w, https://substackcdn.com/image/fetch/$s_!eEwV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 848w, https://substackcdn.com/image/fetch/$s_!eEwV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 1272w, https://substackcdn.com/image/fetch/$s_!eEwV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3945a9ff-9a49-4307-95dd-a4e16ab23740_1500x999.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On May 28, Anthropic shipped Opus 4.8. The version number tells you most of what you need to know: this is a .8, not a 5.0. Anthropic says as much, they call it a &#8220;modest but tangible improvement.&#8221; That kind of honesty is rare in a launch post, so credit where it&#8217;s due.</p><p>But &#8220;incremental&#8221; doesn&#8217;t mean &#8220;uninteresting,&#8221; especially if you run agents in production. Here&#8217;s what actually changed, and what&#8217;s marketing.</p><h2>What&#8217;s actually new?</h2><p><strong>Same price.</strong> $5 per million input tokens, $25 per million output. Unchanged from 4.7. In a market where almost every release ships with a price bump, a capability upgrade at flat pricing is the most concrete win here.</p><p><strong>The &#8220;honesty&#8221; improvement.</strong> This is the headline, and the one I&#8217;d actually pay attention to. Anthropic claims Opus 4.8 is roughly 4x less likely than 4.7 to let flaws in its own code pass unremarked. Models love to declare victory (&#8220;Done! Fixed the bug!&#8221;) when the evidence is thin. If 4.8 is genuinely better at flagging its own uncertainty, that&#8217;s the difference between an agent you can leave running and one you have to babysit. For anyone wiring Claude into CI or autonomous pipelines, a model that says &#8220;I&#8217;m not sure this works&#8221; is worth more than one that&#8217;s confidently wrong.</p><p>There&#8217;s an irony in marketing <em>honesty</em> as a feature (it quietly admits the previous model was overconfident) but it&#8217;s the right kind of admission.</p><p><strong>Dynamic workflows in Claude Code.</strong> Research preview. Claude can now plan a task, spin up hundreds of parallel subagents in a single session, and verify its own output before reporting back. The flagship example: codebase-scale migrations across hundreds of thousands of lines, from kickoff to merge, using your existing test suite as the bar. If you&#8217;ve ever scoped a framework migration across a monorepo, you know why this matters. Whether it holds up outside a demo is the open question, but the shape is right. (Enterprise, Team, and Max plans only.)</p><p><strong>Effort control.</strong> There&#8217;s now a dial next to the model picker (low to max) controlling how hard the model thinks. Default is high. Low effort means faster responses and slower rate-limit burn. Sensible UX: not every prompt needs maximum reasoning, and now you don&#8217;t pay (in time or limits) for thinking you didn&#8217;t need.</p><p><strong>1M token context by default</strong> on the API, Bedrock, and Vertex (200k on Microsoft Foundry). 128k max output, adaptive thinking. Fast mode (2.5x throughput) is now a third cheaper than it was on previous models.</p><p><strong>A small but real API change:</strong> the Messages API now accepts <code>system</code> entries inside the messages array. You can update Claude&#8217;s instructions mid-task (permissions, token budgets, environment context) without breaking the prompt cache or faking a user turn. If you build agent harnesses, that kills a genuinely annoying workaround.</p><h2>The benchmarks, with a grain of salt</h2><p>Anthropic&#8217;s numbers are strong: the only model to complete every case on their Super-Agent benchmark, 84% on Online-Mind2Web for computer use (ahead of both 4.7 and GPT-5.5), and the highest score yet on their Legal Agent Benchmark. Notice the pattern, these are <em>Anthropic&#8217;s</em> benchmarks, or run on Anthropic&#8217;s harnesses. The footnotes quietly adjust competitor scores and prior Opus scores. That&#8217;s standard practice at every lab, and it&#8217;s exactly why first-party benchmarks are a starting point, not a verdict. Wait for independent runs.</p><h2>The Mythos carrot</h2><p>Buried at the end: Anthropic again dangles &#8220;Mythos-class&#8221; models &#8212; higher intelligence than Opus, currently restricted to a handful of orgs for cybersecurity under Project Glasswing, &#8220;coming in the coming weeks.&#8221; They&#8217;ve been saying versions of this for a while. The stated reason for the delay is that models this capable need stronger cyber safeguards before public release. Take that as you will: either responsible caution or a convenient way to keep a more powerful model permanently just over the horizon. Probably some of both.</p><h2>Should you care?</h2><p>If you use Claude casually, the effort control is the change you&#8217;ll notice. If you build agents or run Claude Code against real repos, the honesty improvement and dynamic workflows are worth testing this week, at the same price, there&#8217;s no reason not to. Just don&#8217;t mistake a .8 for a revolution. Anthropic isn&#8217;t, and neither should you.</p>]]></content:encoded></item><item><title><![CDATA[Google I/O 2026: Agentul tău trăiește acum în cloud]]></title><description><![CDATA[Google &#537;i-a &#539;inut conferin&#539;a anual&#259; pentru dezvoltatori la Shoreline Amphitheatre, pe 19&#8211;20 mai]]></description><link>https://doriandiaconu.substack.com/p/google-io-2026-agentul-tau-traieste</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/google-io-2026-agentul-tau-traieste</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 23 May 2026 16:20:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IlJR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IlJR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IlJR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 424w, https://substackcdn.com/image/fetch/$s_!IlJR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 848w, https://substackcdn.com/image/fetch/$s_!IlJR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 1272w, https://substackcdn.com/image/fetch/$s_!IlJR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IlJR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:481125,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/198977844?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IlJR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 424w, https://substackcdn.com/image/fetch/$s_!IlJR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 848w, https://substackcdn.com/image/fetch/$s_!IlJR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 1272w, https://substackcdn.com/image/fetch/$s_!IlJR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbcbef7ca-8b60-4b6c-bf58-420a29ba3c26_2500x1404.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Dac&#259; ai s&#259;rit peste keynote, iat&#259; versiunea scurt&#259;: Gemini, Gemini, Gemini, o pereche de ochelari smart &#537;i o mutare discret&#259;, dar interesant&#259;, &#238;n privin&#539;a locului unde ruleaz&#259; de fapt AI-ul t&#259;u &#8220;personal&#8221;.</p><h2>Ce au lansat efectiv?</h2><p>Modelul-cap-de-afi&#537; este <strong>Gemini 3.5 Flash</strong>, despre care Google spune c&#259; dep&#259;&#537;e&#537;te 3.1 Pro la benchmark-urile de cod, agentice &#537;i multimodale, rul&#226;nd la o vitez&#259; de aproximativ 4x mai mare &#238;n output tokens dec&#226;t alte modele. E deja modelul default &#238;n aplica&#539;ia Gemini &#537;i &#238;n AI Mode din Search, la nivel global. Gemini 3.5 Pro e &#238;n testare, cu lansare luna viitoare.</p><p>&#206;n paralel, <strong>Gemini Omni</strong>, un model multimodal care accept&#259; input de tip imagine, audio, video &#537;i text &#537;i genereaz&#259; video editabil. G&#226;nde&#537;te-te la el ca la pariul Google &#238;mpotriva Sora &#537;i a genera&#539;iei anterioare de Veo, doar c&#259; acum e prezentat drept generare &#8220;ancorat&#259; &#238;n lumea real&#259;&#8221;, legat&#259; direct de Flow &#537;i YouTube Shorts.</p><p>Dar adev&#259;ratul anun&#539;, cel care conteaz&#259; cel mai mult este <strong>Gemini Spark</strong>.</p><h2>Spark: agentul care nu are nevoie s&#259;-&#539;i &#539;ii laptopul deschis</h2><p>Spark este un asistent personal agentic construit pe Gemini 3.5 &#537;i pe harness-ul Antigravity al Google, anun&#539;at drept urm&#259;toarea evolu&#539;ie a asisten&#539;ilor digitali, capabil s&#259; preia task-uri lungi cu supervizare minim&#259;. Pe &#238;n&#539;elesul tuturor: &#238;i dai o sarcin&#259;, &#238;nchizi laptopul, te culci, iar el continu&#259; s&#259; lucreze.</p><p>Ruleaz&#259; pe VM-uri dedicate &#238;n Google Cloud. &#206;i po&#539;i trimite email la o adres&#259; Gmail dedicat&#259;, exact ca unui coleg. Cite&#537;te Gmail-ul t&#259;u, Docs-urile tale, Sheets-urile, Slide-urile,  f&#259;r&#259; configurare, pentru c&#259; e deja &#238;n&#259;untrul acelora&#537;i aplica&#539;ii ca datele tale. Serviciile ter&#539;e se conecteaz&#259; prin MCP, cu mai multe integr&#259;ri promise &#238;n lunile urm&#259;toare.</p><p>Spark ajunge la abona&#539;ii AI Ultra din SUA s&#259;pt&#259;m&#226;na viitoare. 100$/lun&#259; pentru un beta.</p><p>Aici keynote-ul a &#238;ncetat s&#259; fie interesant ca lansare de produs &#537;i a devenit interesant ca pozi&#539;ionare. Anthropic are Claude Cowork. OpenAI are ChatGPT agent. Microsoft are stack-ul Copilot. To&#539;i &#238;ncearc&#259; s&#259; rezolve aceea&#537;i problem&#259;: cum dai unui agent AI suficient context c&#226;t s&#259; fie util cu adev&#259;rat, f&#259;r&#259; s&#259;-l for&#539;ezi pe utilizator s&#259;-&#537;i copieze toat&#259; via&#539;a &#238;ntr-un chat window &#238;n fiecare diminea&#539;&#259;?</p><p>R&#259;spunsul Google e cel la care te-ai a&#537;tepta: <em>noi avem deja via&#539;a ta</em>. Email-ul, calendarul, documentele, istoricul de search, loca&#539;ia, pozele. Integrarea nu e un feature.</p><h2>Search, comer&#539;ul agentic &#537;i ochelarii</h2><p>C&#226;teva alte lucruri demne de men&#539;ionat:</p><p><strong>Search.</strong> Google l-a numit cel mai mare upgrade din aproape 30 de ani. &#206;n practic&#259;, asta &#238;nseamn&#259; c&#259; AI Mode devine mai ad&#226;nc &#238;ncorporat, iar &#8220;Information agents&#8221; apar direct &#238;n rezultatele de c&#259;utare. Cele zece link-uri albastre tradi&#539;ionale &#238;&#537;i continu&#259; moartea lent&#259;.</p><p><strong>Universal Cart.</strong> Cump&#259;r&#259;turi agentice. Spark &#537;i alte suprafe&#539;e Gemini pot ad&#259;uga produse &#238;ntr-un co&#537; unificat &#238;ntre retaileri &#537;i, eventual, pot finaliza achizi&#539;ia. Implica&#539;iile pentru economia deja &#537;ifonat&#259; a web-ului bazat pe publicitate nu sunt subtile.</p><p><strong>Samsung &#8220;Intelligent Eyewear&#8221;.</strong> Ochelari smart Google + Samsung, livrare &#238;n aceast&#259; toamn&#259;. Direc&#539;ii, mesaje, poze, totul f&#259;r&#259; s&#259;-&#539;i sco&#539;i telefonul.</p><p><strong>Antigravity 2.0.</strong> Platforma de dezvoltare agent-first pentru construirea &#537;i orchestrarea agen&#539;ilor a primit capabilit&#259;&#539;i extinse &#537;i o integrare mai str&#226;ns&#259; cu Agent Platform. Dac&#259; e&#537;ti developer, aici locuie&#537;ti efectiv &#238;n noua nara&#539;iune Google.</p><p><strong>SynthID + C2PA.</strong> Watermarking-ul &#537;i content credentials se extind &#238;n Search &#537;i Chrome. Bine, &#238;n principiu. Dac&#259; supravie&#539;uiesc contactului cu internetul deschis, alt&#259; discu&#539;ie.</p><h2>Ce cred eu, de fapt?</h2><p>Dou&#259; observa&#539;ii.</p><p>Prima: <strong>povestea agentic&#259; e acum consistent&#259; &#238;n &#238;ntreaga industrie, iar Google are un avantaj structural despre care nu se vorbe&#537;te suficient de clar.</strong> OpenAI &#537;i Anthropic construiesc agen&#539;i care trebuie s&#259; se conecteze la datele tale. Google construie&#537;te un agent l&#226;ng&#259; datele tale. Acela&#537;i produs pe h&#226;rtie. Fric&#539;iune complet diferit&#259; &#238;n practic&#259;. Dac&#259; Spark func&#539;ioneaz&#259; cum e promis, utilizatorul ce va folosi Workspace &#238;l va alege &#238;nainte s&#259; se ating&#259; de orice altceva care cere OAuth.</p><p>A doua: <strong>inflexiunea pe privacy din materialele de marketing este suspect&#259;.</strong> &#8220;Sub direc&#539;ia ta&#8221; apare &#238;n fiecare blog post Google despre Spark. Mecanica, dac&#259; cite&#537;ti atent, este: un proces autonom ruleaz&#259; continuu pe infrastructura Google, cu acces la &#238;ntreaga ta amprent&#259; digital&#259; &#537;i cu capacitatea de a ac&#539;iona &#238;n numele t&#259;u. Asta nu e r&#259;u &#238;n sine, e doar o rela&#539;ie categoric diferit&#259; cu datele tale fa&#539;&#259; de &#8220;AI-ul &#238;mi rezum&#259; email-ul c&#226;nd deschid aplica&#539;ia&#8221;. Modelul mental default pe care &#238;l vor folosi oamenii pentru Spark e probabil gre&#537;it, iar consecin&#539;ele acelei nepotriviri se vor vedea &#238;n urm&#259;torul an.</p><p>A treia, bonus: <strong>formatul &#8220;100 de lucruri pe care le-am anun&#539;at&#8221; e un semnal.</strong> C&#226;nd o companie are o singur&#259; idee mare, lanseaz&#259; o singur&#259; idee mare. C&#226;nd are o strategie pe care &#238;ncearc&#259; s&#259; o apere simultan pe toate flancurile, lanseaz&#259; o sut&#259; de lucruri. I/O 2026 e a doua variant&#259;. Cite&#537;te-o ca pozi&#539;ionare competitiv&#259;, nu ca viziune.</p><p>Lans&#259;rile de modele sunt reale. Benchmark-urile sunt competitive. Ochelarii sunt hardware care poate prinde sau nu. Dar mutarea care r&#259;m&#226;ne din acest I/O este Spark, nu pentru c&#259; ar fi revolu&#539;ionar, ci pentru c&#259; e cea mai curat&#259; expresie a locului &#238;n care Google crede c&#259; este avantajul lui.</p><p>Nu &#238;n modele. &#206;n inbox-ul t&#259;u.</p>]]></content:encoded></item><item><title><![CDATA[Google I/O 2026: The Agent Lives in Their Cloud Now]]></title><description><![CDATA[Google held its annual developer conference at the Shoreline Amphitheatre on May 19&#8211;20]]></description><link>https://doriandiaconu.substack.com/p/google-io-2026-the-agent-lives-in</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/google-io-2026-the-agent-lives-in</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 23 May 2026 16:04:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FaBx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FaBx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FaBx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 424w, https://substackcdn.com/image/fetch/$s_!FaBx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 848w, https://substackcdn.com/image/fetch/$s_!FaBx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 1272w, https://substackcdn.com/image/fetch/$s_!FaBx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FaBx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png" width="1456" height="818" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:481125,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/198976878?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FaBx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 424w, https://substackcdn.com/image/fetch/$s_!FaBx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 848w, https://substackcdn.com/image/fetch/$s_!FaBx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 1272w, https://substackcdn.com/image/fetch/$s_!FaBx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90e4e923-994d-47c4-b712-0b2ad19026e3_2500x1404.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If you skipped the keynote, here&#8217;s the compressed version: Gemini, Gemini, Gemini, a pair of smart glasses, and a quiet but interesting shift in where your &#8220;personal&#8221; AI actually runs.</p><h2>What they actually shipped?</h2><p>The headline model is <strong>Gemini 3.5 Flash</strong>, which Google says outperforms 3.1 Pro on coding, agentic, and multimodal benchmarks while running at roughly 4x the output token speed of other frontier models. It&#8217;s already the default model in the Gemini app and AI Mode in Search globally. Gemini 3.5 Pro is in testing for a release next month.</p><p>Alongside it, <strong>Gemini Omni</strong>, a multimodal model that takes image, audio, video, and text input and outputs editable video. Think of it as Google&#8217;s bid against Sora and Veo&#8217;s own previous generation, except now it&#8217;s pitched as &#8220;world-grounded&#8221; generation tied directly into Flow and YouTube Shorts.</p><p>But the real announcement, the one that matters structurally, is <strong>Gemini Spark</strong>.</p><h2>Spark: the agent that doesn&#8217;t need your laptop open</h2><p>Spark is an agentic personal assistant built on Gemini 3.5 and Google&#8217;s Antigravity harness, announced as the next evolution of digital assistants taking on long-horizon tasks with minimal oversight. The pitch, in plain English: you give it a job, close your laptop, go to sleep, and it keeps working.</p><p>It runs on dedicated VMs in Google Cloud. You can email it at a dedicated Gmail address like you would a colleague. It reads your Gmail, your Docs, your Sheets, your Slides, without setup, because it&#8217;s already inside the same walls as your data. Third-party services connect over MCP, with more integrations promised over the coming months.</p><p>Spark goes to AI Ultra subscribers in the US next week. That&#8217;s $100/month for a beta.</p><p>This is where the keynote stopped being interesting as a product launch and started being interesting as a positioning move. Anthropic has Claude Cowork. OpenAI has ChatGPT agent. Microsoft has its Copilot stack. They are all trying to solve the same problem: how do you give an AI agent enough context to actually be useful without making the user paste their entire life into a chat window every morning?</p><p>Google&#8217;s answer is the one you&#8217;d expect: <em>we already have your life</em>. Your email, your calendar, your documents, your search history, your location, your photos. The integration isn&#8217;t a feature. It&#8217;s a moat.</p><h2>Search, agentic commerce, and the eyewear</h2><p>A few other things worth flagging:</p><p><strong>Search.</strong> Google called it the biggest upgrade in nearly 30 years. In practice, this means AI Mode becomes more deeply embedded, and &#8220;Information agents&#8221; surface inside search results. The traditional ten blue links continue their slow death.</p><p><strong>Universal Cart.</strong> Agentic shopping. Spark and other Gemini surfaces can put items into a unified cart across retailers and, eventually, complete the purchase. The implications for the open web&#8217;s already battered ad economy are not subtle.</p><p><strong>Samsung &#8220;Intelligent Eyewear.&#8221;</strong> Google + Samsung smart glasses, shipping this fall. Directions, texts, photos, all without pulling out your phone. This is the third or fourth time Google has tried to make a face computer happen. Whether the AI hook is enough to change the outcome, open question.</p><p><strong>Antigravity 2.0.</strong> The agent-first development platform for building and orchestrating agents got expanded capabilities and tighter Agent Platform integration. If you&#8217;re a developer, this is where you actually live in the new Google story.</p><p><strong>SynthID + C2PA.</strong> Watermarking and content credentials are expanding to Search and Chrome. Good, in principle. Whether it survives contact with the open internet is another matter.</p><h2>What I actually think?</h2><p>Two observations.</p><p>First: <strong>the agentic story is consistent across the industry now, and Google has a structural advantage that no one talks about clearly enough.</strong> OpenAI and Anthropic are building agents that need to connect to your data. Google is building an agent next to your data. Same product on paper. Wildly different friction in practice. If Spark works as advertised, the average Workspace user will reach for it before they reach for anything that requires an OAuth dance.</p><p>Second: <strong>the privacy framing is doing a lot of heavy lifting in the marketing copy.</strong> &#8220;Under your direction&#8221; appears in every Google blog post about Spark. The mechanics, when you read closely, are that an autonomous process runs continuously on Google&#8217;s infrastructure with access to your entire digital footprint and the ability to take actions on your behalf. That&#8217;s not bad on its face, it&#8217;s just a categorically different relationship with your data than &#8220;AI summarizes my email when I open the app.&#8221; The default mental model people will use for Spark is probably wrong, and the consequences of that mismatch will play out over the next year.</p><p>Third, bonus: <strong>the &#8220;100 things we announced&#8221; format is a tell.</strong> When a company has one big idea, they ship one big idea. When they have a strategy they&#8217;re trying to defend on every flank simultaneously, they ship a hundred things. I/O 2026 is the latter. Read it as competitive posture, not vision.</p><p>The model releases are real. The benchmarks are competitive. The eyewear is hardware that might or might not stick. But the lasting move from this I/O is Spark, not because it&#8217;s revolutionary, but because it&#8217;s the cleanest expression of where Google thinks its advantage actually lives.</p><p>Not in models. In your inbox.</p>]]></content:encoded></item><item><title><![CDATA[Un pull request a publicat 84 de pachete malițioase]]></title><description><![CDATA[Asta se &#238;nt&#226;mpl&#259; c&#226;nd un pipeline de release e folosit ca arm&#259; &#238;mpotriva lui &#238;nsu&#537;i]]></description><link>https://doriandiaconu.substack.com/p/un-pull-request-a-publicat-84-de</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/un-pull-request-a-publicat-84-de</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 16 May 2026 11:03:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7lTT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7lTT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7lTT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7lTT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7lTT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7lTT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7lTT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg" width="900" height="470" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:470,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:234184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/197979779?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7lTT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 424w, https://substackcdn.com/image/fetch/$s_!7lTT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 848w, https://substackcdn.com/image/fetch/$s_!7lTT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!7lTT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e352042-1769-47f8-8107-c147dd800daf_900x470.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Pe 11 mai 2026, &#238;ntre 19:20 &#537;i 19:26 UTC, un atacator a publicat 84 de versiuni mali&#539;ioase pentru 42 de pachete <code>@tanstack/*</code>pe npm. <code>@tanstack/react-router</code> singur are peste 12 milioane de desc&#259;rc&#259;ri s&#259;pt&#259;m&#226;nale. Totul a durat &#537;ase minute.</p><p>Niciun token npm nu a fost furat. Niciun 2FA bypass. Pachetele au fost semnate cu atest&#259;ri SLSA Build Level 3, exact dovezile criptografice pe care &#539;i se spune s&#259; te bazezi.</p><h2>Planul de atac</h2><p>Atacatorul, sub numele TeamPCP (acela&#537;i grup din spatele compromiterii Bitwarden CLI &#537;i Trivy de mai devreme &#238;n acest an) a folosit trei tehnici publicate de mult, f&#259;r&#259; niciun cod nou. Tot exploit-ul e o recombinare de cercetare existent&#259;.</p><p><strong>Pasul 1: pull request-ul.</strong> Pe 10 mai, un utilizator <code>zblgg</code> a f&#259;cut fork la <code>TanStack/router</code> &#537;i a redenumit deliberat fork-ul &#238;n <code>zblgg/configuration</code> ca s&#259; nu apar&#259; &#238;n c&#259;ut&#259;rile prin lista de fork-uri. A doua zi a deschis PR #7378 cu titlul &#8222;WIP: simplify history build&#8221;.</p><p><strong>Pasul 2: </strong><code>pull_request_target</code><strong>.</strong> Workflow-ul <code>bundle-size.yml</code> din TanStack rula pe trigger-ul <code>pull_request_target</code>. Acesta e pattern-ul cunoscut drept &#8222;Pwn Request&#8221;: workflow-ul ruleaz&#259; cu permisiunile repo-ului principal, dar face checkout la codul din fork. Workflow-ul f&#259;cea exact lucrul &#238;mpotriva c&#259;ruia avertizeaz&#259; documenta&#539;ia GitHub.</p><p><strong>Pasul 3: cache poisoning.</strong> PR-ul din fork a folosit un pnpm store, iar <code>actions/cache</code> l-a salvat sub o cheie calculat&#259; din hash-ul lockfile-ului, exact aceea&#537;i cheie folosit&#259; de workflow-ul de release. Cache-ul &#238;n GitHub Actions e legat de repo &#537;i partajat &#238;ntre trigger-e. Adnan Khan a documentat asta &#238;n mai 2024. E o problem&#259; de design cunoscut&#259;.</p><p><strong>Pasul 4: extrac&#539;ia OIDC.</strong> C&#226;nd un maintainer legitim a f&#259;cut push pe main, <code>release.yml</code> a restaurat cache-ul otr&#259;vit. Workflow-ul de release are <code>id-token: write</code> pentru trusted publishing pe npm. Binarele atacatorului au citit <code>/proc/&lt;pid&gt;/maps</code> &#537;i <code>/proc/&lt;pid&gt;/mem</code> ale procesului <code>Runner.Worker</code>, au extras token-ul OIDC direct din memorie &#537;i au f&#259;cut request direct la npm. Scriptul Python de memory dump e copiat din compromiterea tj-actions din martie 2025, cu tot cu comentariul de atribuire.</p><p>Pentru npm, asta ar&#259;ta ca un publish normal din <code>release.yml</code> al <code>TanStack/router</code> pe <code>refs/heads/main</code>. Pentru c&#259; asta &#537;i era.</p><h2>Ce face malware-ul efectiv?</h2><p>Odat&#259; ce faci <code>npm install</code> la un pachet compromis, un script <code>prepare</code> din lifecycle descarc&#259; runtime-ul Bun &#537;i execut&#259; <code>router_init.js</code>, un payload obfuscat de ~2.3 MB. Colecteaz&#259; creden&#539;iale AWS IMDS, metadate GCP, token-uri Kubernetes service-account, token-uri Vault, token-uri GitHub, chei SSH, <code>~/.npmrc</code>, &#537;i exfiltreaz&#259; prin re&#539;eaua descentralizat&#259; Session. Comportament standard de stealer pentru supply chain.</p><p>Partea interesant&#259; e persisten&#539;a. Payload-ul instaleaz&#259; un daemon <code>gh-token-monitor</code> care face poll la fiecare 60 de secunde. Dac&#259; detecteaz&#259; c&#259; token-ul de GitHub a fost revocat, execut&#259; <code>rm -rf</code> pe home directory. Un dead-man&#8217;s switch proiectat special.</p><p>Dac&#259; faci cleanup: <strong>omoar&#259; daemon-ul &#238;nainte s&#259; rote&#537;ti orice creden&#539;ial.</strong> Asta e partea grea a incidentului.</p><p>Worm-ul mai enumer&#259; &#537;i alte pachete npm pe care le republic&#259; cu acelea&#537;i modific&#259;ri, a&#537;a a ajuns blast radius-ul la Mistral AI, UiPath, OpenSearch, Guardrails AI &#537;i peste 170 de pachete pe npm &#537;i PyPI &#238;n 48 de ore.</p><h2>Ce se remarc&#259; aici?</h2><p>Narativul &#238;mpins acum (&#8222;OIDC trusted publishing e viitorul, scap&#259; de token-urile cu durat&#259; lung&#259;&#8221;) are o problem&#259;. OIDC n-a e&#537;uat din cauza criptografiei slabe. A e&#537;uat pentru c&#259; modelul nu are nicio no&#539;iune de <em>care pas din workflow</em> are voie s&#259; emit&#259; un token de publicare. Odat&#259; setat <code>id-token: write</code>, orice cod care ruleaz&#259; oriunde &#238;n acel job poate apela registry-ul. Pasul de test are aceea&#537;i autoritate ca pasul de publish. Nu exist&#259; granularitate.</p><p>SLSA Build Level 3 trebuia &#537;i el s&#259; &#238;nsemne ceva. &#536;i &#238;nc&#259; &#238;nseamn&#259;, tehnic: da, pachetul &#259;sta a fost construit de pipeline-ul de release al TanStack pe main. Doar c&#259; pipeline-ul rula cod controlat de atacator. Dovede&#537;te originea, nu inten&#539;ia. Distinc&#539;ia asta va conta mult mai mult de acum &#238;ncolo.</p><p>&#536;i (credit unde se cuvine) postmortem-ul TanStack e neobi&#537;nuit de onest. Noteaz&#259; explicit: atacatorul a ales un payload care a dezorientat testele, ceea ce a f&#259;cut ca pasul <em>normal</em> de publish s&#259; fie s&#259;rit. Un atacator mai atent ar fi putut r&#259;m&#226;ne nedetectat ore &#238;n plus fa&#539;&#259; de cele 20 de minute care au fost necesare &#238;n realitate. Cercet&#259;torul extern (<code>ashishkurmi</code> la StepSecurity) a descoperit asta; maintainerii nu.</p><h2>Ce trebuie f&#259;cut concret?</h2><p>Dac&#259; ai instalat <code>@tanstack/*</code> &#238;ntre 19:20 &#537;i 21:00 UTC pe 11 mai 2026:</p><ol><li><p>Nu roti &#238;nc&#259; token-urile de GitHub. Caut&#259; <code>gh-token-monitor</code>, <code>router_init.js</code>, <code>setup.mjs</code> mai &#238;nt&#226;i. Omoar&#259; daemon-ul.</p></li><li><p>Apoi rote&#537;te tot ce e accesibil de pe host-ul de install: AWS, GCP, Kubernetes, Vault, GitHub, npm, SSH.</p></li><li><p><code>@tanstack/query</code>, <code>@tanstack/table</code>, <code>@tanstack/form</code>, <code>@tanstack/virtual</code>, <code>@tanstack/store</code> nu au fost afectate. Router, start-server-core, start-client-core, router-plugin au fost.</p></li></ol><p>Dac&#259; &#238;ntre&#539;ii ceva cu un pipeline de release care folose&#537;te OIDC trusted publishing:</p><ul><li><p>Auditeaz&#259; fiecare workflow cu <code>pull_request_target</code>.</p></li><li><p>Nu partaja namespace-uri de cache &#238;ntre workflow-uri triggered de fork &#537;i triggered de main. Schimb&#259; cheia de cache. Primele trei fix-uri ale TanStack au fost exact astea (schimb&#259; trigger-ul, sparge cheia, dezactiveaz&#259; cache-ul) &#238;n ordine de escaladare, pentru c&#259; niciun fix luat singur nu a fost considerat complet.</p></li><li><p>Trateaz&#259; <code>id-token: write</code> ca un creden&#539;ial de publicare. Nu rula nimic altceva &#238;n acela&#537;i job.</p></li></ul><p>Lec&#539;ia mai mare e nepl&#259;cut&#259;. Planul aici e format din trei vulnerabilit&#259;&#539;i, toate documentate public, toate cunoscute de peste un an. S-a spus c&#259; primitivele noi (OIDC, SLSA, trusted publishing) rezolv&#259; aceast&#259; clas&#259; de probleme. Nu au rezolvat-o.</p>]]></content:encoded></item><item><title><![CDATA[A pull request published 84 malicious packages with valid signatures]]></title><description><![CDATA[The supply chain is not okay]]></description><link>https://doriandiaconu.substack.com/p/a-pull-request-published-84-malicious</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/a-pull-request-published-84-malicious</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 16 May 2026 10:43:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8Be5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Be5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Be5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8Be5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8Be5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8Be5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Be5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg" width="900" height="470" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:470,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:234184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/197978643?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8Be5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8Be5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8Be5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8Be5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43cca821-15da-4147-bceb-7afea0534429_900x470.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On May 11, 2026, between 19:20 and 19:26 UTC, an attacker published 84 malicious versions across 42 <code>@tanstack/*</code> npm packages. <code>@tanstack/react-router</code> alone gets over 12 million weekly downloads. The whole thing took six minutes.</p><p>No npm token was stolen. No maintainer machine was compromised. No 2FA was bypassed. The packages were signed with valid SLSA Build Level 3 provenance attestations, the same cryptographic proofs you&#8217;re told to trust.</p><p>This is what happens when a release pipeline gets weaponized against itself.</p><h2>The chain</h2><p>The attacker, tracked as TeamPCP (the same group behind the Bitwarden CLI and Trivy compromises earlier this year) used three publicly documented techniques, zero novel code. The whole exploit is a recombination of existing research.</p><p><strong>Step 1: the pull request.</strong> On May 10, a user <code>zblgg</code> forked <code>TanStack/router</code> and deliberately renamed the fork to <code>zblgg/configuration</code> so it wouldn&#8217;t show up in fork-list searches. The next day, they opened PR #7378 titled &#8220;WIP: simplify history build.&#8221;</p><p><strong>Step 2: </strong><code>pull_request_target</code><strong>.</strong> TanStack&#8217;s <code>bundle-size.yml</code> workflow ran on the <code>pull_request_target</code> trigger. This is the well-known &#8220;Pwn Request&#8221; pattern: the workflow runs with base-repo permissions but checks out fork code. Untrusted code, trusted context. The workflow did exactly what GitHub&#8217;s docs warn against.</p><p><strong>Step 3: cache poisoning.</strong> The fork PR built a pnpm store and <code>actions/cache</code> saved it under a key computed from the lockfile hash, the exact same key the release workflow uses. GitHub Actions cache is scoped per-repo and shared across triggers. Adnan Khan documented this in May 2024. It&#8217;s a known footgun.</p><p><strong>Step 4: OIDC extraction.</strong> When a legitimate maintainer later pushed to main, <code>release.yml</code> restored the poisoned cache. The release workflow has <code>id-token: write</code> for npm trusted publishing. Attacker binaries read <code>/proc/&lt;pid&gt;/maps</code> and <code>/proc/&lt;pid&gt;/mem</code> of the <code>Runner.Worker</code> process, ripped the OIDC token straight out of memory, and posted to npm directly. The memory-dump Python script is a verbatim copy from the tj-actions compromise of March 2025, attribution comment included.</p><p>To npm, this looked like a normal trusted publish from <code>TanStack/router</code>&#8216;s <code>release.yml</code> on <code>refs/heads/main</code>. Because it was. The trust boundary was already inside the runner.</p><h2>What the malware actually does?</h2><p>Once you <code>npm install</code> a compromised package, a <code>prepare</code> lifecycle script downloads the Bun runtime, then executes <code>router_init.js</code>, a ~2.3 MB obfuscated payload. It harvests AWS IMDS credentials, GCP metadata, Kubernetes service-account tokens, Vault tokens, GitHub tokens, SSH keys, <code>~/.npmrc</code>, and exfiltrates over the Session decentralized network. Standard supply-chain stealer behavior.</p><p>The interesting part is the persistence. The payload installs a <code>gh-token-monitor</code> daemon that polls every 60 seconds. If it detects that your GitHub token has been revoked, it executes <code>rm -rf</code> against your home directory. A dead-man&#8217;s switch designed specifically to punish incident response.</p><p>If you&#8217;re cleaning up: <strong>kill the daemon before you rotate any credentials.</strong> This is the actual hard part of this incident.</p><p>The worm also enumerates other npm packages the victim maintains and republishes them with the same injection, which is how the blast radius reached Mistral AI, UiPath, OpenSearch, Guardrails AI, and 170+ packages across npm and PyPI in 48 hours.</p><h2>What this breaks?</h2><p>The framing being pushed (&#8220;OIDC trusted publishing is the future, get rid of long-lived tokens&#8221;) is now in trouble. OIDC didn&#8217;t fail because the cryptography was weak. It failed because the model has no notion of <em>which step inside a workflow</em> is allowed to mint a publish token. Once <code>id-token: write</code> is set, any code running anywhere in that job can call the registry. The test step has the same authority as the publish step. There is no granularity.</p><p>SLSA Build Level 3 provenance was also supposed to mean something. It still does, technically: yes, this package was built by TanStack&#8217;s release pipeline on main. The attestation is accurate. It&#8217;s just that the pipeline was running attacker-controlled code at the moment it signed. Provenance proves origin, not intent. That distinction is going to matter a lot more going forward.</p><p>And (credit where it&#8217;s due) TanStack&#8217;s postmortem is unusually honest. They explicitly note: the attacker chose a payload that broke tests, which made the workflow&#8217;s <em>normal</em> publish step skip. A more careful attacker who didn&#8217;t break tests could have stayed undetected for hours longer than the 20 minutes it actually took. The external researcher (<code>ashishkurmi</code> at StepSecurity) caught this; the maintainers didn&#8217;t.</p><h2>What to actually do?</h2><p>If you installed <code>@tanstack/*</code> between 19:20 and 21:00 UTC on May 11, 2026:</p><ol><li><p>Don&#8217;t rotate GitHub tokens yet. Search for <code>gh-token-monitor</code>, <code>router_init.js</code>, <code>setup.mjs</code> first. Kill the daemon.</p></li><li><p>Then rotate everything reachable from the install host: AWS, GCP, Kubernetes, Vault, GitHub, npm, SSH.</p></li><li><p><code>@tanstack/query</code>, <code>@tanstack/table</code>, <code>@tanstack/form</code>, <code>@tanstack/virtual</code>, <code>@tanstack/store</code> were not affected. Router, start-server-core, start-client-core, router-plugin were.</p></li></ol><p>If you maintain anything with a release pipeline that uses OIDC trusted publishing:</p><ul><li><p>Audit every <code>pull_request_target</code> workflow. If it checks out fork code, restructure it.</p></li><li><p>Don&#8217;t share cache namespaces between fork-triggered and main-triggered workflows. Bust the cache key. TanStack&#8217;s first three fixes were exactly this ( change trigger, bust key, disable cache) in escalating order, because no single fix was assumed to be complete.</p></li><li><p>Treat <code>id-token: write</code> as a publish credential. Don&#8217;t run anything else in the same job.</p></li></ul><p>The bigger lesson is uncomfortable. The chain here is three vulnerabilities, all publicly documented, all known for over a year. Defenders were told the new primitives (OIDC, SLSA, trusted publishing) solved this class of problem. They didn&#8217;t. They moved it.</p><p>The supply chain isn&#8217;t broken because the cryptography is weak. It&#8217;s broken because the trust boundaries between CI primitives don&#8217;t match the trust boundaries the developers think they&#8217;re getting.</p>]]></content:encoded></item><item><title><![CDATA[Copy Fail]]></title><description><![CDATA[O serie de patru octe&#539;i care &#238;&#539;i m&#259;n&#226;nc&#259; page cache-ul]]></description><link>https://doriandiaconu.substack.com/p/copy-fail-8d6</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/copy-fail-8d6</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 09 May 2026 17:37:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cOYt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cOYt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cOYt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!cOYt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!cOYt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!cOYt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cOYt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83034,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/197028780?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cOYt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!cOYt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!cOYt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!cOYt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa509b90-4dbe-42e6-b62f-00bc5543b20f_1600x900.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Pe 29 aprilie, cercet&#259;torii de la Theori &#537;i Xint au f&#259;cut public CVE-2026-31431, o vulnerabilitate de escaladare local&#259; a privilegiilor &#238;n kernelul Linux, botezat&#259; Copy Fail. A doua zi, CISA o trecuse deja &#238;n catalogul Known Exploited Vulnerabilities. P&#226;n&#259; la sf&#226;r&#537;itul s&#259;pt&#259;m&#226;nii, oricine avea un shell pe o ma&#537;in&#259; vulnerabil&#259; putea deveni root cu un script Python de 732 de octe&#539;i.</p><h2>Vulnerabilitatea &#238;n dou&#259; paragrafe</h2><p>Copy Fail tr&#259;ie&#537;te &#238;n <code>algif_aead</code>, modulul de kernel care expune cifrurile de tip Authenticated Encryption with Associated Data c&#259;tre userspace prin socket-uri <code>AF_ALG</code>. &#206;n 2017, cineva a optimizat opera&#539;iile AEAD ca s&#259; ruleze in-place: sursa &#537;i destina&#539;ia indic&#259; spre aceea&#537;i zon&#259; de memorie. Mai rapid, mai pu&#539;ine copieri, gata, merge &#238;n produc&#539;ie.</p><p>Nou&#259; ani mai t&#226;rziu, iat&#259; consecin&#539;a. Un utilizator neprivilegiat deschide un descriptor de fi&#537;ier pe un binar setuid precum <code>/usr/bin/su</code>, face splice paginilor lui din page cache &#238;ntr-un socket AF_ALG, apoi cere kernelului s&#259; execute o opera&#539;ie AEAD folosind algoritmul <code>authencesn(hmac(sha256), cbc(aes))</code>. Algoritmul respectiv face o scriere &#8220;scratch&#8221; de 4 octe&#539;i a unui num&#259;r de secven&#539;&#259; &#238;n scatterlist-ul destina&#539;ie, care, datorit&#259; optimiz&#259;rii in-place, con&#539;ine fix paginile din page cache ale lui <code>su</code>. Kernelul scrie octe&#539;ii controla&#539;i de atacator &#238;n copia din memorie a lui <code>su</code>. Fi&#537;ierul de pe disc r&#259;m&#226;ne neatins. Urm&#259;torul care ruleaz&#259; <code>su</code> execut&#259; copia modificat&#259; ca root.</p><p>At&#226;t. Patru octe&#539;i, f&#259;r&#259; race condition, f&#259;r&#259; offset-uri de kernel, f&#259;r&#259; bypass de ASLR. Un bug de logic&#259; determinist, cu un exploit care func&#539;ioneaz&#259; identic pe Ubuntu 24.04, Amazon Linux 2023, RHEL 10.1 &#537;i SUSE 16.</p><h2>De ce love&#537;te mai tare &#238;n containere dec&#226;t un CVE de kernel obi&#537;nuit?</h2><p>Page cache-ul e partajat. Asta e toat&#259; ideea page cache-ului.</p><p>C&#226;nd un container modific&#259; page cache-ul unui fi&#537;ier, modific&#259; page cache-ul host-ului, care e acela&#537;i page cache din care citesc toate celelalte containere de pe acel host. Bugcrowd a formulat-o curat: o scriere dintr-un container afecteaz&#259; host-ul &#537;i, prin urmare, fiecare alt tenant de pe acel host.</p><p>Lec&#539;ia arhitectural&#259; e cea nepopular&#259;: grani&#539;ele de container care &#539;in sub Copy Fail sunt cele care nu &#238;mpart un kernel. Firecracker microVM-urile (AWS Lambda, Fargate), izolatele V8 (Cloudflare Workers), kernelul &#238;n userspace al gVisor, niciuna nu e afectat&#259; de Copy Fail pentru c&#259; niciuna nu &#238;mparte <code>algif_aead</code> cu tenan&#539;ii. Containerele Linux standard &#238;mpart totul &#238;n afar&#259; de iluziile namespace-urilor, iar Copy Fail trece direct prin ele.</p><h2>Memory-only, ceea ce &#238;nseamn&#259; c&#259;-&#539;i stric&#259; &#537;i forensics-ul</h2><p>Exploit-ul nu modific&#259; fi&#537;ierul pe disc. Modific&#259; paginile cached din RAM. Trei consecin&#539;e opera&#539;ionale apar din asta:</p><ol><li><p>Monitoarele de file-integrity care fac hash pe starea de pe disc nu v&#259;d nimic.</p></li><li><p>Un reboot anuleaz&#259; modificarea, ceea ce sun&#259; lini&#537;titor p&#226;n&#259; realizezi c&#259; distruge &#537;i singura dovad&#259; c&#259; atacul a avut loc.</p></li><li><p>Patch-ul singur nu e suficient pe sisteme care ar fi putut fi compromise. Trebuie s&#259; gole&#537;ti page cache-ul (<code>echo 3 &gt; /proc/sys/vm/drop_caches</code>) sau s&#259; faci reboot ca s&#259; elimini paginile contaminate care &#238;nc&#259; rezid&#259; &#238;n memorie.</p></li></ol><p>&#536;i &#259;sta e motivul pentru care Copy Fail a ap&#259;rut &#238;n CISA KEV &#238;n 24 de ore. E exploatabil, e fiabil, iar urmele sunt efemere prin design.</p><h2>Capcana din mitigare</h2><p>Mi&#537;carea evident&#259; e s&#259; pui modulul pe blacklist:</p><pre><code><code>echo 'install algif_aead /bin/false' &gt; /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead
</code></code></pre><p>Pe multe distribu&#539;ii, asta nu face exact nimic. Modulul e adesea compilat direct &#238;n kernel (<code>CONFIG_CRYPTO_USER_API_AEAD=y</code>), caz &#238;n care regulile modprobe nu-l pot bloca, iar <code>rmmod</code> returneaz&#259; o eroare politicoas&#259;. Verific&#259; cu:</p><pre><code><code>zgrep CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
</code></code></pre><p>Dac&#259; vezi <code>=y</code>, trebuie s&#259; dezactivezi initcall-ul prin linia de comand&#259; a kernelului. Pe familia RHEL:</p><pre><code><code>grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
</code></code></pre><p>Reboot &#537;i verific&#259; cu <code>cat /proc/cmdline</code>. Conteaz&#259; pentru c&#259;, &#238;n primele 48 de ore dup&#259; dezv&#259;luire, un num&#259;r decent de admini au pus blacklist via modprobe, n-au f&#259;cut reboot, n-au verificat &#537;i au presupus c&#259; sunt acoperi&#539;i. Nu erau.</p><p>Pentru majoritatea workload-urilor, dezactivarea AF_ALG AEAD e inofensiv&#259;: dm-crypt, LUKS, kTLS, IPsec, SSH &#537;i OpenSSL/GnuTLS standard nu depind de el. Doar software-ul care folose&#537;te explicit motorul AF_ALG  (de obicei setup-uri cu offload de criptografie hardware) va sim&#539;i diferen&#539;a.</p><h2>C&#226;t a costat optimizarea?</h2><p>Commit-ul din 2017 care a introdus Copy Fail a fost o schimbare de performan&#539;&#259;. A f&#259;cut opera&#539;iile AEAD marginal mai rapide elimin&#226;nd o copiere de buffer. Costul, pl&#259;tit nou&#259; ani mai t&#226;rziu de fiecare maintainer de kernel, fiecare echip&#259; de securitate de distribu&#539;ie, fiecare inginer ops trezit &#238;n noaptea de 30 aprilie e dispropor&#539;ionat de mare fa&#539;&#259; de throughput-ul c&#226;&#537;tigat.</p><p>Acela&#537;i pattern de optimizare e responsabil &#537;i pentru CVE-2022-27666, pentru lan&#539;ul Dirty Frag care l-a urmat pe Copy Fail la exact o s&#259;pt&#259;m&#226;n&#259;, &#537;i pentru clasa mai larg&#259; de primitive de scriere &#238;n page cache din care fac parte Dirty Pipe &#537;i Dirty Cow. Avem, p&#226;n&#259; acum, dovezi rezonabile c&#259; &#8220;in-place e mai rapid&#8221; aplicat c&#259;ilor de I/O din kernel e un footgun recurent, iar comunitatea kernelului continu&#259; s&#259;-l repete pentru c&#259; alternativa (u&#537;or mai lent&#259;, u&#537;or mai sigur&#259;) nu e ce premiaz&#259; benchmark-urile.</p><p>Instinctul de optimizare-&#238;nt&#226;i al kernelului Linux l-a f&#259;cut competitiv pe workload-urile care au pl&#259;tit facturile dou&#259; decenii. A produs &#537;i o clas&#259; de bug-uri care dureaz&#259; un deceniu s&#259; fie g&#259;site &#537;i zece minute s&#259; fie transformate &#238;n arme odat&#259; g&#259;site. </p><h2>Concluzia plictisitoare</h2><p>Aplic&#259; patch-urile la kernele, toate distribu&#539;iile majore au livrat fix-uri p&#226;n&#259; acum. Reboot, sau cel pu&#539;in gole&#537;te page cache-ul, pe orice ma&#537;in&#259; de care nu e&#537;ti sigur. Dac&#259; rulezi containere multi-tenant, f&#259; audit la cine are acces shell pe host-uri, pentru c&#259; Copy Fail face &#238;ntrebarea asta mai grea dec&#226;t era. Iar dac&#259; &#238;nc&#259; rulezi un kernel LTS de dinainte de 2017 pentru c&#259; nu &#539;i-a stricat nimic, felicit&#259;ri: e&#537;ti singurul pe care Copy Fail nu afecteaz&#259;.</p>]]></content:encoded></item><item><title><![CDATA[Copy Fail]]></title><description><![CDATA[A Four-Byte Write That Eats Your Page Cache]]></description><link>https://doriandiaconu.substack.com/p/copy-fail</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/copy-fail</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 09 May 2026 17:25:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gklf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gklf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gklf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!gklf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!gklf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!gklf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gklf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83034,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/197028073?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gklf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!gklf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!gklf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!gklf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faa4a9abf-cf98-4f2d-8405-ab34fe8d567b_1600x900.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On April 29th, researchers at Theori and Xint disclosed CVE-2026-31431, a local privilege escalation in the Linux kernel they named Copy Fail. By the next day, CISA had it in the Known Exploited Vulnerabilities catalogue. By the end of the week, anyone with a shell on a vulnerable box could become root with a 732-byte Python script.</p><p>If you&#8217;ve patched, this is mostly a postmortem. If you haven&#8217;t, finish reading and then fix it.</p><h2>The flaw in two paragraphs</h2><p>Copy Fail lives in <code>algif_aead</code>, the kernel module that exposes Authenticated Encryption with Associated Data ciphers to userspace through <code>AF_ALG</code> sockets. In 2017 someone optimised AEAD operations to run in-place: source and destination point at the same memory. Faster, fewer copies, ships it.</p><p>Nine years later, here&#8217;s the consequence. An unprivileged user opens a file descriptor on a setuid binary like <code>/usr/bin/su</code>, splices its page-cache pages into an AF_ALG socket, then asks the kernel to perform an AEAD operation using the <code>authencesn(hmac(sha256), cbc(aes))</code> algorithm. That algorithm does a small &#8220;scratch&#8221; write of a 4-byte sequence number into the destination scatterlist, which the in-place optimisation has happily filled with page-cache pages of <code>su</code>. The kernel writes attacker-controlled bytes into the in-memory copy of <code>su</code>. The on-disk file isn&#8217;t touched. The next caller of <code>su</code> runs the patched copy as root.</p><p>That&#8217;s it. Four bytes, no race condition, no kernel offsets, no ASLR bypass. A deterministic logic flaw with an exploit path that works the same across Ubuntu 24.04, Amazon Linux 2023, RHEL 10.1, and SUSE 16.</p><h2>Why this hits containers harder than the average kernel CVE?</h2><p>The page cache is shared. That&#8217;s the entire point of the page cache.</p><p>When a container modifies a file&#8217;s page cache, it&#8217;s modifying the host&#8217;s page cache, which is the same page cache every other container on that host is reading from. Bugcrowd&#8217;s writeup put it cleanly: a write from one container affects the host and therefore every other tenant on that host.</p><p>The architectural lesson is the unfashionable one: the container boundaries that hold under Copy Fail are the ones that don&#8217;t share a kernel. Firecracker microVMs (AWS Lambda, Fargate), V8 isolates (Cloudflare Workers), gVisor&#8217;s user-space kernel, none of these are affected by Copy Fail because none of them share <code>algif_aead</code> with their tenants. Standard Linux containers share everything except the namespace illusions, and Copy Fail walks straight through that.</p><p>If you&#8217;ve been running multi-tenant Kubernetes on shared nodes with default seccomp, you should sit with that for a minute.</p><h2>Memory-only, which means your forensics are also broken</h2><p>The exploit doesn&#8217;t change the file on disk. It changes the cached pages in RAM. Three operational consequences fall out of that:</p><ol><li><p>File-integrity monitors that hash on-disk state see nothing.</p></li><li><p>A reboot reverts the change, which sounds reassuring until you realise it also destroys the only evidence the attack happened.</p></li><li><p>Patching alone isn&#8217;t sufficient on systems that may have been hit. You have to drop the page cache (<code>echo 3 &gt; /proc/sys/vm/drop_caches</code>) or reboot to evict any poisoned pages still resident.</p></li></ol><p>This is also why Copy Fail showed up in CISA KEV within 24 hours. It&#8217;s exploitable, it&#8217;s reliable, and the artifacts are ephemeral by design.</p><h2>The mitigation gotcha</h2><p>The obvious move is to blacklist the module:</p><pre><code><code>echo 'install algif_aead /bin/false' &gt; /etc/modprobe.d/disable-algif-aead.conf
rmmod algif_aead
</code></code></pre><p>On many distributions this does exactly nothing. The module is often built directly into the kernel (<code>CONFIG_CRYPTO_USER_API_AEAD=y</code>), in which case modprobe rules can&#8217;t block it and <code>rmmod</code> returns a polite error. Check with:</p><pre><code><code>zgrep CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
</code></code></pre><p>If you see <code>=y</code>, you need to disable the initcall via the boot command line. On RHEL-family:</p><pre><code><code>grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
</code></code></pre><p>Reboot, and verify with <code>cat /proc/cmdline</code>. This matters because in the first 48 hours after disclosure a fair number of admins ran modprobe blacklist, didn&#8217;t reboot, didn&#8217;t check, and assumed they were covered. They weren&#8217;t.</p><p>For most workloads disabling AF_ALG AEAD is harmless: dm-crypt, LUKS, kTLS, IPsec, SSH, and stock OpenSSL/GnuTLS don&#8217;t depend on it. Only software that explicitly uses the AF_ALG engine (typically hardware-crypto offload setups) will notice.</p><h2>What the optimisation cost?</h2><p>It&#8217;s worth naming this directly. The 2017 commit that introduced Copy Fail was a performance change. It made AEAD operations marginally faster by removing a buffer copy. The cost, paid nine years later by every kernel maintainer, every distro security team, every ops engineer woken up on April 30th is wildly disproportionate to the throughput gained.</p><p>The same optimisation pattern is also responsible for CVE-2022-27666, the Dirty Frag chain that followed Copy Fail by exactly one week, and the broader page-cache-write primitive class that includes Dirty Pipe and Dirty Cow. We have, by now, reasonable evidence that &#8220;in-place is faster&#8221; applied to kernel I/O paths is a recurring footgun, and that the kernel community keeps repeating it because the alternative (slightly slower, slightly safer) is not what the benchmarks reward.</p><p>There&#8217;s a culture question buried in here. The Linux kernel&#8217;s optimisation-first instinct made it competitive on workloads that paid the bills for two decades. It also produced a class of bug that takes a decade to find and ten minutes to weaponise once found. Both things are true.</p><h2>The boring close</h2><p>Patch your kernels, every major distribution has shipped fixes by now. Reboot, or at minimum drop your page cache, on anything you&#8217;re not sure about. If you run multi-tenant containers, audit who has shell access on your hosts, because Copy Fail makes that question more load-bearing than it used to be. And if you&#8217;re still running an LTS kernel from before 2017 because nothing&#8217;s broken, congratulations: you&#8217;re the only people Copy Fail doesn&#8217;t apply to. Everyone else has homework.</p>]]></content:encoded></item><item><title><![CDATA[Framework a construit, în sfârșit, laptopul pe care l-au promis dintotdeauna]]></title><description><![CDATA[Ubuntu se vinde mai bine ca Windows]]></description><link>https://doriandiaconu.substack.com/p/framework-a-construit-in-sfarsit</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/framework-a-construit-in-sfarsit</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 02 May 2026 15:46:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!t3ee!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!t3ee!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!t3ee!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 424w, https://substackcdn.com/image/fetch/$s_!t3ee!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 848w, https://substackcdn.com/image/fetch/$s_!t3ee!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 1272w, https://substackcdn.com/image/fetch/$s_!t3ee!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!t3ee!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif" width="1456" height="1004" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1004,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:986683,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/196229275?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!t3ee!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 424w, https://substackcdn.com/image/fetch/$s_!t3ee!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 848w, https://substackcdn.com/image/fetch/$s_!t3ee!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 1272w, https://substackcdn.com/image/fetch/$s_!t3ee!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8dca85a-1b29-4b4e-b807-2714e5d3e3a9_3742x2580.avif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Cea mai interesant&#259; parte a noului Framework Laptop 13 Pro, anun&#539;at pe 21 aprilie 2026, nu e &#537;asiul din aluminiu CNC, nici autonomia de 20 de ore, nici m&#259;car faptul c&#259; &#259;sta e primul Framework care nu te mai oblig&#259; s&#259; alegi &#238;ntre reparabilitate &#537;i aspectul premium.</p><p>Ci faptul c&#259; versiunile pre-instalate cu Ubuntu se v&#226;nd mai bine dec&#226;t cele cu Windows.</p><p>E o propozi&#539;ie pe care nu m&#259; a&#537;teptam s-o scriu &#238;n 2026. Datele timpurii de v&#226;nz&#259;ri sugereaz&#259; c&#259; modelele cu Ubuntu pre-instalat se v&#226;nd mai repede dec&#226;t cele cu Windows. Pentru o companie care &#537;i-a construit &#238;ntreaga afacere pe ideea c&#259; proprietatea &#537;i reparabilitatea conteaz&#259;, &#259;sta e o confirmare mai zgomotoas&#259; dec&#226;t orice fi&#537;&#259; tehnic&#259;.</p><p>Hai s&#259; le lu&#259;m pe r&#226;nd.</p><h2>Ce s-a schimbat de fapt?</h2><p>Framework a petrecut &#537;ase ani lans&#226;nd refresh-uri iterative ale aceluia&#537;i &#537;asiu de 13 inch, &#537;i fiecare review ajungea, mai devreme sau mai t&#226;rziu, la acela&#537;i paragraf: filozofie excelent&#259;, laptop decent, dar build-ul r&#259;m&#226;ne cu un pas &#238;n urma unui MacBook sau XPS. 13 Pro e primul model unde paragraful &#259;la nu se mai aplic&#259;.</p><p>&#536;asiul e prelucrat integral din blocuri extrudate de aluminiu 6063, sistemul are 15.85mm grosime &#537;i c&#226;nt&#259;re&#537;te 1.4kg. Important e c&#259; spatele se desface &#238;n continuare, cardurile de expansiune se schimb&#259; &#238;n continuare, SSD-ul e accesibil &#238;n c&#226;teva minute, iar manualele de repara&#539;ie r&#259;m&#226;n gratuite. Senza&#539;ia premium nu te-a costat modularitatea intern&#259;.</p><p>&#536;i interiorul urmeaz&#259; acela&#537;i tipar. Procesoarele Intel Core Ultra Series 3 (Panther Lake) sunt disponibile &#238;n configura&#539;ii Core Ultra 5, Core Ultra X7 &#537;i Core Ultra X9, cu p&#226;n&#259; la 16 nuclee, inclusiv patru nuclee Low Power Efficient care permit ca workload-uri precum video streaming-ul s&#259; ruleze doar pe ele, cresc&#226;nd autonomia substan&#539;ial. O baterie de 74Whr (cu 20% mai mare dec&#226;t cea de 61Whr de dinainte) &#238;l alimenteaz&#259;, iar Framework promite p&#226;n&#259; la 20 de ore de autonomie pe un Ultra X7 358H cu display 2.8K la 250 ni&#539;i, streaming Netflix 4K pe Windows 11 (Power Efficiency). &#206;n uz real, cifrele vor fi mai mici, ca &#238;ntotdeauna, dar &#259;sta e primul Framework care nu termin&#259; ziua pe &#238;nc&#259;rc&#259;tor.</p><p>Dou&#259; detalii conteaz&#259; cel mai mult pentru mine:</p><p><strong>Display-ul e custom.</strong> E tot un display de 13.5&#8221; &#238;n format 3:2 cu rezolu&#539;ie 2880x1920, dar pentru prima dat&#259; Framework nu a luat ceva de pe raft, ci &#537;i-au construit unul optimizat pentru productivitate &#537;i cod. Refresh rate variabil, 700 ni&#539;i luminozitate, touch. Asta se &#238;nt&#226;mpl&#259; c&#226;nd o companie &#238;nceteaz&#259; s&#259; mai fie pur &#537;i simplu un integrator.</p><p><strong>Memoria r&#259;m&#226;ne upgradabil&#259;.</strong> Nu exist&#259; RAM lipit. Pro-ul trece la LPCAMM2 (Compression-Attached Memory Module) cu memorie LPDDR5X-8533 &#238;nlocuibil&#259; de utilizator, &#238;n configura&#539;ii de 16GB, 32GB &#537;i 64GB la viteze de p&#226;n&#259; la 7.467 MT/s. Orice alt ultrabook premium din 2026 are RAM-ul lipit pe plac&#259;. Framework nu. Ar trebui s&#259; fie o &#537;tire mai important&#259; dec&#226;t e.</p><h2>Path-ul de upgrade pe care nu-l ofer&#259; nimeni altcineva</h2><p>Aici e partea pe care n-o face niciun alt produc&#259;tor de laptopuri &#537;i pe care e u&#537;or s-o ratezi: dac&#259; ai deja orice Laptop 13 Framework, po&#539;i cump&#259;ra doar noul &#537;asiu, doar noul display sau doar noul Pro Input Cover Kit &#537;i s&#259; faci upgrade-ul pe ma&#537;ina ta actual&#259;.</p><p>G&#226;nde&#537;te-te ce &#238;nseamn&#259; asta. Un posesor de Framework din 2021 &#238;&#537;i poate lua placa de baz&#259; existent&#259;, SSD-ul &#537;i s&#259; le migreze bucat&#259; cu bucat&#259; &#238;n &#537;asiul din 2026. Sau poate doar s&#259; schimbe input cover-ul &#537;i s&#259; mearg&#259; mai departe. Compar&#259; cu literalmente orice alt laptop pe care l-ai avut, unde path-ul de upgrade e &#8222;arunc&#259;-l &#537;i cump&#259;r&#259; altul&#8221;.</p><p>A&#537;a ar trebui s&#259; arate proprietatea hardware-ului de consum. Doar c&#259; am stat at&#226;t de mult f&#259;r&#259; ea, &#238;nc&#226;t ni se pare ciudat&#259; acum.</p><h2>Povestea Ubuntu</h2><p>&#206;napoi la titlu. Framework ofer&#259; configura&#539;ii pre-built cu Ubuntu Linux (certificat oficial) de la 1.499 USD, &#238;n paralel cu cele Windows. Iar cele cu Linux se v&#226;nd mai repede.</p><p>C&#226;teva concluzii, &#238;n ordinea &#238;ncrederii:</p><ol><li><p><strong>Baza de clien&#539;i Framework e puternic &#238;nclinat&#259; spre dezvoltatori, power users &#537;i curio&#537;i de Linux.</strong> Nu e un e&#537;antion reprezentativ pentru pia&#539;a de laptopuri. Deci nu, asta nu &#238;nseamn&#259; c&#259; Linux preia controlul.</p></li><li><p><strong>Dar &#238;nseamn&#259; c&#259; pia&#539;a pentru &#8222;vreau s&#259;-mi de&#539;in de fapt computerul&#8221; e real&#259; &#537;i abordabil&#259;.</strong> Suficient de mare c&#226;t o companie de hardware s&#259;-&#537;i construiasc&#259; o afacere profitabil&#259; deservind-o.</p></li><li><p><strong>Windows 11 &#238;&#537;i respinge activ propriii utilizatori de doi ani.</strong> Prin reclame &#238;n Start Menu, cont Microsoft for&#539;at, feature-uri AI pe care nu le-a cerut nimeni. </p></li></ol><p>Primul Framework Laptop, &#238;n 2021, era (privind &#238;n urm&#259;) un manifest cu tastatur&#259;. 13 Pro e primul model unde manifestul &#537;i produsul sunt la acela&#537;i nivel.</p><h2>Ce critic?</h2><p>C&#226;teva nuan&#539;e oneste, pentru c&#259; &#259;sta nu e un comunicat de pres&#259;:</p><ul><li><p><strong>Pre&#539;ul.</strong> DIY porne&#537;te de la 1.199 USD &#537;i pre-built de la 1.499 USD, iar pre&#539;urile au crescut u&#537;or &#238;n 2025 &#537;i 2026 din cauza unei crize globale de DRAM &#537;i NAND, Framework a fost transparent c&#259; vine din costuri de furnizor, nu din marj&#259;. Credibil, dar pune Pro-ul &#238;n zona MacBook Air, unde compara&#539;ia devine mai delicat&#259; pentru cump&#259;r&#259;torii non-filozofici.</p></li><li><p><strong>Disponibilitatea.</strong> Primele unit&#259;&#539;i se livreaz&#259; &#238;n iunie 2026, dar cererea a &#238;mpins deja comenzile ulterioare &#238;n august. Dac&#259; vrei unul pentru var&#259;, trebuia s&#259;-l comanzi ieri.</p></li><li><p><strong>Pozi&#539;ionarea &#8222;Pro&#8221;.</strong> Framework are acum un 13 Pro &#537;i un 13 non-Pro. Aten&#539;ie aici. &#8222;Pro&#8221; e fix modul &#238;n care to&#539;i ceilal&#539;i produc&#259;tori de laptopuri au &#238;nceput s&#259; blocheze SKU-urile mai ieftine.</p></li></ul><h2>Concluzia</h2><p>Framework Laptop 13 Pro nu e cel mai puternic laptop pe care-l po&#539;i cump&#259;ra &#238;n 2026. Nu e nici cel mai u&#537;or, nici cel mai ieftin, nici cel mai frumos. Dar e singurul v&#226;ndut sub presupunerea c&#259; s-ar putea s&#259; vrei s&#259;-l desfaci, s&#259;-l repari, s&#259;-i faci upgrade &#537;i s&#259;-l &#539;ii.</p><p>Asta era idealul pentru a de&#539;ine un computer. Acum pare ceva straniu. Faptul c&#259; destui oameni voteaz&#259; cu portofelul (&#537;i aleg din ce &#238;n ce mai mult versiunea Linux) sugereaz&#259; c&#259; am putea fi la &#238;nceputul unei mici corec&#539;ii.</p>]]></content:encoded></item><item><title><![CDATA[Framework finally built the laptop they always promised]]></title><description><![CDATA[Ubuntu is outselling Windows]]></description><link>https://doriandiaconu.substack.com/p/framework-finally-built-the-laptop</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/framework-finally-built-the-laptop</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 02 May 2026 15:30:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fbNO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fbNO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fbNO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 424w, https://substackcdn.com/image/fetch/$s_!fbNO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 848w, https://substackcdn.com/image/fetch/$s_!fbNO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 1272w, https://substackcdn.com/image/fetch/$s_!fbNO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fbNO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif" width="1456" height="1004" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1004,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:986683,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/avif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/196228499?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fbNO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 424w, https://substackcdn.com/image/fetch/$s_!fbNO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 848w, https://substackcdn.com/image/fetch/$s_!fbNO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 1272w, https://substackcdn.com/image/fetch/$s_!fbNO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b576f35-1a0b-4f23-853e-1cbb6a3a63eb_3742x2580.avif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The most interesting thing about the new Framework Laptop 13 Pro, announced on April 21, 2026, is not the CNC aluminum chassis, or the 20-hour battery, or even the fact that this is the first Framework that doesn&#8217;t ask you to choose between repairability and feel.</p><p>It&#8217;s that the Ubuntu pre-builds are reportedly outselling the Windows ones.</p><p>That&#8217;s a sentence I didn&#8217;t expect to write in 2026. Early sales data suggests the Ubuntu pre-built models are outselling the Windows ones, and the Ubuntu version of the laptop has sold faster than the Windows one. For a company that bet its whole business on the idea that ownership and repairability matter, that&#8217;s a louder endorsement than any spec sheet.</p><p>Let&#8217;s talk about both stories.</p><h2>What actually changed?</h2><p>Framework has spent six years releasing iterative refreshes of the same 13-inch chassis, and every review eventually arrived at the same paragraph: great philosophy, decent laptop, but the build feels a step behind a MacBook or a XPS. The 13 Pro is the first one where that paragraph doesn&#8217;t apply.</p><p>The chassis is fully machined out of extruded blocks of 6063 aluminum, the system is 15.85mm thick, and weighs 1.4kg. Crucially, the back still pops off, the expansion cards still swap, the SSD is still reachable in a few minutes, the screws stay in place when you remove them, and the repair manuals are still free. The premium feel didn&#8217;t cost you the modular guts.</p><p>The internals follow the same pattern. Intel&#8217;s Core Ultra Series 3 (Panther Lake) processors are available across Core Ultra 5, Core Ultra X7, and Core Ultra X9 configurations, with up to 16 cores on Intel&#8217;s new 18A process node, including four Low Power Efficient cores that let workloads like video streaming run on those alone, pushing battery life up substantially. A 74Whr battery (a 20% increase over the previous 61Whr) feeds it, and Framework claims up to 20 hours of runtime on an Ultra X7 358H with a 2.8K display at 250 nits, streaming Netflix 4K on Windows 11 Best Power Efficiency mode. Real-world numbers will land lower, as they always do, but this is the first Framework that doesn&#8217;t end the day on the charger.</p><p>The two details that matter most to me, though:</p><p><strong>The display is custom.</strong> It&#8217;s a 13.5&#8221; 3:2 display with 2880x1920 resolution, but for the first time Framework didn&#8217;t take something off the shelf, they built one optimized for productivity and code. Variable refresh, 700-nit brightness, touch. This is what happens when a company stops being purely an integrator.</p><p><strong>Memory is still upgradeable.</strong> There&#8217;s no soldered RAM. The Pro shifts to LPCAMM2 (Compression-Attached Memory Module) with LPDDR5X-8533 memory that is user replaceable, in 16GB, 32GB, and 64GB configurations at speeds up to 7,467 MT/s. Every other premium ultrabook on the market in 2026 solders the RAM down. Framework didn&#8217;t. That should be a louder story than it is.</p><h2>The upgrade path nobody else offers</h2><p>Here is the part that no other laptop maker is doing, and the part that&#8217;s easy to miss: if you already own any Laptop 13, you can buy just the new chassis, just the display, or just the Pro Input Cover Kit and add the upgrade to your current machine.</p><p>Think about what that means. A 2021 Framework owner can take their existing mainboard, expansion cards, SSD, and migrate piece-by-piece into the 2026 chassis. Or they can just swap the input cover and keep going. Compare that to literally any other laptop you&#8217;ve owned, where the upgrade path is &#8220;throw it away and buy a new one.&#8221;</p><p>This is what consumer hardware ownership is supposed to look like. We&#8217;ve just spent so long without it that it feels strange.</p><h2>The Ubuntu story</h2><p>Back to the lede. Framework is offering pre-built configurations with Ubuntu Linux (certified) starting at $1,499, alongside the Windows builds. And the Linux ones are selling faster.</p><p>A few things to read into that, in order of confidence:</p><ol><li><p><strong>Framework&#8217;s customer base is heavily developer / power-user / Linux-curious.</strong> This isn&#8217;t a representative sample of the laptop market. So no, this doesn&#8217;t mean Linux is taking over.</p></li><li><p><strong>But it does mean the people who buy laptops based on principles are a real, addressable market.</strong> Big enough that a hardware company can build a profitable business serving them.</p></li><li><p><strong>Windows 11 has been actively repelling its own users.</strong> Recall, the ads in the Start menu, the forced Microsoft account, the AI features nobody asked for. When the friction of switching to Linux drops below the friction of staying on Windows, people switch.</p></li></ol><p>The first Framework Laptop in 2021 was, in retrospect, a manifesto with a keyboard. The 13 Pro is the first one where the manifesto and the product are at the same level.</p><h2>What I&#8217;d push back on?</h2><p>A few honest caveats, because this isn&#8217;t a press release:</p><ul><li><p><strong>Pricing.</strong> DIY starts at $1,199 and pre-built at $1,499, and prices have risen slightly in 2025 and 2026 due to a global shortage of DRAM and NAND storage components, Framework has been transparent that this is supplier costs, not margin. Believable, but it still puts the Pro in MacBook Air territory, where the comparison gets harder for non-philosophical buyers.</p></li><li><p><strong>Availability.</strong> First units ship in June 2026, but demand has already pushed later orders into August. If you want one for the summer, you needed to order yesterday.</p></li><li><p><strong>The Pro positioning.</strong> Framework now has a Pro and a non-Pro 13. Watch this space. &#8220;Pro&#8221; is how every other laptop maker started locking down the cheaper SKUs.</p></li></ul><h2>The real point?</h2><p>The Framework Laptop 13 Pro is not the most powerful laptop you can buy in 2026. It&#8217;s not the lightest, the cheapest, or the prettiest. What it is, is the only one being sold to you under the assumption that you might want to take it apart, fix it, upgrade it, and keep it.</p><p>That used to be table stakes for owning a computer. Now it&#8217;s a differentiator. The fact that enough people are voting with their wallets (and increasingly choosing the Linux build while doing it) suggests we might be at the start of a small correction.</p><p>I&#8217;ll take it.</p>]]></content:encoded></item><item><title><![CDATA[Privacy Filter de la OpenAI]]></title><description><![CDATA[Unealt&#259; util&#259;, context incomod]]></description><link>https://doriandiaconu.substack.com/p/privacy-filter-de-la-openai</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/privacy-filter-de-la-openai</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 25 Apr 2026 19:34:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!n3V9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n3V9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n3V9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!n3V9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!n3V9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!n3V9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n3V9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1234862,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/195467959?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n3V9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!n3V9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!n3V9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!n3V9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd11722c0-3a52-4f0d-b463-477c385d6762_1600x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Pe 22 aprilie, OpenAI a lansat <strong>Privacy Filter</strong>, un model open-source pentru detectarea &#537;i mascarea datelor cu caracter personal din fi&#537;iere text. Este disponibil pe Hugging Face &#537;i GitHub sub licen&#539;&#259; Apache 2.0 &#537;i, pentru o dat&#259;, comunicatul descrie efectiv ceva pe care inginerii &#238;l pot folosi imediat. F&#259;r&#259; list&#259; de a&#537;teptare, f&#259;r&#259; credite API, f&#259;r&#259; cote lunare. Clonezi repo-ul, descarci greut&#259;&#539;ile, &#238;l rulezi pe laptop.</p><p>Vreau s&#259; parcurg ce este concret, unde se potrive&#537;te &#238;ntr-un pipeline real &#537;i, la final, s&#259; recunosc faptul oarecum straniu c&#259; firma cea mai cunoscut&#259; pentru antrenarea modelelor pe scrapinguri web nefiltrate este acum cea care livreaz&#259; un tool pentru a &#537;terge acelea&#537;i date &#238;nainte s&#259; ajung&#259; la model.</p><h2>Ce este, de fapt?</h2><p>Privacy Filter este un model de 1,5 miliarde de parametri, din care aproximativ 50 de milioane sunt activi la inferen&#539;&#259; datorit&#259; arhitecturii de tip mixture-of-experts. Deriv&#259; din familia <code>gpt-oss</code> pe care OpenAI a lansat-o, dar a fost convertit dintr-un generator autoregresiv &#238;ntr-un <strong>clasificator bidirec&#539;ional de tokeni</strong>. &#206;n loc s&#259; prezic&#259; tokenul urm&#259;tor, se uit&#259; la &#238;ntreaga secven&#539;&#259; &#238;n ambele direc&#539;ii simultan &#537;i eticheteaz&#259; fiecare token cu o categorie. Aten&#539;ia bidirec&#539;ional&#259; e motivul principal, vrei ca modelul s&#259; &#238;n&#539;eleag&#259; c&#259; &#8222;sun&#259;-m&#259; la acela&#537;i num&#259;r ca data trecut&#259;&#8221; este o referin&#539;&#259; la un num&#259;r de telefon chiar dac&#259; num&#259;rul nu e vizibil &#238;n text, ceva ce un model forward-only ar rata.</p><p>Acoper&#259; opt categorii:</p><ul><li><p><code>private_person</code>, nume</p></li><li><p><code>private_address</code>, adrese</p></li><li><p><code>private_email</code></p></li><li><p><code>private_phone</code></p></li><li><p><code>private_url</code></p></li><li><p><code>private_date</code>, date de na&#537;tere &#537;i alte date identificabile</p></li><li><p><code>account_number</code>, carduri, conturi bancare</p></li><li><p><code>secret</code>, parole, chei API, tokenuri</p></li></ul><p>Etichetele folosesc schema BIOES (Begin, Inside, Outside, End, Single) &#537;i sunt decodate cu un algoritm Viterbi constr&#226;ns, ceea ce p&#259;streaz&#259; span-urile coerente, f&#259;r&#259; etichete disparate care rup un nume &#238;n dou&#259;. Fereastra de context e de 128k tokeni, suficient pentru documente juridice &#238;ntregi sau fire lungi de email, f&#259;r&#259; chunking.</p><p>Pe benchmark-ul PII-Masking-300k ob&#539;ine aproximativ 96&#8211;97% F1, cu un recall u&#537;or mai mare dec&#226;t precizia, deci va supra-masca uneori, dar rareori rateaz&#259;. Pentru o unealt&#259; de redactare, exact &#259;sta e compromisul pe care &#238;l vrei.</p><h2>Unde se potrive&#537;te?</h2><p>Partea interesant&#259; pentru oricine construie&#537;te sisteme reale e c&#259; <strong>ruleaz&#259; local</strong>. 1,5 miliarde de parametri cu 50 de milioane activi &#238;nseamn&#259; nivel de laptop, iar repo-ul include un CLI (<code>opf</code>) care merge &#537;i pe CPU dac&#259; nu ai GPU. Exist&#259; &#537;i un build care ruleaz&#259; direct &#238;n browser.</p><p>C&#226;teva utiliz&#259;ri concrete:</p><ul><li><p><strong>Sanitizarea inputului &#238;nainte de a apela un API LLM ter&#539;.</strong> Rulezi textul trimis de user prin Privacy Filter, &#238;nlocuie&#537;ti span-urile cu placeholdere de tipul <code>[PRIVATE_EMAIL]</code>, apoi trimi&#539;i textul cur&#259;&#539;at c&#259;tre modelul cloud. Furnizorul nu vede niciodat&#259; datele brute.</p></li><li><p><strong>Cur&#259;&#539;area de loguri.</strong> Dac&#259; trimi&#539;i logurile aplica&#539;iei c&#259;tre un agregator centralizat, rularea unui filtru &#238;ntr-un sidecar e mult mai robust&#259; dec&#226;t solu&#539;iile bazate pe regex pe care majoritatea echipelor &#238;nc&#259; le folosesc (&#537;i le &#238;ntre&#539;in prost).</p></li><li><p><strong>Cur&#259;&#539;area datelor de antrenament.</strong> &#258;sta e cazul de uz intern declarat de OpenAI, folosesc o variant&#259; fine-tuned ca parte din propriul pipeline de protejare a datelor.</p></li><li><p><strong>Arhivarea transcrierilor de chat.</strong> Sistemele de suport ador&#259; s&#259; stocheze loguri de chat ani &#238;ntregi. O trecere prin filtru &#238;nainte de storage reduce raza de impact &#238;n cazul unui compromis.</p></li></ul><p>Arhitectura conteaz&#259; &#537;i pentru integrarea &#238;n pipeline. Fiind un clasificator single-forward-pass, nu un generator, throughput-ul e previzibil, nu faci streaming de tokeni, ci etichetezi un buffer. Mult mai u&#537;or de integrat &#238;ntr-un pipeline de loguri dec&#226;t ar fi un model autoregresiv.</p><h2>Avertismente oneste</h2><p>Model card-ul OpenAI e neobi&#537;nuit de direct despre ce e &#537;i ce nu e:</p><ul><li><p>Este o <strong>unealt&#259; de redactare</strong>, nu o garan&#539;ie de anonimizare.</p></li><li><p><strong>Nu e un tool de conformitate.</strong> GDPR, HIPAA &#537;i rudele lor se uit&#259; la mult mai mult dec&#226;t dac&#259; un nume a fost &#238;nlocuit cu asteriscuri &#238;ntr-un log.</p></li><li><p>Taxonomia de etichete e fix&#259;. Dac&#259; ai nevoie de o alt&#259; categorie (gen nume interne de proiect sau identificatori specifici clien&#539;ilor) trebuie s&#259; faci fine-tune.</p></li><li><p>&#206;n domenii cu miz&#259; mare (juridic, medical, financiar), review-ul uman r&#259;m&#226;ne obligatoriu.</p></li></ul><p>Acesta e cadrul corect. Redactarea de PII prin regex a fost supra-v&#226;ndut&#259; de un deceniu, iar rezultatul e un num&#259;r mare de organiza&#539;ii cu un fals sentiment de conformitate. &#206;nlocuirea regex-ului cu un model de 1,5 miliarde de parametri nu schimb&#259; faptul c&#259; protejarea datelor e o proprietate de sistem, nu un feature flag.</p><h2>Partea incomod&#259;</h2><p>Merit&#259; s&#259; st&#259;m cu contextul. OpenAI este, cel pu&#539;in discutabil, firma cea mai responsabil&#259; pentru normalizarea antren&#259;rii pe scrapinguri web nefiltrate care con&#539;ineau cantit&#259;&#539;i enorme de date personale, post&#259;ri de pe forumuri, creden&#539;iale scurse, profiluri sociale, tot tac&#226;mul. Firma care acum lanseaz&#259; o unealt&#259; pentru a detecta &#537;i masca PII &#238;nainte s&#259; ajung&#259; la un model este aceea&#537;i firm&#259; ale c&#259;rei modele au fost antrenate pe date pe care un astfel de filtru nu le-a atins niciodat&#259;.</p><p>&#258;sta nu e un motiv s&#259; respingi softul. E un motiv s&#259; luam in considerare ce semnific&#259; lansarea ei. Nu e OpenAI care &#238;&#537;i face mea culpa. E OpenAI care livreaz&#259; infrastructur&#259; ce face mai sigure pipeline-urile genera&#539;iei urm&#259;toare (inclusiv propriile fine-tune-uri din aval) &#238;n timp ce modelele de baz&#259; deja aflate &#238;n produc&#539;ie r&#259;m&#226;n antrenate pe ce au fost antrenate.</p><p>Semnalul mai interesant, pentru oricine urm&#259;re&#537;te rela&#539;ia OpenAI cu ecosistemul open-source, e c&#259; asta vine dup&#259; lans&#259;rile <code>gpt-oss</code> &#537;i dup&#259; open-source-uirea unor framework-uri de orchestrare agentic&#259;. Dup&#259; ani &#238;n care firma s-a mi&#537;cat spre modele &#238;nchise, pendulul pare s&#259; revin&#259;, cel pu&#539;in pentru infrastructur&#259;. Nu modelele-campioane, ci tooling-ul din jurul lor. Dac&#259; e un pariu strategic pentru a rec&#226;&#537;tiga mindshare-ul developerilor de la Meta &#537;i Mistral, sau ceva mai sincer, r&#259;m&#226;ne o &#238;ntrebare pentru alt&#259; postare.</p><h2>&#206;n concluzie</h2><p>Dac&#259; rulezi orice pipeline care ingereaz&#259; text de la utilizatori &#537;i &#238;l redirec&#539;ioneaz&#259; c&#259;tre un LLM (&#537;i la momentul &#259;sta cam toate sistemele de produc&#539;ie o fac) Privacy Filter merit&#259; o considerare serioas&#259;. Rezolv&#259; o problem&#259; real&#259; cu o arhitectur&#259; care are sens, sub o licen&#539;&#259; care &#238;&#539;i permite s&#259; &#238;l folose&#537;ti efectiv, &#238;ntr-un format care ruleaz&#259; pe hardware-ul pe care deja &#238;l ai.</p><p>Doar nu-i spune responsabilului de conformitate c&#259; e o solu&#539;ie de conformitate. Nu este. E un pas de redactare mai bun dec&#226;t cel pe care probabil &#238;l ai acum, &#537;i at&#226;t e suficient.</p>]]></content:encoded></item><item><title><![CDATA[OpenAI’s Privacy Filter]]></title><description><![CDATA[A Useful Tool with an Awkward Pedigree]]></description><link>https://doriandiaconu.substack.com/p/openais-privacy-filter</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/openais-privacy-filter</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 25 Apr 2026 19:17:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Hb29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hb29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hb29!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!Hb29!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!Hb29!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Hb29!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hb29!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1234862,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/195467176?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Hb29!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 424w, https://substackcdn.com/image/fetch/$s_!Hb29!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 848w, https://substackcdn.com/image/fetch/$s_!Hb29!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Hb29!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9274d62-53e4-4b25-bca0-105818d6c34c_1600x900.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On April 22, OpenAI released <strong>Privacy Filter</strong>, an open-weight model for detecting and redacting personally identifiable information in text. It&#8217;s on Hugging Face and GitHub under Apache 2.0, and for once the press release genuinely describes something engineers can just use. No waitlist, no credits, no API quota. Clone the repo, pull the weights, run it on your laptop.</p><p>I want to walk through what this actually is, where it fits in a pipeline, and then acknowledge the slightly strange fact that the company most famous for scraping the open web to train its models is now shipping the tooling to clean that same web of personal data before it reaches a model.</p><h2>What it actually is?</h2><p>Privacy Filter is a 1.5B-parameter model, roughly 50M active parameters at inference thanks to a mixture-of-experts layout. It&#8217;s derived from the <code>gpt-oss</code> family OpenAI, but converted from an autoregressive generator into a <strong>bidirectional token classifier</strong>. Instead of predicting the next token, it looks at a full sequence in both directions at once and tags each token with a category label. That bidirectional attention is the whole point, you want the model to understand that &#8220;reach me on the same number as last time&#8221; is a phone reference even though no phone number is visible, which a forward-only model would miss.</p><p>It covers eight categories:</p><ul><li><p><code>private_person</code>, names</p></li><li><p><code>private_address</code></p></li><li><p><code>private_email</code></p></li><li><p><code>private_phone</code></p></li><li><p><code>private_url</code></p></li><li><p><code>private_date</code>, birthdays, other identifying dates</p></li><li><p><code>account_number</code>, credit cards, bank accounts</p></li><li><p><code>secret</code>, passwords, API keys, tokens</p></li></ul><p>Tags are BIOES-encoded (Begin, Inside, Outside, End, Single) and decoded with a constrained Viterbi pass, which keeps spans coherent rather than emitting disconnected labels mid-name. Context window is 128k tokens, which is large enough to feed it entire legal docs or long email threads without chunking.</p><p>On the PII-Masking-300k benchmark it sits at roughly 96&#8211;97% F1, with recall leaning slightly higher than precision, meaning it will sometimes over-redact, but rarely miss. For a redaction tool, that&#8217;s the tradeoff you want.</p><h2>Where it fits?</h2><p>The interesting part for anyone building real systems is that <strong>it runs locally</strong>. 1.5B parameters with 50M active is laptop-scale, and the repo ships a CLI (<code>opf</code>) that runs on CPU if you don&#8217;t have a GPU. There&#8217;s also a web-browser build floating around.</p><p>A few concrete places this is useful:</p><ul><li><p><strong>Input sanitization before hitting a third-party LLM API.</strong> You run user-submitted text through Privacy Filter first, swap spans for <code>[PRIVATE_EMAIL]</code> placeholders, then send the sanitized text to a cloud model. The cloud provider never sees raw PII.</p></li><li><p><strong>Log scrubbing.</strong> If you&#8217;re shipping application logs to a centralized aggregator, running them through a filter in the sidecar is more robust than the regex-based solutions most teams rely on today (and maintain badly).</p></li><li><p><strong>Training-data cleaning.</strong> This is OpenAI&#8217;s own stated internal use case, they run a fine-tuned variant as part of their own privacy-preserving pipeline.</p></li><li><p><strong>Chat transcript archival.</strong> Customer support systems love to hoard chat logs. A filter pass before long-term storage reduces your blast radius if the store gets compromised.</p></li></ul><p>The architecture matters for pipeline integration too. Because it&#8217;s a single-forward-pass classifier rather than a generator, throughput is predictable, you&#8217;re not streaming tokens, you&#8217;re tagging a buffer. Easier to slot into a streaming log pipeline than an autoregressive model would be.</p><h2>The honest caveats</h2><p>OpenAI&#8217;s own model card is unusually direct about what this is and isn&#8217;t:</p><ul><li><p>It is a <strong>redaction aid</strong>, not an anonymization guarantee.</p></li><li><p>It is <strong>not a compliance tool</strong>. GDPR, HIPAA, and their relatives care about a lot more than whether a name was starred out in a log line.</p></li><li><p>The label taxonomy is fixed. If you need a different category, say, internal project codenames or client-specific identifiers, you have to fine-tune.</p></li><li><p>In high-stakes domains (legal, medical, financial), human review is still expected.</p></li></ul><p>That framing is the right framing. Regex-based PII scrubbing has been oversold for a decade and the result is a lot of organizations with a false sense of compliance. Replacing regex with a 1.5B model doesn&#8217;t change the fact that privacy engineering is a system property, not a feature flag.</p><h2>The awkward part</h2><p>It is worth sitting with the context. OpenAI is, arguably, the company most responsible for normalizing training on unfiltered web scrapes that included enormous quantities of personal data, forum posts, leaked credentials, scraped social profiles, the works. The company now releasing a tool to detect and redact PII before it reaches a model is the same company whose models were trained on data no such filter touched.</p><p>That&#8217;s not a reason to reject the tool. It&#8217;s a reason to be clear-eyed about what its release means. This isn&#8217;t OpenAI atoning for anything. It&#8217;s OpenAI shipping infrastructure that makes the next generation of pipelines safer 0including their own downstream fine-tunes) while the foundation models already in production remain trained on whatever they were trained on.</p><p>The more interesting signal, for anyone watching OpenAI&#8217;s relationship with the open-source ecosystem, is that this follows the <code>gpt-oss</code> and some agentic-orchestration open-sourcing. After years of the company&#8217;s shift toward closed weights, the pendulum appears to be swinging back, at least for supporting infrastructure. Not the crown-jewel models, but the tooling around them. Whether that&#8217;s a strategic bet on winning developer mindshare back from Meta and Mistral, or something more sincere, is a question for a different post.</p><h2>Bottom line</h2><p>If you&#8217;re running any pipeline that ingests user text and forwards it to an LLM &#8212; and at this point most production systems are &#8212; Privacy Filter is worth a serious look. It solves a real problem with an architecture that makes sense, under a license that lets you actually use it, in a form factor that runs on hardware you already own.</p><p>Just don&#8217;t tell your compliance officer it&#8217;s a compliance solution. It isn&#8217;t. It&#8217;s a better redaction pass than what you probably have today, and that&#8217;s enough.</p>]]></content:encoded></item><item><title><![CDATA[Aplicația UE de verificare a vârstei: Zero-Knowledge, o mulțime de întrebări]]></title><description><![CDATA[Aplica&#539;ia UE de verificare a v&#226;rstei a fost anun&#539;at&#259;. Inten&#539;iile sunt bune. Funda&#539;iile sunt mai &#537;ubrede dec&#226;t a sugerat conferin&#539;a de pres&#259;]]></description><link>https://doriandiaconu.substack.com/p/aplicatia-ue-de-verificare-a-varstei</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/aplicatia-ue-de-verificare-a-varstei</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 18 Apr 2026 10:28:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!q4yd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!q4yd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!q4yd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 424w, https://substackcdn.com/image/fetch/$s_!q4yd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 848w, https://substackcdn.com/image/fetch/$s_!q4yd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!q4yd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!q4yd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp" width="1360" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42212,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/194598241?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!q4yd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 424w, https://substackcdn.com/image/fetch/$s_!q4yd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 848w, https://substackcdn.com/image/fetch/$s_!q4yd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!q4yd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb2676e50-2a08-499f-adc2-8bd01587c5fc_1360x768.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Pe 15 aprilie 2026, Ursula von der Leyen a &#539;inut o conferin&#539;&#259; de pres&#259; la Bruxelles &#537;i le-a spus marilor platforme c&#259; &#8222;nu mai au nicio scuz&#259;&#8221;. Aplica&#539;ia UE de verificare a v&#226;rstei era, &#238;n cuvintele ei, preg&#259;tit&#259; tehnic. &#536;apte state membre (Fran&#539;a, Spania, Italia, Grecia, Danemarca, Cipru &#537;i Irlanda) urmau s&#259; o integreze &#238;n portofelele lor na&#539;ionale de identitate digital&#259; p&#226;n&#259; la sf&#226;r&#537;itul anului. Pornografie, jocuri de noroc, poate &#238;n cele din urm&#259; re&#539;elele sociale: dac&#259; vrei s&#259; intri, dovede&#537;te c&#259; ai v&#226;rsta necesar&#259;.</p><p>Putem s&#259; o consider&#259;m ca echivalentul digital al cererii de act de identitate c&#226;nd cumperi bere, doar c&#259; barmanul nu vede niciodat&#259; cartea de identitate. Doar un da sau un nu.</p><h2>Ce face de fapt?</h2><p>Aplica&#539;ia &#238;&#539;i permite s&#259; dovede&#537;ti c&#259; e&#537;ti peste un anumit prag de v&#226;rst&#259; f&#259;r&#259; s&#259; oferi platformei care &#238;ntreab&#259; numele, num&#259;rul documentului, data na&#537;terii sau orice altceva. Te &#238;nrolezi o singur&#259; dat&#259; folosind un pa&#537;aport sau o carte de identitate na&#539;ional&#259;. Dup&#259; asta, aplica&#539;ia produce o atestare criptografic&#259; (un token &#8222;da, aceast&#259; persoan&#259; are peste 18 ani&#8221; ) folosind dovezi cu zero cunoa&#537;tere (zero-knowledge proofs). Platforma nu afl&#259; nimic altceva. Activitatea ta de pe mai multe site-uri nu poate fi legat&#259; de tine prin verificarea &#238;n sine.</p><p>Codul este open source. Este construit pe acela&#537;i stack tehnic ca viitorul Portofel European de Identitate Digital&#259;, ceea ce &#238;nseamn&#259; c&#259; ceea ce se construie&#537;te aici devine funda&#539;ia pentru mult mai mult dec&#226;t verific&#259;ri de v&#226;rst&#259;. Companii private &#537;i guverne din afara UE sunt libere s&#259; &#238;l preia. Platformele nu sunt obligate s&#259; foloseasc&#259; exact aceast&#259; aplica&#539;ie, dar orice alternativ&#259; pe care o aleg trebuie s&#259; &#238;ndeplineasc&#259; standarde echivalente de confiden&#539;ialitate, altfel risc&#259; sanc&#539;iuni &#238;n baza Digital Services Act.</p><p>Pe h&#226;rtie, este un design mai bun dec&#226;t aproape orice este folosit &#238;n prezent. Majoritatea produselor existente de verificare a v&#226;rstei &#238;&#539;i scaneaz&#259; fa&#539;a, &#238;&#539;i stocheaz&#259; actul de identitate sau canalizeaz&#259; totul printr-un furnizor ter&#539; care st&#259; pe un morman cresc&#226;nd de date foarte sensibile. Abordarea UE spune: nu vom accepta acest compromis &#537;i iat&#259; o implementare de referin&#539;&#259; care dovede&#537;te c&#259; nu trebuie s&#259; o faci.</p><h2>Ce e bun?</h2><p>Argumentul privind confiden&#539;ialitatea prin design este real. Dac&#259; alternativa este recunoa&#537;tere facial&#259; &#238;n stil Discord, furnizori ter&#539;i care adun&#259; scan&#259;ri de pa&#537;apoarte sau prag de v&#226;rst&#259; la nivel de magazin de aplica&#539;ii care oblig&#259; fiecare utilizator s&#259; se identifice prin Apple sau Google, atunci o atestare zero-knowledge emis&#259; de propriul t&#259;u dispozitiv este o &#238;mbun&#259;t&#259;&#539;ire semnificativ&#259;. Minimizarea datelor este real&#259;, nu cosmetic&#259;.</p><p>Publicarea open source a blueprint-ului conteaz&#259; &#537;i ea. &#206;nseamn&#259; c&#259; designul poate fi auditat, singura modalitate prin care cineva din afara Bruxelles-ului poate verifica afirma&#539;iile privind confiden&#539;ialitatea. &#206;nseamn&#259; c&#259; statele membre mai mici &#537;i &#539;&#259;rile din afara UE nu trebuie s&#259; reinventeze roata sau s&#259; cumpere solu&#539;ii proprietare de la furnizori cu propriile lor interese. &#536;i stabile&#537;te un standard pe care furnizorii alternativi trebuie acum s&#259; &#238;l &#238;ndeplineasc&#259; dac&#259; vor s&#259; opereze &#238;n Europa.</p><p>&#206;n cele din urm&#259;, direc&#539;ia politic&#259; a acestei schimb&#259;ri merit&#259; remarcat&#259;. Ani de zile, platformele au sus&#539;inut c&#259; verificarea v&#226;rstei este imposibil&#259; f&#259;r&#259; a sacrifica confiden&#539;ialitatea. UE a dat practic de gol acest bluf.</p><h2>Ce e r&#259;u?</h2><p>La c&#226;teva ore dup&#259; anun&#539;, un consultant de securitate a spart prototipul &#238;n mai pu&#539;in de dou&#259; minute. Aplica&#539;ia stocheaz&#259; local un PIN criptat, dar criptarea nu este legat&#259; de vault-ul de  identitate al utilizatorului, ceea ce &#238;nseamn&#259; c&#259; PIN-ul poate fi resetat f&#259;r&#259; a pierde accesul la creden&#539;ialele din spate. Limitarea ratei poate fi resetat&#259; prin editarea unui contor. Verific&#259;rile biometrice pot fi dezactivate prin schimbarea unui flag de configurare. Rezolvarea bypass-ului ar necesita, aparent, trimiterea datelor criptografice complete ale pa&#537;aportului &#238;napoi la server, ceea ce ar compromite tocmai propriet&#259;&#539;ile de confiden&#539;ialitate pe care este construit&#259; aplica&#539;ia. Nu este un bug. Este un defect de design.</p><p>Apoi este partea de Android. Implementarea curent&#259; necesit&#259; Play Integrity API de la Google, ceea ce &#238;nseamn&#259; c&#259; nu va rula pe LineageOS, GrapheneOS sau orice alt&#259; distribu&#539;ie alternativ&#259; de Android. Un sistem de verificare a v&#226;rstei de la Comisia European&#259;, prezentat ca open source &#537;i protector al confiden&#539;ialit&#259;&#539;ii, care &#238;n practic&#259; te oblig&#259; s&#259; rulezi stack-ul de atestare al Google pe un OS acceptat de Google. Aceast&#259; contradic&#539;ie va ridica semne de &#238;ntrebare pentru mult&#259;.</p><p>Aplica&#539;ia pe care o descarci efectiv nu va veni de la UE. Va veni de la guvernul t&#259;u na&#539;ional sau de la contractorii s&#259;i, &#238;mpachetat&#259; &#238;ntr-un portofel na&#539;ional. Acele versiuni na&#539;ionale nu sunt garantate a fi complet open source chiar &#537;i atunci c&#226;nd sunt construite pe componente deschise. &#538;ara &#238;n care locuie&#537;ti va modela c&#226;t de mult din promisiunea de confiden&#539;ialitate supravie&#539;uie&#537;te efectiv implement&#259;rii.</p><p>Grupurile din societatea civil&#259; vorbesc despre o preocupare diferit&#259;. EDRi nume&#537;te verificarea v&#226;rstei o abordare cu barosul, un instrument de excludere care las&#259; platformele sc&#259;pate de responsabilitate pentru designurile orientate spre maximizarea engagementului &#537;i captarea aten&#539;iei, care sunt sursa real&#259; a problemei. P&#259;streaz&#259; feed-ul care creeaz&#259; dependen&#539;&#259;, p&#259;streaz&#259; dark patterns, dar pune un lac&#259;t la u&#537;&#259;. Electronic Frontier Foundation este &#238;ngrijorat&#259; de extinderea dincolo de scopul ini&#539;ial: infrastructura construit&#259; pentru a verifica v&#226;rsta ast&#259;zi poate verifica m&#226;ine cet&#259;&#539;enia, calific&#259;rile sau dreptul la un serviciu guvernamental. Comisia &#238;ns&#259;&#537;i vinde asta ca un &#8222;mini wallet&#8221;, o previzualizare deliberat&#259; a exact acelui viitor. Peste 400 de cercet&#259;tori &#238;n securitate au semnat o scrisoare deschis&#259; avertiz&#226;nd c&#259; schemele de verificare obligatorie cresc riscul de supraveghere chiar &#537;i atunci c&#226;nd fiecare implementare individual&#259; pretinde c&#259; nu o face.</p><p>Iar metodele de bypass exist&#259;. VPN-urile func&#539;ioneaz&#259;. &#206;mprumutul dispozitivului unui frate mai mare func&#539;ioneaz&#259;. Un oficial UE, vorbind anonim, a recunoscut c&#259; procesul ar putea p&#259;rea &#8222;enervant&#8221; &#537;i a admis existen&#539;a bypass-urilor, dar a argumentat c&#259; scopul nu era aplicarea strict&#259;, scopul era prevenirea expunerii neinten&#539;ionate.</p><h2>Unde se aduce asta?</h2><p>P&#259;rerea onest&#259;, cred, este c&#259; UE a construit cea mai pu&#539;in proast&#259; versiune a ceva ce mul&#539;i oameni nu voiau construit deloc. Dac&#259; verificarea v&#226;rstei urma oricum &#537;i dat fiind impulsul politic din Australia, Fran&#539;a, Grecia, Marea Britanie &#537;i o parte de state din SUA, atunci o op&#539;iune zero-knowledge, open source, emis&#259; de guvern este mai bun&#259; dec&#226;t o pia&#539;&#259; plin&#259; de furnizori priva&#539;i care ruleaz&#259; recunoa&#537;tere facial&#259; pe adolescen&#539;i.</p><p>Dar &#8222;cea mai pu&#539;in proast&#259;&#8221; nu e acela&#537;i lucru cu &#8222;bun&#259;&#8221;. Problemele de securitate nu sunt cosmetice. Dependen&#539;a de Google este o ru&#537;ine. Extinderea dincolo de scopul ini&#539;ial nu este paranoia; Comisia este explicit&#259; c&#259; acesta este un pas intermediar c&#259;tre Portofelul complet de Identitate Digital&#259;. &#536;i premisa de baz&#259; (c&#259; r&#259;spunsul corect la designul platformelor care creeaz&#259; dependen&#539;&#259; &#537;i probleme este s&#259; verifici cine are voie s&#259; intre pe u&#537;&#259;) ocole&#537;te &#238;ntrebarea mai complicat&#259; despre de ce u&#537;a duce undeva care afecteaz&#259; oamenii &#238;n primul r&#226;nd.</p><p>Aplica&#539;ia exist&#259; si a fost anun&#539;at&#259;. Discu&#539;iile pe care le &#238;ncepe sunt cele care conteaz&#259; cu adev&#259;rat.</p>]]></content:encoded></item><item><title><![CDATA[EU's age verification app: Zero-Knowledge, Plenty of Questions]]></title><description><![CDATA[The EU&#8217;s age verification app is here. The intentions are good. The foundations are shakier than the press conference suggested]]></description><link>https://doriandiaconu.substack.com/p/eus-age-verification-app-zero-knowledge</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/eus-age-verification-app-zero-knowledge</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 18 Apr 2026 09:51:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zlT-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zlT-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zlT-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 424w, https://substackcdn.com/image/fetch/$s_!zlT-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 848w, https://substackcdn.com/image/fetch/$s_!zlT-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!zlT-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zlT-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp" width="1360" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1360,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42212,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/194596997?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!zlT-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 424w, https://substackcdn.com/image/fetch/$s_!zlT-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 848w, https://substackcdn.com/image/fetch/$s_!zlT-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 1272w, https://substackcdn.com/image/fetch/$s_!zlT-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8ab26e13-cb4d-4dea-9662-434a7c843ff1_1360x768.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On 15 April 2026, Ursula von der Leyen stood at a press conference in Brussels and told the big platforms they had &#8220;no more excuses.&#8221; The EU&#8217;s age verification app was, in her words, technically ready. Seven frontrunner member states (France, Spain, Italy, Greece, Denmark, Cyprus, and Ireland) would fold it into their national digital identity wallets by the end of the year. Pornography, gambling, maybe eventually social media: if you want in, prove you&#8217;re old enough.</p><p>The framing was clean. Think of it as the digital equivalent of being asked for an ID when you buy beer, except the bartender never actually sees the card. Just a yes or a no.</p><p>The reality is more interesting than the framing, in both directions.</p><h2>What it actually does?</h2><p>The app lets you prove you are above a given age threshold without handing the requesting platform your name, document number, birth date, or anything else. You onboard once using a passport or national ID card. After that, the app produces a cryptographic attestation (a &#8220;yes, this person is over 18&#8221; token) using zero-knowledge proofs. The platform learns nothing else. Your activity across sites cannot be linked back to you through the verification itself.</p><p>The code is open source. It is built on the same technical stack as the forthcoming EU Digital Identity Wallet, which means whatever gets built here becomes the foundation for a lot more than age checks. Private companies and non-EU governments are free to fork it. Platforms are not required to use this specific app, but any alternative they choose must meet equivalent privacy standards, or they risk sanctions under the Digital Services Act.</p><p>That is, on paper, a genuinely better design than almost anything currently in use. Most existing age verification products scan your face, store your ID, or funnel everything through a third-party vendor sitting on a growing pile of very sensitive data. The EU approach says: we will not accept that trade-off, and here is a reference implementation that proves you don&#8217;t have to.</p><h2>The good</h2><p>The privacy-by-design argument is real. If the alternative is Discord-style facial recognition, third-party vendors hoarding passport scans, or app-store-level age gating that requires every user to identify themselves to Apple or Google, then a zero-knowledge attestation issued by your own device is a meaningful improvement. The data minimisation is genuine, not cosmetic.</p><p>Open-sourcing the blueprint also matters. It means the design can be audited, which is the only way anyone outside Brussels can verify the privacy claims. It means smaller member states and non-EU countries don&#8217;t have to reinvent the wheel or buy proprietary solutions from vendors with their own incentives. And it sets a standard that alternative providers now have to meet if they want to operate in Europe.</p><p>Finally, the political economy of this shift is worth noting. For years, platforms have argued that age verification is impossible without sacrificing privacy. The EU has essentially called that bluff. Whether you like the destination or not, the path-clearing is real.</p><h2>The bad</h2><p>Within hours of the announcement, a security consultant bypassed the prototype in under two minutes. The app stores an encrypted PIN locally, but the encryption is not bound to the user&#8217;s identity vault, which means the PIN can be reset without losing access to the credentials behind it. Rate limiting can be reset by editing a counter. Biometric checks can be disabled by flipping a configuration flag. Fixing the bypass would, apparently, require sending full passport cryptographic data back to the server, which would compromise the very privacy properties the app is built on. That is not a bug. That is a design tension.</p><p>Then there is the Android side. The current implementation requires Google&#8217;s Play Integrity API, which means it will not run on LineageOS, GrapheneOS, or any other alternative Android distribution. An age verification system from the European Commission, presented as open source and privacy-preserving, that in practice forces you to run Google&#8217;s attestation stack on a Google-blessed OS. That contradiction is going to sit uncomfortably with a lot of people, and it should.</p><p>The app you actually download will not come from the EU. It will come from your national government or its contractors, bundled into a national wallet. Those national versions are not guaranteed to be fully open source even when built on open components. Which country you live in will shape how much of the privacy promise actually survives implementation.</p><p>Civil society groups are raising a different concern. EDRi calls age verification a sledgehammer approach, an exclusion tool that lets platforms off the hook for the engagement-maximising, attention-harvesting designs that are the actual source of harm. Keep the addictive feed, keep the dark patterns, but put a gate at the door. The Electronic Frontier Foundation worries about mission creep: the infrastructure built to check age today can check nationality, qualifications, or entitlement to a government service tomorrow. The Commission itself markets this as a &#8220;mini wallet&#8221;, a deliberate preview of exactly that future. More than 400 security researchers have signed an open letter warning that mandatory verification schemes increase surveillance risk even when each individual implementation claims not to.</p><p>And the bypasses are real. VPNs work. Borrowing an older sibling&#8217;s device works. An EU official, speaking anonymously, admitted the process might be &#8220;annoying&#8221; and conceded the bypasses exist, but argued the point was not strict enforcement, the point was to prevent unintended exposure. That is an honest answer. It also raises the question of how much privacy infrastructure we should accept in exchange for a speed bump.</p><h2>Where this lands?</h2><p>The honest take, I think, is that the EU has built the least-bad version of something a lot of people did not want built at all. If age verification was coming regardless (and given the political momentum in Australia, France, Greece, the UK, and a dozen US states), then a zero-knowledge, open-source, government-issued option is better than a market full of private vendors running facial recognition on teenagers.</p><p>But &#8220;least-bad&#8221; is not the same as &#8220;good.&#8221; The security issues are not cosmetic. The Google dependency is an embarrassment. The mission creep is not paranoia; the Commission is explicit that this is a stepping stone to the full Digital Identity Wallet. And the underlying premise (that the right response to addictive, harmful platform design is to verify who gets to walk in the door) sidesteps the harder question of why the door leads somewhere that harms people in the first place.</p><p>It is possible to believe both that children deserve better than the current internet, and that exclusion infrastructure built on national digital identity is not where this should end. Those two things are not in tension. They are the shape of the next several years of this argument.</p><p>The app is here. The conversation it starts is the one that actually matters.</p>]]></content:encoded></item><item><title><![CDATA[Când un bot de la Microsoft îți poate bloca VPN-ul ]]></title><description><![CDATA[Fragilitatea distribuirii unor instrumente de securitate pe platforma altcuiva]]></description><link>https://doriandiaconu.substack.com/p/cand-un-bot-de-la-microsoft-iti-poate</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/cand-un-bot-de-la-microsoft-iti-poate</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 11 Apr 2026 12:40:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XFLX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XFLX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XFLX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 424w, https://substackcdn.com/image/fetch/$s_!XFLX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 848w, https://substackcdn.com/image/fetch/$s_!XFLX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 1272w, https://substackcdn.com/image/fetch/$s_!XFLX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XFLX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png" width="1456" height="822" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:262998,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/193883053?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!XFLX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 424w, https://substackcdn.com/image/fetch/$s_!XFLX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 848w, https://substackcdn.com/image/fetch/$s_!XFLX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 1272w, https://substackcdn.com/image/fetch/$s_!XFLX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6677f2d-863d-44eb-b199-3bb6a291ed4f_1774x1002.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>S&#259;pt&#259;m&#226;na trecut&#259;, trei dintre cele mai importante proiecte open-source de securitate din lume au &#238;ncetat s&#259; mai poat&#259; livra actualiz&#259;ri utilizatorilor de Windows. Nu din cauza unui bug. Nu din cauza unui atac. Ci pentru c&#259; portalul pentru dezvoltatori al Microsoft le-a suspendat conturile &#537;i nimeni nu a reu&#537;it s&#259; g&#259;seasc&#259; un om de cealalt&#259; parte care s&#259; rezolve problema.</p><h2>Ce s-a &#238;nt&#226;mplat?</h2><p>Microsoft a suspendat conturile de dezvoltator pentru <a href="https://www.wireguard.com/">WireGuard</a>, <a href="https://www.veracrypt.fr/">VeraCrypt</a> &#537;i <a href="https://windscribe.com/">Windscribe</a> (protocolul VPN pe care se bazeaz&#259; jum&#259;tate din industria privacy-ului, instrumentul open-source de referin&#539;&#259; pentru criptarea hard disk-urilor, &#537;i un furnizor VPN independent binecunoscut).</p><p>Suspend&#259;rile au pornit de la o politic&#259; introdus&#259; de Microsoft &#238;n octombrie, care cerea partenerilor din Windows Hardware Program s&#259;-&#537;i reverifice conturile. Driverele pe Windows 10 &#537;i 11 trebuie semnate prin acest program, altfel kernelul refuz&#259; s&#259; le &#238;ncarce. F&#259;r&#259; semn&#259;tur&#259;, f&#259;r&#259; actualiz&#259;ri. Dezvoltatorii afecta&#539;i spun c&#259; e-mailurile de notificare nu au ajuns niciodat&#259; la ei, iar cel pu&#539;in unul dintre ei deja finalizase verificarea.</p><p>Jason Donenfeld, creatorul WireGuard, a spus-o clar: nu putea semna driverele, deci nu putea livra actualiz&#259;ri pentru WireGuard pe Windows. Mounir Idrassi de la VeraCrypt a povestit cum a dat s&#259;pt&#259;m&#226;ni &#238;ntregi peste r&#259;spunsuri automate &#537;i bo&#539;i, f&#259;r&#259; s&#259; reu&#537;easc&#259; s&#259; ajung&#259; la un om. Windscribe a spus c&#259; &#238;ncearc&#259; de peste o lun&#259; &#537;i nu ajunge nic&#259;ieri.</p><p>Partea &#537;i mai ur&#226;t&#259;: semn&#259;turile existente ale driverelor VeraCrypt expir&#259; &#238;n iulie. Dac&#259; situa&#539;ia s-ar fi prelungit, utilizatorii cu criptare complet&#259; a hard disk-ului ar fi putut r&#259;m&#226;ne bloca&#539;i, incapabili s&#259; mai porneasc&#259; propriile calculatoare.</p><p>A fost nevoie ca <strong>Tim Sweeney</strong> (CEO-ul Epic Games) s&#259; escaleze public problema pe X pentru ca un reprezentant de la Microsoft s&#259; intervin&#259; &#537;i conturile s&#259; &#238;nceap&#259; s&#259; fie reactivate.</p><h2>&#8222;Solu&#539;ia&#8221;</h2><p>&#206;ncep&#226;nd cu aceast&#259; s&#259;pt&#259;m&#226;n&#259;, WireGuard &#537;i Windscribe sunt &#238;n proces de deblocare, iar Microsoft a reu&#537;it &#238;n sf&#226;r&#537;it s&#259; ia leg&#259;tura cu VeraCrypt. Compania spune c&#259; &#8222;lucreaz&#259; intens&#8221; pentru a rezolva situa&#539;ia, iar un angajat Microsoft a precizat c&#259; e-mailurile de verificare, bannerele &#537;i remindere-le fuseser&#259; trimise, dar a recunoscut c&#259; mesajele &#8222;clar nu au ajuns la c&#226;&#539;iva dezvoltatori importan&#539;i.&#8221;</p><p>Deci solu&#539;ia este: s&#259; devii suficient de cunoscut &#238;nc&#226;t un miliardar din industria jocurilor s&#259; observe, &#537;i s&#259; speri c&#259; un reprezentant vede tweet-ul. &#258;sta nu e un proces. E noroc.</p><h2>Problema real&#259;</h2><p>Povestea asta nu e, de fapt, despre o &#238;ncurc&#259;tur&#259; birocratic&#259;. E despre cine &#539;ine cheile.</p><p>WireGuard nu e un proiect hobby. E protocolul din spatele NordVPN, Mullvad, ProtonVPN, Tailscale &#537;i a nenum&#259;rate stack-uri enterprise. VeraCrypt este succesorul spiritual al TrueCrypt, folosit de jurnali&#537;ti, disiden&#539;i &#537;i oameni preocupa&#539;i de securitate din toat&#259; lumea. Windscribe are milioane de utilizatori. Toate trei exist&#259; tocmai pentru a le oferi oamenilor control asupra propriilor date &#537;i comunica&#539;ii.</p><p>&#536;i totu&#537;i, toate trei pot fi reduse la t&#259;cere pe cel mai popular sistem de operare desktop din lume pentru c&#259; un sistem automatizat a bifat o c&#259;su&#539;&#259; gre&#537;it&#259;. Poarta de acces pentru livrarea software-ului de securitate la nivel de kernel pe Windows este un singur portal pentru dezvoltatori, administrat de o singur&#259; companie, p&#259;zit de bo&#539;i cu o lista de apel de 60 de zile.</p><p>C&#226;nd scopul software-ului t&#259;u este s&#259; protejeze utilizatorii <em>de</em> platformele centralizate, faptul c&#259; existen&#539;a lui depinde de o platform&#259; centralizat&#259; e o contradic&#539;ie structural&#259;. Semnarea driverelor a fost considerat&#259; drept o m&#259;sur&#259; de securitate (&#537;i chiar este una), dar &#238;i ofer&#259; &#537;i Microsoft-ului un drept de veto de facto asupra instrumentelor de securitate pe care ai voie s&#259; le rulezi pe propriul t&#259;u calculator.</p><h2>Lec&#539;ia incomod&#259;</h2><p>Po&#539;i scrie cel mai auditat, open-source &#537;i criptografic software din lume. Dac&#259; platforma pe care livrezi decide (inten&#539;ionat, accidental sau algoritmic) c&#259; nu mai exi&#537;ti s&#259;pt&#259;m&#226;na asta, utilizatorii t&#259;i r&#259;m&#226;n bloca&#539;i pe o versiune f&#259;r&#259; patch-uri. Open source-ul nu te salveaz&#259; atunci c&#226;nd canalul de distribu&#539;ie este &#238;nchis.</p><p>Nu exist&#259; o variant&#259; clar&#259;. Utilizatorii Linux au ridicat &#238;n general din umeri la povestea asta, pentru c&#259; modulele lor de kernel nu au nevoie de aprobarea celor din Redmond. Nu e o solu&#539;ie pentru sutele de milioane de oameni care folosesc Windows, dar e o amintire a cum arat&#259; alternativa: un stack &#238;n care singurii oameni implica&#539;i sunt cei care scriu codul &#537;i cei care &#238;l ruleaz&#259;.</p><p>Situa&#539;ia WireGuard se va rezolva. Urm&#259;toarea dat&#259; se va &#238;nt&#226;mpla unui proiect mai mic, despre care nu va scrie nimeni pe Twitter, &#537;i nu vom afla niciodat&#259;. Asta e partea la care merit&#259; s&#259; fim aten&#539;i.</p>]]></content:encoded></item><item><title><![CDATA[When a Bot at Microsoft Can Break Your VPN]]></title><description><![CDATA[The fragility of building security tools on someone else's platform]]></description><link>https://doriandiaconu.substack.com/p/when-a-bot-at-microsoft-can-break</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/when-a-bot-at-microsoft-can-break</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 11 Apr 2026 12:19:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CpqP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CpqP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CpqP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 424w, https://substackcdn.com/image/fetch/$s_!CpqP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 848w, https://substackcdn.com/image/fetch/$s_!CpqP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 1272w, https://substackcdn.com/image/fetch/$s_!CpqP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CpqP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png" width="1456" height="822" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:822,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:262998,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/193882006?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CpqP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 424w, https://substackcdn.com/image/fetch/$s_!CpqP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 848w, https://substackcdn.com/image/fetch/$s_!CpqP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 1272w, https://substackcdn.com/image/fetch/$s_!CpqP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcef15b05-1a5d-4e29-8625-563707c0b0f4_1774x1002.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Last week, three of the most important open-source security projects in the world quietly stopped being able to ship updates to Windows users. Not because of a bug. Not because of an attack. Because Microsoft&#8217;s developer portal flagged their accounts and nobody could find a human on the other end to fix it.</p><h2>What happened</h2><p>Microsoft suspended the developer accounts of <a href="https://www.wireguard.com/">WireGuard</a>, <a href="https://www.veracrypt.fr/">VeraCrypt</a>, and <a href="https://windscribe.com/">Windscribe</a> (the VPN protocol that underpins half the privacy industry, the go-to open-source disk encryption tool, and a well-known independent VPN provider).</p><p>The suspensions stem from a Microsoft policy introduced in October requiring partners in the Windows Hardware Program to re-verify their accounts. Drivers on Windows 10 and 11 have to be signed through that program, or the kernel refuses to load them. No signature, no updates. The affected developers say warning emails never reached them, and at least one had already completed verification.</p><p>Jason Donenfeld, WireGuard&#8217;s creator, put it plainly: he couldn&#8217;t sign drivers, so he couldn&#8217;t ship updates for WireGuard on Windows. VeraCrypt&#8217;s Mounir Idrassi described hitting automated replies and bot responses for weeks without reaching a human. Windscribe said they&#8217;d been trying for over a month and getting nowhere.</p><p>The kicker: VeraCrypt&#8217;s existing driver signatures expire in July. If the situation had dragged on, users with full-disk encryption could have been locked out of their own machines at boot.</p><p>It took Tim Sweeney (the CEO of Epic Games) publicly escalating the issue on X before a Microsoft VP stepped in and the accounts started getting reinstated.</p><h2>The &#8220;solution&#8221;</h2><p>As of this week, WireGuard and Windscribe are being unblocked, and Microsoft is finally in contact with VeraCrypt. The company says it&#8217;s &#8220;working hard&#8221; to resolve things, and a Microsoft employee noted that verification emails, banners, and reminders had been sent, but admitted the messaging &#8220;clearly failed to reach several high-profile developers.&#8221;</p><p>So the fix is: get famous enough that a billionaire game developer notices, and hope an executive sees the tweet. That is not a process. That is luck.</p><h2>The real problem</h2><p>This story isn&#8217;t really about a bureaucratic mix-up. It&#8217;s about who holds the keys.</p><p>WireGuard is not some hobby project. It&#8217;s the protocol inside NordVPN, Mullvad, ProtonVPN, Tailscale, and countless enterprise stacks. VeraCrypt is the spiritual successor to TrueCrypt and is used by journalists, dissidents, and security-conscious individuals worldwide. Windscribe has millions of users. All three exist specifically to give people control over their own data and communications.</p><p>And yet all three can be silenced on the world&#8217;s most widely deployed desktop OS because an automated system flagged a checkbox. The gatekeeper for shipping kernel-level security software on Windows is a single developer portal run by a single company, guarded by bots with a 60-day appeals queue.</p><p>When your tool&#8217;s entire purpose is to protect users <em>from</em> centralized platforms, having your existence depend on a centralized platform is a structural contradiction. Driver signing was sold as a security feature (and it is one), but it also gives Microsoft a de facto veto over which security tools you&#8217;re allowed to run on your own computer.</p><h2>The uncomfortable lesson</h2><p>You can write the most audited, open-source, cryptographically sound software in the world. If the platform you ship on decides (intentionally, accidentally, or algorithmically) that you don&#8217;t exist this week, your users are stuck on an unpatched version. Open source doesn&#8217;t save you when the distribution channel is closed.</p><p>There&#8217;s no clean way out. Linux users mostly shrugged at this story because their kernel modules don&#8217;t need Redmond&#8217;s blessing. That&#8217;s not a solution for the hundreds of millions of people on Windows, but it is a reminder of what the alternative looks like: a stack where the people writing the code and the people running it are the only ones in the loop.</p><p>The WireGuard situation will get resolved. The next one will happen to a smaller project nobody tweets about, and we&#8217;ll never hear about it at all. That&#8217;s the part worth being angry about.</p>]]></content:encoded></item><item><title><![CDATA[Leak-ul Claude Code: Ce înseamnă 512.000 de linii de cod sursă expuse pentru industria AI?]]></title><description><![CDATA[Ce a expus, ce a &#238;nv&#259;&#539;at comunitatea open-source &#537;i ce &#238;ntreb&#259;ri incomode a ridicat un fi&#537;ier source map r&#259;t&#259;cit?]]></description><link>https://doriandiaconu.substack.com/p/leak-ul-claude-code-ce-inseamna-512000</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/leak-ul-claude-code-ce-inseamna-512000</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 04 Apr 2026 17:27:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!B_Q9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B_Q9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B_Q9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 424w, https://substackcdn.com/image/fetch/$s_!B_Q9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 848w, https://substackcdn.com/image/fetch/$s_!B_Q9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 1272w, https://substackcdn.com/image/fetch/$s_!B_Q9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B_Q9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31708,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/193181334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B_Q9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 424w, https://substackcdn.com/image/fetch/$s_!B_Q9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 848w, https://substackcdn.com/image/fetch/$s_!B_Q9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 1272w, https://substackcdn.com/image/fetch/$s_!B_Q9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78e7004f-12aa-47e3-8cbb-d775debb09fd_2000x1125.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Pe 31 martie 2026, Anthropic a publicat versiunea 2.1.88 a pachetului Claude Code prin npm, incluz&#226;nd un fi&#537;ier source map de 59,8 MB care nu trebuia s&#259; ajung&#259; vreodat&#259; public. &#206;n c&#226;teva ore, &#238;ntregul cod surs&#259; TypeScript  (aproximativ 512.000 de linii &#238;n 1.900 de fi&#537;iere) a fost copiat &#537;i disecat de mii de developeri din &#238;ntreaga lume.</p><p>Anthropic a confirmat c&#259; incidentul a fost cauzat de o eroare uman&#259; &#238;n procesul de preg&#259;tire a release-ului. Nu au fost expuse weight-urile modelului, date ale clien&#539;ilor sau creden&#539;iale API. Ceea ce <em>a fost</em> expus este harness-ul agentic (stratul de orchestrare care transform&#259; un model de limbaj &#238;ntr-un agent de programare capabil s&#259; foloseasc&#259; unelte).</p><p>Iat&#259; ce &#238;nseamn&#259; asta: partea bun&#259;, partea rea &#537;i partea incomod&#259;.</p><div><hr></div><h2>Ce a ajuns public de fapt?</h2><p>Claude Code nu este doar un chatbot care scrie cod. Codul surs&#259; expus dezv&#259;luie un sistem sofisticat, cu mai multe straturi: un pipeline de gestionare a contextului care combate halucina&#539;iile &#238;n sesiuni lungi, o arhitectur&#259; de memorie pe trei niveluri (fi&#537;iere index, fi&#537;iere pe subiecte specifice &#537;i transcrieri de sesiuni care pot fi c&#259;utate), un model de sub-agen&#539;i paraleli pentru execu&#539;ia simultan&#259; a task-urilor &#537;i 44 de feature flags pentru func&#539;ionalit&#259;&#539;i nelansate &#238;nc&#259;.</p><p>Printre cele mai discutate descoperiri se num&#259;r&#259; KAIROS, un mod autonom care permite Claude Code s&#259; ruleze ca agent de fundal; autoDream, un proces de consolidare a memoriei care elimin&#259; contradic&#539;iile &#238;n timp ce utilizatorul este inactiv; &#537;i ULTRAPLAN, care deleg&#259; sarcini complexe de planificare unei sesiuni remote care ruleaz&#259; un model mai puternic.</p><p>Nimic din toate acestea nu este modelul &#238;n sine. Este <em>scheletul</em>, dar se dovede&#537;te c&#259; scheletul este cel care con&#539;ine o mare parte din avantajul competitiv al produsului.</p><div><hr></div><h2>Partea bun&#259;: O lec&#539;ie de inginerie agentic&#259;</h2><p>Pentru comunitatea open-source &#537;i pentru oricine construie&#537;te agen&#539;i AI, acest leak este probabil cel mai educativ eveniment din 2026 p&#226;n&#259; acum.</p><p><strong>Un plan concret pentru arhitectura pentru agen&#539;i.</strong> Framework-urile open-source pentru agen&#539;i au proliferat &#238;n ultimii doi ani, dar majoritatea sunt wrappere relativ sub&#539;iri. Codul surs&#259; Claude Code dezv&#259;luie solu&#539;ii la nivel de produc&#539;ie pentru problemele cu care se confrunt&#259; fiecare programator de agen&#539;i: cum s&#259; gestionezi contextul pe sesiuni lungi, cum s&#259; administrezi permisiunile &#238;n siguran&#539;&#259;, cum s&#259; paralelizezi munca sub-agen&#539;ilor f&#259;r&#259; s&#259; corupi ra&#539;ionamentul thread-ului principal &#537;i cum s&#259; construie&#537;ti sisteme de memorie care chiar scaleaz&#259;.</p><p><strong>Entropia contextului, rezolvat&#259; &#238;n produc&#539;ie.</strong> Una dintre provoc&#259;rile persistente &#238;n AI-ul agentic este c&#259; modelele pierd coeren&#539;a &#238;n sesiunile lungi. Codul expus arat&#259; c&#259; Claude Code trateaz&#259; propria memorie ca pe un &#8222;indiciu&#8221; &#537;i nu ca pe un adev&#259;r absolut, for&#539;&#226;nd modelul s&#259; verifice faptele &#238;n raport cu codul surs&#259; real &#238;nainte de a ac&#539;iona. Acest pattern de design (memoria sceptic&#259;) este imediat aplicabil oric&#259;rui proiect de agen&#539;i.</p><p><strong>Inginerie de securitate sofisticat&#259;.</strong> Codul surs&#259; con&#539;ine peste 25 de validatoare de securitate bash, logic&#259; de sandboxing &#537;i un sistem de permisiuni care limiteaz&#259; analiza comenzilor compuse la 50 de subcomenzi. Pentru cercet&#259;torii din domeniul securit&#259;&#539;ii, aceasta este o oportunitate rar&#259; de a studia cum un laborator AI de top abordeaz&#259; problema de a oferi unui agent AI acces real la sistem f&#259;r&#259; consecin&#539;e catastrofale.</p><p><strong>Inspira&#539;ie pentru tooling open-source.</strong> &#206;n c&#226;teva zile de la leak, developerii au &#238;nceput s&#259; creeze porturi derivate &#238;n Python &#537;i Rust. De&#537;i acestea se confrunt&#259; cu incertitudine legal&#259;, <em>pattern-urile</em> expuse (pipeline-ul de compactare, sistemul de consolidare a memoriei) sunt idei care pot fi reimplementate independent. Discu&#539;ia s-a mutat rapid de la &#8222;leak jenant&#8221; la &#8222;cum arat&#259; de fapt designul state-of-the-art pentru agen&#539;i?&#8221;</p><div><hr></div><h2>Partea rea: Securitate, supply chain &#537;i daune strategice</h2><p><strong>Un atac simultan pe supply chain a amplificat daunele.</strong> &#206;ntr-o coinciden&#539;&#259; aparent f&#259;r&#259; leg&#259;tur&#259;, dar perfect sincronizat&#259;, versiuni mali&#539;ioase ale pachetului npm axios au fost publicate cu c&#226;teva ore &#238;nainte de leak. Utilizatorii care au instalat sau actualizat Claude Code prin npm &#238;ntre 00:21 &#537;i 03:29 UTC pe 31 martie e posibil s&#259; fi desc&#259;rcat o dependen&#539;&#259; troianizat&#259;. Anthropic a recomandat de atunci migrarea la installerul nativ, care folose&#537;te un binar standalone &#537;i ocole&#537;te npm-ul complet.</p><p><strong>Atacatorii s-au mi&#537;cat rapid.</strong> &#206;n c&#226;teva zile, au ap&#259;rut pachete npm cu nume similare (typosquatting) care vizau developerii ce &#238;ncercau s&#259; compileze codul expus. Repo-uri GitHub false, deghizate &#238;n fork-uri &#8222;oficiale&#8221;, distribuiau Vidar, un infostealer care fur&#259; creden&#539;iale, &#537;i GhostSocks, un tool de deturnare a traficului proxy. Cel pu&#539;in un repo troianizat a urcat aproape &#238;n topul rezultatelor Google pentru &#8222;leaked Claude Code.&#8221; Leak-ul &#238;n sine nu a fost o bre&#537;&#259; de securitate, dar a creat un teren fertil pentru inginerie social&#259;.</p><p><strong>O vulnerabilitate a fost g&#259;sit&#259; aproape imediat.</strong> Cercet&#259;torii &#238;n securitate de la Adversa au descoperit c&#259; sistemul de permisiuni al Claude Code poate fi manipulat prin prompt injection. Limita de 50 de subcomenzi pentru analiz&#259; (proiectat&#259; ca optimizare de performan&#539;&#259;) poate fi exploatat&#259; de un fi&#537;ier CLAUDE.md mali&#539;ios care genereaz&#259; un pipeline ce dep&#259;&#537;e&#537;te limita, determin&#226;nd sistemul s&#259; revin&#259; la un prompt de tip &#8222;ask&#8221; &#238;n loc s&#259; refuze execu&#539;ia. Nivelul de siguran&#539;&#259; LLM a detectat independent unele payload-uri evidente, dar bug-ul exist&#259; &#238;n codul de aplicare a permisiunilor.</p><p><strong>Inteligen&#539;a competitiv&#259; a fost expus&#259;.</strong> Feature flags precum KAIROS &#537;i ULTRAPLAN nu sunt doar curiozit&#259;&#539;i tehnice, sunt elemente de roadmap pe care competitorii le pot anticipa &#537;i contraataca. Codul poate fi refactorizat; surpriza strategic&#259;, odat&#259; expus&#259;, nu mai poate fi recuperat&#259;. Referin&#539;e la o nou&#259; familie de modele cu numele de cod &#8222;Capybara&#8221; (&#537;i &#8222;Mythos&#8221;) erau de asemenea pres&#259;rate &#238;n cod, oferind rivalilor informa&#539;ii anticipate despre urm&#259;toarea lansare major&#259; a Anthropic.</p><div><hr></div><h2>Partea incomod&#259;: Transparen&#539;&#259;, telemetrie &#537;i Undercover Mode</h2><p>Unele dintre cele mai dezb&#259;tute descoperiri nu se &#238;ncadreaz&#259; clar &#238;n &#8222;bine&#8221; sau &#8222;r&#259;u.&#8221; Se afl&#259; &#238;n zona gri, unde interesele corporative se ciocnesc de &#238;ncrederea developerilor.</p><p><strong>Undercover Mode.</strong> Codul surs&#259; con&#539;ine o func&#539;ionalitate numit&#259; Undercover Mode care instruie&#537;te Claude Code s&#259; ascund&#259; faptul c&#259; autorul contribu&#539;iilor la repo-uri publice este inteligen&#539;&#259; artificial&#259;. Prompt-ul de sistem &#238;i spune explicit modelului: s&#259; nu dezv&#259;luie nume de cod interne, s&#259; nu indice c&#259; este un AI. Scopul declarat este probabil testarea intern&#259; (dogfooding), angaja&#539;ii Anthropic care folosesc Claude Code pe proiecte open-source. Dar implica&#539;ia a deranjat pe mul&#539;i din comunitate: practic ofer&#259; un mecanism gata f&#259;cut pentru a ascunde implicarea AI &#238;n proiecte care pot avea politici explicite &#238;mpotriva contribu&#539;iilor generate de AI.</p><p><strong>Telemetrie &#537;i colectarea datelor.</strong> O analiz&#259; a codului surs&#259; realizat&#259; de The Register a relevat c&#259; Claude Code colecteaz&#259; &#537;i transmite (sau pune la coad&#259; pentru transmitere ulterioar&#259;) un volum semnificativ de date: ID-uri de utilizator &#537;i sesiune, detalii despre platform&#259;, tipul terminalului, UUID-uri de organiza&#539;ie &#537;i cont, adrese de email &#537;i feature flags active. Pentru un agent care are acces profund la sta&#539;iile de lucru ale developerilor (inclusiv sisteme de fi&#537;iere, terminale &#537;i baze de cod) amploarea colect&#259;rii de date a ridicat semne de &#238;ntrebare chiar &#537;i printre utilizatorii care se a&#537;teptau la un anumit nivel de telemetrie.</p><p><strong>Ironia drepturilor de autor.</strong> Anthropic s-a mi&#537;cat rapid pentru a limita redistribuirea, emi&#539;&#226;nd notific&#259;ri DMCA c&#259;tre aproape 100 de mirror-uri pe GitHub. Acest lucru a atras comentarii din partea observatorilor care au remarcat tensiunea: o companie AI care &#537;i-a antrenat modelele pe cantit&#259;&#539;i vaste de text disponibil public ap&#259;r&#259; acum cu promptitudine propria proprietate intelectual&#259; prin intermediul legii drepturilor de autor. Dac&#259; vezi asta ca ipocrizie sau ca interes ra&#539;ional depinde de pozi&#539;ia ta &#238;n dezbaterea continu&#259; despre datele de antrenament AI, dar optica nu a trecut neobservat&#259; &#238;n r&#226;ndul comunit&#259;&#539;ii de developeri.</p><div><hr></div><h2>Ce &#238;nseamn&#259; asta pe viitor?</h2><p>Leak-ul Claude Code este un test de stres pentru &#238;ntregul ecosistem de agen&#539;i AI &#537;i dezv&#259;luie mai multe lucruri simultan.</p><p>&#206;n primul r&#226;nd, decalajul dintre ingineria de siguran&#539;&#259; AI &#537;i procesele umane de release e flagrant. Claude Code include sisteme sofisticate de prevenire a leak-urilor pentru propriile output-uri, dar a fost apoi leak-uit de o linie lips&#259; &#238;ntr-un fi&#537;ier de configurare a build-ului. Lec&#539;ia se aplic&#259; oric&#259;rei echipe care livreaz&#259; software: cele mai avansate m&#259;suri de siguran&#539;&#259; interne nu &#238;nseamn&#259; nimic dac&#259; pipeline-ul de release nu are verific&#259;ri de baz&#259; ale con&#539;inutului.</p><p>&#206;n al doilea r&#226;nd, paradigma AI agentic introduce riscuri de supply chain pe care industria nu le-a internalizat pe deplin. Sta&#539;iile de lucru ale developerilor sunt medii cu nivel ridicat de &#238;ncredere &#537;i bogate &#238;n creden&#539;iale. Agen&#539;ii AI care opereaz&#259; &#238;n interiorul lor amplific&#259; suprafa&#539;a de atac. Compromiterea simultan&#259; a axios (&#537;i viteza cu care atacatorii au exploatat leak-ul) ar trebui s&#259; &#238;ngrijoreze orice echip&#259; care ruleaz&#259; agen&#539;i AI &#238;n produc&#539;ie.</p><p>&#206;n al treilea r&#226;nd, comunitatea open-source are acum dovezi concrete despre cum arat&#259; ingineria de agen&#539;i de nivel de produc&#539;ie. Fie prin reimplementare independent&#259;, fie prin inspira&#539;ie direct&#259;, pattern-urile din acest codebase vor influen&#539;a modul &#238;n care sunt construite framework-urile de agen&#539;i &#238;n anii urm&#259;tori. Asta este un c&#226;&#537;tig net pentru domeniu.</p><p>&#536;i &#238;n final, leak-ul for&#539;eaz&#259; o conversa&#539;ie despre transparen&#539;&#259; care era de mult necesar&#259;. C&#226;te date ar trebui s&#259; colecteze un agent AI? Ar trebui dezv&#259;luite contribu&#539;iile AI la proiectele open-source? Ce &#238;nseamn&#259; c&#226;nd scheletul din jurul modelului (nu modelul &#238;n sine) este cel care constituie adev&#259;ratul avantaj competitiv?</p><p>Aceste &#238;ntreb&#259;ri nu au &#238;nc&#259; r&#259;spunsuri clare. Dar datorit&#259; unui fi&#537;ier source map r&#259;t&#259;cit, le discut&#259;m acum &#238;n public.</p>]]></content:encoded></item><item><title><![CDATA[The Claude Code Leak: What 512,000 Lines of Exposed Source Code Mean for the AI Industry?]]></title><description><![CDATA[How a misplaced source map gave the open-source world a masterclass in agent engineering and opened a can of worms.]]></description><link>https://doriandiaconu.substack.com/p/the-claude-code-leak-what-512000</link><guid isPermaLink="false">https://doriandiaconu.substack.com/p/the-claude-code-leak-what-512000</guid><dc:creator><![CDATA[Dorian Diaconu]]></dc:creator><pubDate>Sat, 04 Apr 2026 16:19:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EWIF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EWIF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EWIF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 424w, https://substackcdn.com/image/fetch/$s_!EWIF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 848w, https://substackcdn.com/image/fetch/$s_!EWIF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 1272w, https://substackcdn.com/image/fetch/$s_!EWIF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EWIF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31708,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://doriandiaconu.substack.com/i/193175687?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EWIF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 424w, https://substackcdn.com/image/fetch/$s_!EWIF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 848w, https://substackcdn.com/image/fetch/$s_!EWIF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 1272w, https://substackcdn.com/image/fetch/$s_!EWIF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbff46b71-a7a2-4273-a666-cd68e28e332f_2000x1125.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>On March 31, 2026, Anthropic shipped version 2.1.88 of its Claude Code package to the npm registry with a 59.8 MB source map file that was never meant to be public. Within hours, the full TypeScript source (roughly 512,000 lines across 1,900 files) was mirrored, forked, and dissected by thousands of developers worldwide.</p><p>Anthropic confirmed the incident was caused by human error in the release packaging process. No model weights, customer data, or API credentials were exposed. What <em>was</em> exposed is the agentic harness, the orchestration layer that turns a large language model into a tool-wielding coding agent.</p><p>Here&#8217;s what this means: the good, the bad, and the uncomfortable.</p><div><hr></div><h2>What Was Actually Leaked?</h2><p>Claude Code is not just a chatbot that writes code. The leaked source reveals a sophisticated multi-layered system: a context management pipeline that fights hallucination in long sessions, a three-tier memory architecture (index files, topic-specific files, and searchable session transcripts), a forked subagent model for parallel task execution, and 44 feature flags covering unreleased capabilities.</p><p>Among the most discussed discoveries are KAIROS, an autonomous daemon mode that lets Claude Code run as a background agent; autoDream, a memory consolidation process that prunes contradictions while the user is idle; and ULTRAPLAN, which offloads complex planning tasks to a remote session running a more powerful model.</p><p>None of this is the model itself. It&#8217;s the <em>scaffolding</em>, but it turns out the scaffolding is where much of the product&#8217;s competitive advantage lives.</p><div><hr></div><h2>The Good: A Masterclass in Agent Engineering</h2><p>For the open-source community and anyone building AI agents, this leak is arguably the most educational event of 2026 so far.</p><p><strong>A real-world blueprint for agent architecture.</strong> Open-source agent frameworks have proliferated over the past two years, but most are relatively thin wrappers. Claude Code&#8217;s source reveals production-grade solutions to problems that every agent builder faces: how to manage context over long sessions, how to handle tool permissions safely, how to parallelize subagent work without corrupting the main thread&#8217;s reasoning, and how to build memory systems that actually scale.</p><p><strong>Context entropy solved in production.</strong> One of the persistent challenges in agentic AI is that models lose coherence in long sessions. The leaked code shows that Claude Code treats its own memory as a &#8220;hint&#8221; rather than ground truth, forcing the model to verify facts against the actual codebase before acting. This design pattern (skeptical memory) is immediately applicable to any agent project.</p><p><strong>Sophisticated security engineering.</strong> The source contains over 25 bash security validators, sandboxing logic, and a permission system that caps compound command analysis at 50 subcommands. For security researchers, this is a rare chance to study how a leading AI lab approaches the problem of giving an AI agent real system access without catastrophic outcomes.</p><p><strong>Inspiration for open-source tooling.</strong> Within days of the leak, developers began creating derivative ports in Python and Rust. While these face legal uncertainty, the <em>patterns</em> exposed, the fork-join subagent model, the compaction pipeline, the memory consolidation system  are ideas that can be independently reimplemented. The discussion shifted quickly from &#8220;embarrassing leak&#8221; to &#8220;what does state-of-the-art agent design actually look like?&#8221;</p><div><hr></div><h2>The Bad: Security, Supply Chain, and Strategic Damage</h2><p><strong>A concurrent supply chain attack compounded the damage.</strong> In what appears to be an unrelated but perfectly timed coincidence, malicious versions of the axios npm package were published hours before the leak. Users who installed or updated Claude Code via npm between 00:21 and 03:29 UTC on March 31 may have pulled a trojanized dependency containing a remote access trojan. Anthropic has since recommended migrating to the native installer, which uses a standalone binary and bypasses npm entirely.</p><p><strong>Attackers moved fast.</strong> Within days, typosquatted npm packages appeared targeting developers trying to compile the leaked source. Fake GitHub repositories disguised as &#8220;official&#8221; forks distributed Vidar, a credential-stealing infostealer, and GhostSocks, a proxy hijacking tool. At least one trojanized repository climbed near the top of Google results for &#8220;leaked Claude Code.&#8221; The leak itself may not have been a security breach, but it created a fertile hunting ground for social engineering.</p><p><strong>A vulnerability was found almost immediately.</strong> Security researchers at Adversa discovered that Claude Code&#8217;s permission system can be manipulated through prompt injection. The 50-subcommand analysis cap (designed as a performance optimization) can be exploited by a malicious CLAUDE.md file that generates a pipeline exceeding the cap, causing the system to fall back to an &#8220;ask&#8221; prompt rather than denying execution outright. The LLM safety layer caught some obvious payloads independently, but the bug exists in the permission enforcement code itself.</p><p><strong>Competitive intelligence was laid bare.</strong> Feature flags like KAIROS and ULTRAPLAN aren&#8217;t just technical curiosities, they&#8217;re roadmap items that competitors can now anticipate and counter. Code can be refactored; strategic surprise cannot be un-leaked. References to an upcoming model family codenamed &#8220;Capybara&#8221; (also &#8220;Mythos&#8221;) were also scattered through the source, giving rivals advance notice of Anthropic&#8217;s next major release.</p><div><hr></div><h2>The Uncomfortable: Transparency, Telemetry, and Undercover Mode</h2><p>Some of the most debated findings don&#8217;t fit neatly into &#8220;good&#8221; or &#8220;bad.&#8221; They sit in the gray zone where corporate interests collide with developer trust.</p><p><strong>Undercover Mode.</strong> The source contains a feature called Undercover Mode that instructs Claude Code to hide its AI authorship when contributing to public repositories. The system prompt explicitly tells the model: don&#8217;t reveal internal codenames, don&#8217;t indicate you&#8217;re an AI. The stated purpose is likely internal dogfooding Anthropic employees using Claude Code on open-source projects. But the implication troubled many in the community: this provides a framework for concealing AI involvement in codebases that may have policies against AI-generated contributions.</p><p><strong>Telemetry and data collection.</strong> An analysis of the source by The Register revealed that Claude Code collects and transmits (or queues for later transmission) a substantial amount of data: user and session IDs, platform details, terminal type, organization and account UUIDs, email addresses, and active feature flags. For an agent that has deep access to developer workstations &#8212; including file systems, terminals, and codebases, the scope of data collection raised eyebrows even among users who expected some level of telemetry.</p><p><strong>The copyright irony.</strong> Anthropic moved quickly to contain redistribution, issuing DMCA takedown notices to nearly 100 GitHub mirrors. This drew sharp commentary from observers who noted the tension: an AI company that trained its models on vast amounts of publicly available text is now vigorously defending its own intellectual property through copyright law. Whether you see this as hypocrisy or rational self-interest depends on where you stand in the ongoing debate about AI training data, but the optics were not lost on the developer community.</p><div><hr></div><h2>What This Means Going Forward?</h2><p>The Claude Code leak is a stress test for the entire AI agent ecosystem, and it reveals several things simultaneously.</p><p>First, the gap between AI safety engineering and human release engineering can be jarring. Claude Code includes sophisticated leak-prevention systems for its own outputs and was then exposed by a missing line in a build configuration file. The lesson applies to every team shipping software: your most advanced internal safeguards mean nothing if your release pipeline lacks basic content checks.</p><p>Second, the agentic AI paradigm introduces supply chain risks that the industry hasn&#8217;t fully internalized. Developer workstations are high-trust, credential-rich environments. AI agents operating inside them amplify the attack surface. The concurrent axios compromise (and the speed with which attackers weaponized the leak itself) should concern any team running AI agents in production.</p><p>Third, the open-source community now has concrete evidence of what production-grade agent engineering looks like. Whether through independent reimplementation or direct inspiration, the patterns in this codebase will influence how agent frameworks are built for years. That&#8217;s a net positive for the field, even if the circumstances are embarrassing for Anthropic.</p><p>And finally, the leak forces a conversation about transparency that was overdue. How much data should an AI coding agent collect? Should AI contributions to open-source projects be disclosed? What does it mean when the scaffolding around a model (not the model itself) is where the real competitive moat lies?</p><p>These questions don&#8217;t have clean answers yet. But thanks to a misplaced source map file, we&#8217;re now having them in public.</p>]]></content:encoded></item></channel></rss>