{"slug":"google-s-ard-spec-adds-a-discovery-layer-ahead-of-mcp","citations":[{"url":"https://developers.googleblog.com/announcing-the-agentic-resource-discovery-specification/","committed_hash":"sha256:e941fcea95fb2ef4badd1fcf62deead731a7580a5b0823b9177f436da81a0405","committed_hash_short":"sha256:e941fcea…a81a0405","mime_type":"text/html","committed_at":"2026-09-18T10:00:23.607997+00:00","content_snapshot":"\n\n<!DOCTYPE html>\n<html lang=\"en\">\n  \t<head>\n        <meta charset=\"utf-8\" />\n        \n        <title>\n            \n            Announcing the Agentic Resource Discovery specification\n            \n            \n            - Google Developers Blog\n            \n        </title>\n        <meta property=\"og:title\" content=\"Announcing the Agentic Resource Discovery specification- Google Developers Blog\" />\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n        \n\t<meta name=\"description\" content=\"An open specification for finding and verifying tools, skills, and agents across the web.Agents are ...\" />\n  <meta content=\"summary_large_image\" name=\"twitter:card\"/>\n  <meta content=\"Google for Developers Blog - News about Web, Mobile, AI and Cloud\" property=\"twitter:title\"/>\n  <meta property=\"og:title\" content=\"Announcing the Agentic Resource Discovery specification\" />\n  <script type=\"application/ld+json\">\n  {\n    \"@context\": \"https://schema.org\",\n    \"@type\": \"BreadcrumbList\",\n    \"itemListElement\": [{\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"name\": \"Google for Developers Blog\",\n      \"item\": \"https://developers.googleblog.com/\"\n    },{\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"name\": \"Announcing the Agentic Resource Discovery specification\",\n      \"item\": \"https://developers.googleblog.com/announcing-the-agentic-resource-discovery-specification/\"\n    }]\n  }\n  </script>\n  <script type=\"application/ld+json\">\n    {\n      \"@context\": \"https://schema.org\",\n      \"@type\": \"Article\",\n      \"headline\": \"Announcing the Agentic Resource Discovery specification\",\n      \"description\": \"\",\n      \"image\": \"https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Gemini_Generated_Image_gzxwoagzxwo.2e16d0ba.fill-800x400.jpg\",\n      \"datePublished\": \"2026-06-17\",\n      \"author\": [\n        \n        \n          { \"@type\": \"Person\", \"name\": \"Junjie Bu\", \"url\": \"/search/?author=Junjie+Bu\" },\n        \n          { \"@type\": \"Person\", \"name\": \"Srinivas Krishnan\", \"url\": \"/search/?author=Srinivas+Krishnan\" }\n        \n        \n      ]\n    }\n  </script>\n  \n  <meta content=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Gemini_Generated_Image_gzxwoagzxw.2e16d0ba.fill-1200x600.jpg\" property=\"og:image\"/>\n  \n\n\n        \n        \n\n        <!-- Google Tag Manager -->\n        <script type=\"text/javascript\" nonce=\"ZFwFbGeNkrn+Dfe33sPpQQ==\" src=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/js/analytics.js\"></script>\n        <!-- End Google Tag Manager -->\n\n        \n        <link href=\"//www.gstatic.com/glue/v27_1/glue.min.css\" rel=\"stylesheet\">\n        <link rel=\"stylesheet\" type=\"text/css\" href=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/css/dgc_blog.css\">\n        <link rel=\"icon\" href=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/meta/favicon.ico\" type=\"image/x-icon\">\n        <link rel=\"apple-touch-icon\" href=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/meta/apple-touch-icon.png\">\n\n        \n\t\t\t\t<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n\t\t\t\t<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n\t\t\t\t<link rel=\"preload\" href=\"https://fonts.googleapis.com/css2?family=Product+Sans&family=Google+Sans+Display:ital@0;1&family=Google+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Google+Sans+Text:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap\" as=\"style\">\n\t\t\t\t<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Product+Sans&family=Google+Sans+Display:ital@0;1&family=Google+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Google+Sans+Text:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap\">\n        <link href=\"https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght,MONO@0,300..800,1;1,300..800,1&amp;family=Google+Sans+Flex:opsz,wght@6..144,1..1000&amp;display=swap\" rel=\"stylesheet\" data-page-link=\"\">\n        <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Roboto:wght@400&display=swap\">\n\n        \n        <link href=\"https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.css\" rel=\"stylesheet\">\n\n        \n  <link\n    rel=\"stylesheet\"\n    type=\"text/css\"\n    href=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/css/blog_detail.css\"\n  />\n  <link type=\"text/css\" href=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/css/prism.css\" rel=\"stylesheet\" />\n\n    </head>\n\n    <body id=\"main-content\" class=\"glue-body \">\n        <!-- Google Tag Manager (noscript) -->\n        <noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-WVTLDSL \"\n        height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\n        <!-- End Google Tag Manager (noscript) -->\n\n        \n\n\t\t\t\t\n        \n\n<!-- HTML -->\n<header class=\"dgc-header\">\n  <div class=\"dgc-header-inner\">\n    <button class=\"hamburger\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-label=\"Open Menu\">\n      <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon\">\n        <use href=\"/glue-icon/#menu\"></use>\n      </svg>\n    </button>\n    <div class=\"product-name-wrapper\">\n      <a href=\"https://developers.google.com/\" class=\"site-logo-link\" data-label=\"Site logo\">\n        <img src=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/images/g-dev.svg\" class=\"site-logo\" alt=\"Google for Developers\">\n      </a>\n    </div>\n    <div class=\"desktop-nav-wrapper\">\n      <div class=\"upper-tabs-wrapper\">\n        <div class=\"upper-tabs\">\n          <nav class=\"tabs\" aria-label=\"Upper Tabs\">\n            <div class=\"tab\">\n              <a\n                href=\"//developers.google.com/community\"\n                class=\"top-nav-title\">\n                Community/Events\n              </a>\n            </div>\n            <div class=\"tab\">\n              <a\n                href=\"//developers.google.com/solutions/catalog\"\n                class=\"top-nav-title\">\n                Learn\n              </a>\n            </div>\n            <div class=\"tab\">\n              <a\n                href=\"//developers.googleblog.com\"\n                class=\"top-nav-title\">\n                Blog\n              </a>\n            </div>\n            <div class=\"tab\">\n              <a\n                href=\"https://www.youtube.com/user/GoogleDevelopers\"\n                class=\"top-nav-title\">\n                YouTube\n              </a>\n            </div>\n          </nav>\n        </div>\n      </div>\n    </div>\n  </div>\n  <div class=\"dgc-header-search\">\n    <div class=\"search-wrapper glue-page\">\n      <div class=\"glue-grid\">\n        <form id=\"search-form\"  action=\"/search/\" method=\"get\" class=\"search-content glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-9-md glue-grid__col--span-7-lg\">\n          <div class=\"search-input-wrapper\">\n            <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon search-icon\">\n              <use href=\"/glue-icon/#search\"></use>\n            </svg>\n            <input\n              type=\"text\"\n              name=\"query\"\n              \n              placeholder=\"Search all articles...\"\n              aria-label=\"Search\"\n              class=\"search-input-field\"\n            />\n          </div>\n          <button class=\"glue-button glue-button--high-emphasis\">\n            Search\n          </button>\n        </form>\n      </div>\n    </div>\n  </div>\n</header>\n\n<div class=\"mobile-drawer\" top-level-nav>\n  <nav class=\"nav-content\" aria-label=\"Side menu\">\n    <div class=\"mobile-header\">\n      <button class=\"nav-close-btn nav-btn\" aria-label=\"Close navigation\">\n        <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon\">\n          <use href=\"/glue-icon/#close\"></use>\n        </svg>\n      </button>\n      <button class=\"nav-back-btn nav-btn hidden\" aria-label=\"Back to Menu\">\n        <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon\">\n          <use href=\"/glue-icon/#arrow-back\"></use>\n        </svg>\n      </button>\n      <div class=\"product-name-wrapper\">\n        <a href=\"https://developers.google.com/\" class=\"site-logo-link\" data-label=\"Site logo\">\n          <img src=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/images/g-dev.svg\" class=\"site-logo\" alt=\"Google for Developers\">\n        </a>\n      </div>\n    </div>\n    <div class=\"nav-wrapper\">\n      <div class=\"mobile-nav-top\">\n        <ul class=\"nav-list\">\n          <li class=\"nav-item\">\n            <a href=\"//developers.google.com/community\" class=\"nav-title\" data-label=\"Tab: Community/Events\">\n              <span class=\"nav-text\" tooltip=\"\">\n                Community/Events\n             </span>\n            </a>\n          </li>\n          <li class=\"nav-item\">\n            <a href=\"//developers.google.com/solutions/catalog\" class=\"nav-title\" data-label=\"Tab: Learn\">\n              <span class=\"nav-text\" tooltip=\"\">\n                Learn\n             </span>\n            </a>\n          </li>\n          <li class=\"nav-item\">\n            <a href=\"//developers.googleblog.com\" class=\"nav-title\" data-label=\"Tab: Blog\">\n              <span class=\"nav-text\" tooltip=\"\">\n                Blog\n             </span>\n            </a>\n          </li>\n          <li class=\"nav-item\">\n            <a href=\"https://www.youtube.com/user/GoogleDevelopers\" class=\"nav-title\" data-label=\"Tab: YouTube\">\n              <span class=\"nav-text\" tooltip=\"\">\n                YouTube\n             </span>\n            </a>\n          </li>\n        </ul>\n      </div>\n    </div>\n  </nav>\n</div>\n\n<div class=\"backdrop\"></div>\n\n        \n  <div class=\"blog-detail-container\">\n\n    \n      <section class=\"tags-container glue-page glue-spacer-5-top\">\n        <div class=\"glue-eyebrow\"></div>\n      </section>\n    \n\n    <section class=\"heading-container glue-page  glue-spacer-1-top\">\n      <h1 class=\"glue-headline glue-headline--headline-1\">Announcing the Agentic Resource Discovery specification</h1>\n    </section>\n\n    <section class=\"summary-container glue-page glue-spacer-4-top\">\n      <div class=\"date-time\">\n        <div class=\"published-date glue-font-weight-medium\">JUNE 17, 2026</div>\n      </div>\n    </section>\n\n    <section class=\"glue-page glue-grid glue-spacer-1-top\">\n\n      <section class=\"author-container glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-10-md\">\n      \n        \n          <div class=\"author-obj\">\n            <a class=\"glue-font-weight-medium\" href=\"/search/?author=Junjie+Bu\">Junjie Bu</a>\n            \n              <span class=\"glue-font-weight-medium role\">Senior Staff Software Engineer</span>\n            \n            \n          </div>\n        \n          <div class=\"author-obj\">\n            <a class=\"glue-font-weight-medium\" href=\"/search/?author=Srinivas+Krishnan\">Srinivas Krishnan</a>\n            \n              <span class=\"glue-font-weight-medium role\">Distinguished Software Engineer</span>\n            \n            \n          </div>\n        \n\n      \n      </section>\n      <section class=\"social-container glue-grid__col glue-grid__col--span-4-sm glue-grid__col--span-2-md\">\n        <button id=\"social-button\" class=\"glue-button glue-button--low-emphasis glue-button--icon\" aria-haspopup=\"true\" aria-expanded=\"false\">\n          <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon\">\n            <use href=\"/glue-icon/#share\"></use>\n          </svg>\n          <span>Share</span>\n        </button>\n        <ul id=\"social-menu\" class=\"glue-elevation-level-1\" role=\"menu\" aria-labelledby=\"social-button\">\n          <li>\n            <a href=\"https://www.facebook.com/sharer/sharer.php?u={url}\"\n                title=\"Share on Facebook\" target=\"_blank\" rel=\"noopener\">\n              <svg role=\"presentation\" aria-hidden=\"true\"\n                  class=\"glue-icon glue-icon--social glue-icon--32px\">\n                <use href=\"/glue-icon/#post-facebook\"></use>\n              </svg>\n              <span>Facebook</span>\n            </a>\n          </li>\n          <li>\n            <a href=\"https://twitter.com/intent/tweet?text={url}\"\n                title=\"Share on Twitter\" target=\"_blank\" rel=\"noopener\">\n              <svg role=\"presentation\" aria-hidden=\"true\"\n                  class=\"glue-icon glue-icon--social glue-icon--32px\">\n                <use href=\"/glue-icon/#twitter-x\"></use>\n              </svg>\n              <span>Twitter</span>\n            </a>\n          </li>\n          <li>\n            <a href=\"https://www.linkedin.com/shareArticle?url={url}&amp;mini=true\" title=\"Share on LinkedIn\" target=\"_blank\" rel=\"noopener\">\n              <svg role=\"presentation\" aria-hidden=\"true\"\n                  class=\"glue-icon glue-icon--social glue-icon--32px\">\n                <use href=\"/glue-icon/#post-linkedin\"></use>\n              </svg>\n              <span>LinkedIn</span>\n            </a>\n          </li>\n          <li>\n            <a href=\"mailto:name@example.com?subject=Check%20out%20this%20site&body=Check%20out%20{url}\" title=\"Send via Email\">\n              <svg role=\"presentation\" aria-hidden=\"true\"\n                  class=\"glue-icon glue-icon--social glue-icon--32px\">\n                <use href=\"/glue-icon/#email\"></use>\n              </svg>\n              <span>Mail</span>\n            </a>\n          </li>\n          <li>\n            <a href=\"#\" title=\"Get shareable link\" data-link=\"\" data-copy-text=\"Copy Link\" data-copied-text=\"Copied!\">\n              <svg role=\"presentation\" aria-hidden=\"true\"\n                  class=\"glue-icon glue-icon--social glue-icon--32px\">\n                <use href=\"/glue-icon/#link\"></use>\n              </svg>\n              <span></span>\n            </a>\n          </li>\n        </ul>\n      </section>\n    </section>\n\n    \n    <section class=\"blocks-container glue-page glue-spacer-3-top\">\n      <div class=\"block\">\n          \n\n<img\n    class=\"banner-image\"\n    src=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Gemini_Generated_Image_gzxwoagzxwoagzxw.original.jpg\"\n    alt=\"Gemini_Generated_Image_gzxwoagzxwoagzxw\"\n/>  <div class=\"inner-block-content rich-content\">\n    <h3 data-block-key=\"upfna\" id=\"an-open-specification-for-finding-and-verifying-tools-skills-and-agents-across-the-web.\"><b>An open specification for finding and verifying tools, skills, and agents across the web.</b></h3><p data-block-key=\"6v1sq\">Agents are becoming participants in a much larger ecosystem. They increasingly rely on tools, skills, and other agents distributed across teams, organizations, and platforms.</p><p data-block-key=\"47pt4\">For this ecosystem to scale, agents need reliable answers to three questions: <b>Where does the right capability live? Which capability should I actually use? And how do I verify it’s safe to connect to?</b></p><p data-block-key=\"fa5q7\">Today, there is no standard way to answer those questions across organizations.</p><p data-block-key=\"21i2q\">That’s why we’re announcing <a href=\"https://github.com/ards-project/ard-spec\"><b>Agentic Resource Discovery (ARD)</b></a>, an open specification for publishing, discovering, and verifying AI capabilities across the web. Developed with partners across the industry, ARD allows tools and services to be securely shared and connected, regardless of their underlying framework, protocol, or provider.</p><h3 data-block-key=\"pmx36\" id=\"\"><b>Built with partners across the agent ecosystem</b></h3>\n</div>   \n\n\n    \n    <div class=\"inner-block-content\">\n        <div class=\"image-wrapper\">\n            \n                <img\n                    class=\"regular-image\"\n                    src=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/ARD_logo_wall.original.png\"\n                    alt=\"ARD logo wall\"\n                />\n            \n            \n        </div>\n    </div>\n  <div class=\"inner-block-content rich-content\">\n    <h3 data-block-key=\"qz4rv\" id=\"\"><b>The missing layer of the agentic web</b></h3><p data-block-key=\"e6m98\">Consider an operations agent investigating a live production incident. To resolve the issue, it might need to query observability systems, search engineering documentation, review deployment history, open support tickets, and maybe even consult specialized troubleshooting agents.</p><p data-block-key=\"cfbip\">While many platforms already feature custom registries to manage these capabilities, they remain fragmented and siloed within specific ecosystems. This lack of interoperability prevents agents from easily communicating across different tools. What’s missing is a standard way for agents to discover capabilities across organizational boundaries and establish trust in what they find.</p><p data-block-key=\"f6vse\">ARD provides that layer. It standardizes how capabilities are published under an organization&#x27;s own domain name and indexed across federated registries, enabling any agent to dynamically find the right resources for the job. From there, ARD steps out of the way – handing off the verifiable trust metadata so the agent can establish a direct, secure connection using the tool&#x27;s native protocol.</p><h3 data-block-key=\"eiccm\" id=\"\"><b>How ARD works</b></h3><p data-block-key=\"dd1fu\">This architecture relies on two primitives: <b>catalogs</b> and <b>registries</b>.</p><p data-block-key=\"3mgv6\"></p><ul><li data-block-key=\"dud1a\"><b>Catalogs:</b> To make resources discoverable, an organization publishes a catalog describing its available capabilities. Because these catalogs are hosted directly under the organization’s own domain, ownership of that domain serves as the cryptographic foundation for identity and trust.</li><li data-block-key=\"3coqd\"><b>Registries:</b> Registries act as search engines for the agentic web. They crawl published catalogs, index their contents, and make them searchable. When an agent submits a discovery request, a registry returns matching capabilities along with the metadata required to verify the publisher and establish trust before connecting.</li></ul>\n</div>   \n\n\n    \n    <div class=\"inner-block-content\">\n        <div class=\"image-wrapper\">\n            \n                <img\n                    class=\"regular-image\"\n                    src=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/ard-infographics.original.png\"\n                    alt=\"ard-infographics\"\n                />\n            \n            \n        </div>\n    </div>\n  <div class=\"inner-block-content rich-content\">\n    <p data-block-key=\"nxo5l\">The video below demonstrates an ARD client discovering and executing new capabilities entirely at runtime. Watch for these four key phases in the terminal window:</p><p data-block-key=\"9nbtr\"></p><ol><li data-block-key=\"49pjg\"><b>Publishing the catalog:</b> The provider hosts an ai-catalog.json file at a well-known path on its domain. The catalog describes the provider&#x27;s available capabilities, which can include things like MCP servers, A2A agents, OpenAPI tools, or even other nested catalogs.</li><li data-block-key=\"bq83h\"><b>Discovery and resolution</b>: When a client agent needs a capability, it can either query an ARD registry using a plain-language intent (which can actively crawl and index these catalogs), or it can completely bypass search and directly fetch a catalog from a known partner&#x27;s domain.</li><li data-block-key=\"cl9tc\"><b>Cryptographic verification:</b> For production environments, the discovery layer allows publishers to attach verifiable trust metadata. Whether found via search or direct fetch, this enables the client agent or registry to actively confirm the publisher&#x27;s true cryptographic identity before connecting to the endpoint.</li><li data-block-key=\"1d00a\"><b>Direct runtime connection:</b> The client agent dynamically loads the selected capability, interacts with it using its native protocol or API, and returns the result to the user.</li></ol>\n</div>   \n\n<div class=\"inner-block-content video-block\">\n    \n        <video  autoplay=\"\" loop=\"\" muted=\"\" playsinline=\"\" poster=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/original_videos/wagtailvideo-6uhvkwu5_thumb.jpg\">\n<source src='https://storage.googleapis.com/gweb-developer-goog-blog-assets/original_videos/ard-captions.mp4' type='video/mp4'>\n<p>Sorry, your browser doesn't support playback for this video</p>\n\n</video>\n    \n    \n</div>  <div class=\"inner-block-content rich-content\">\n    <h3 data-block-key=\"f2fk1\" id=\"\"><b>Bringing ARD to Gemini Enterprise Agent Platform</b></h3><p data-block-key=\"f4lp2\">Just as the open web democratized information, ARD democratizes AI resource discovery. Google Cloud supports this with <a href=\"https://docs.cloud.google.com/agent-registry/overview\">Agent Registry</a> in <a href=\"https://docs.cloud.google.com/gemini-enterprise-agent-platform\">Gemini Enterprise Agent Platform</a> – the enterprise-grade product that delivers on this vision and forms part of this global federated network.</p><p data-block-key=\"e8r1o\">Agent Registry ensures enterprises can trust, govern, and operationalize that promise at scale. It provides fully hosted support for searching, discovering, and hosting agentic resources, including agents, skills, MCP servers and other tools. Additionally, it allows users to onboard these capabilities directly onto Agent Registry, and it will soon support authenticated publisher onboarding.</p><p data-block-key=\"2aunh\">Importantly, Agent Registry plays a central role in enterprise governance. This includes assigning globally unique namespaced URNs, enforcing agentic egress policies, and pinning tools and specifications. It also handles secure resource management using <a href=\"https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/agent-identity-overview\">Agent Identity</a> to verify the <a href=\"https://github.com/ards-project/ard-spec/blob/main/spec/schemas/ai-catalog.schema.json\">trust manifest</a> – ARD’s cryptographic layer for proving agent authenticity and meeting enterprise compliance standards like HIPAA.</p><p data-block-key=\"9s2ci\">Native support for ARD will be available in Agent Platform in the coming months, allowing organizations to securely connect their internal registries to the broader network.</p><h3 data-block-key=\"4ui6p\" id=\"\"><b>Get started with ARD</b></h3><p data-block-key=\"8180p\">The ARD specification is available now. To get involved:</p><p data-block-key=\"dk3is\"></p><ul><li data-block-key=\"f74r7\"><b>Publish your first catalog:</b> Follow the <a href=\"https://agenticresourcediscovery.org/how_to_publish/#step-1-create-the-manifest-ai-catalogjson\">quickstart guide</a> to host an <code>ai-catalog.json</code> file on your domain and make your services discoverable in minutes.</li><li data-block-key=\"31ogh\"><b>Read the specification:</b> Check out the <a href=\"https://agenticresourcediscovery.org/\">specification</a>, including full schemas, federation model, trust architecture, and reference implementations.</li><li data-block-key=\"fg4rq\"><b>Join the community:</b> Contribute implementations, propose schema updates, and participate in the evolution of ARD by visiting our <a href=\"https://github.com/ards-project/ard-spec\">GitHub repository</a>.</li></ul><p data-block-key=\"9dlhk\"></p><p data-block-key=\"540cl\">The agent ecosystem works best when it is decentralized and open. ARD is our contribution to keeping it that way. We’d love your feedback – and your catalog!</p><h3 data-block-key=\"yuijp\" id=\"\"><b>Acknowledgements</b></h3><p data-block-key=\"3nbt9\">The Agentic Resource Discovery specification is licensed under Apache 2.0 and is built upon the foundational AI Catalog data model. We are grateful to the <a href=\"https://github.com/Agent-Card/ai-catalog\">AI Catalog</a> Working Group under the Linux Foundation, as well as the launch partners who helped shape the specification and reference implementations.</p>\n</div> \n      </div>\n    </section>\n    \n\n    <section class=\"navigation-container glue-page glue-spacer-6-top\">\n      <div class=\"posted-in-section\">\n        <div class=\"posted-in-section__heading\">\n          <span class=\"glue-caption\">\n            posted in:\n          </span>\n        </div>\n        <div class=\"posted-in-section__tags\">\n          <ul>\n              \n                  <li>\n                      <a href=\"/search/?technology_categories=AI\" class=\"glue-caption\">AI</a>\n                  </li>\n              \n                  <li>\n                      <a href=\"/search/?content_type_categories=Announcements\" class=\"glue-caption\">Announcements</a>\n                  </li>\n              \n                  <li>\n                      <a href=\"/search/?content_type_categories=Learn\" class=\"glue-caption\">Learn</a>\n                  </li>\n              \n              \n          </ul>\n      </div>\n      </div>\n      <div class=\"buttons-section\">\n        <div class=\"buttons-section__left\">\n          <a href=\"/how-a2a-is-building-a-world-of-collaborative-agents/\" class=\"glue-button--icon glue-elevation-level-1 \" aria-label=\"Previous\">\n            <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon\">\n              <use href=\"/glue-icon/#chevron-left\"></use>\n            </svg>\n          </a>\n          <span class=\"caption \">Previous</span>\n        </div>\n        <div class=\"buttons-section__right\">\n          <span class=\"caption \">Next</span>\n          <a href=\"/unlocking-the-power-of-the-tpu-stack-introducing-our-new-developer-hub/\" class=\"glue-button--icon glue-elevation-level-1 \"  aria-label=\"Next\">\n            <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon\">\n              <use href=\"/glue-icon/#chevron-right\"></use>\n            </svg>\n          </a>\n        </div>\n      </div>\n    </section>\n\n    \n    <section class=\"related-posts-container glue-page glue-spacer-6-top glue-spacer-3-bottom\">\n      <span class=\"glue-headline glue-headline--headline-3\">Related Posts</span>\n      <div class=\"related-posts-container__carousel glue-page glue-spacer-5-top\">\n        <div class=\"glue-carousel glue-carousel--cards glue-carousel-related-posts\" aria-label=\"Related Posts\">\n          <!-- Previous -->\n          <button class=\"glue-carousel__button glue-carousel__button--prev\"\n              aria-label=\"Go to the previous slide\">\n            <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon glue-icon--32px\">\n              <use href=\"/glue-icon/#chevron-left\"></use>\n            </svg>\n          </button>\n          <!-- Next -->\n          <button class=\"glue-carousel__button glue-carousel__button--next\"\n              aria-label=\"Go to the next slide\">\n            <svg role=\"presentation\" aria-hidden=\"true\" class=\"glue-icon glue-icon--32px\">\n              <use href=\"/glue-icon/#chevron-right\"></use>\n            </svg>\n          </button>\n          <!-- List -->\n          <div class=\"glue-carousel__viewport\">\n            <div class=\"glue-carousel__list\">\n              \n                <a class=\"glue-card glue-carousel__item\" href=\"/why-client-sdk-generation-belongs-in-the-open/\">\n                  <div aria-label=\"Why client SDK generation belongs in the open\" class=\"glue-card__inner\">\n                    <picture class=\"glue-card__asset\">\n                      <img alt=\"Why client SDK generation belongs in the open\" src=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Copy_of_why_client_SDK_generation_.2e16d0ba.fill-800x400.png\">\n                    </picture>\n                    <div class=\"glue-card__content\">\n                      <div class=\"glue-card__tags glue-spacer-2-top\">\n                        \n                            \n                            \n                            <span class=\"glue-label\">AI</span>\n                            \n                            \n                            <span class=\"glue-label\">Announcements</span>\n                            \n                            <span class=\"glue-label\">Learn</span>\n                            \n                        \n                      </div>\n                      <p class=\"glue-headline glue-headline--headline-5\">Why client SDK generation belongs in the open</p>\n                      <div class=\"glue-card__cta-custom glue-spacer-3-top\">\n                        <span class=\"glue-cta\">SEPT. 17, 2026</span>\n                        <svg aria-hidden=\"true\" class=\"glue-icon glue-icon--24px\" role=\"presentation\">\n                          <use href=\"/glue-icon/#arrow-forward\"></use>\n                        </svg>\n                      </div>\n                    </div>\n                  </div>\n                </a>\n              \n                <a class=\"glue-card glue-carousel__item\" href=\"/agent-anomaly-detection-now-in-private-preview-on-the-gemini-enterprise-agent-platform/\">\n                  <div aria-label=\"Agent Anomaly Detection, now in Private Preview on the Gemini Enterprise Agent Platform\" class=\"glue-card__inner\">\n                    <picture class=\"glue-card__asset\">\n                      <img alt=\"Agent Anomaly Detection, now in Private Preview on the Gemini Enterprise Agent Platform\" src=\"https://storage.googleapis.com/gweb-developer-goog-blog-assets/images/Blog_Banner_3.2e16d0ba.fill-800x400.jpg\">\n                    </picture>\n                    <div class=\"glue-card__content\">\n                      <div class=\"glue-card__tags glue-spacer-2-top\">\n                        \n                            \n                            \n                            <span class=\"glue-label\">AI</span>\n                            \n                            <span class=\"glue-label\">Cloud</span>\n                            \n                            \n                            <span class=\"glue-label\">Announcements</span>\n                            \n                            <span class=\"glue-label\">Learn</span>\n                            \n                        \n                      </div>\n                      <p class=\"glue-headline glue-headline--headline-5\">Agent Anomaly Detection, now in Private Preview on the Gemini Enterprise Agent Platform</p>\n                      <div class=\"glue-card__cta-custom glue-spacer-3-top\">\n                        <span class=\"glue-cta\">SEPT. 16, 2026</span>\n                        <svg aria-hidden=\"true\" class=\"glue-icon glue-icon--24px\" role=\"presentation\">\n                          <use href=\"/glue-icon/#arrow-forward\"></use>\n                        </svg>\n                      </div>\n                    </div>\n                  </div>\n                </a>\n              \n            </div>\n          </div>\n          <!-- Navigation dots -->\n          <div class=\"glue-carousel__navigation\" aria-label=\"Choose a page\"\n               data-glue-carousel-navigation-label=\"Selected tab $glue_carousel_page_number$ of $glue_carousel_page_total$\">\n          </div>\n        </div>\n      </div>\n    </section>\n    \n  </div>\n\n\n\t\t\t\t\n\t\t\t\t\n\n<div class=\"footer-linkboxes__wrapper\">\n  <nav class=\"footer-linkboxes\" aria-label=\"Footer links\">\n    <ul class=\"footer-linkboxes__list\">\n      <li class=\"footer-linkbox\">\n        <span class=\"footer-linkbox-heading\">\n          Connect\n        </span>\n        <ul class=\"footer-linkbox-list\">\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//googledevelopers.blogspot.com\" class=\"footer-linkbox-list__link\">\n                Blog\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"https://goo.gle/3FReQXN\" class=\"footer-linkbox-list__link\">\n                Bluesky\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"https://goo.gle/googlefordevs\" class=\"footer-linkbox-list__link\">\n                Instagram\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"https://goo.gle/gdevs-li\" class=\"footer-linkbox-list__link\">\n                LinkedIn\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"https://goo.gle/gdevs-tw\" class=\"footer-linkbox-list__link\">\n                X (Twitter)\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"https://goo.gle/developers\" class=\"footer-linkbox-list__link\">\n                YouTube\n              </a>\n            </li>\n          \n        </ul>\n      </li>\n      <li class=\"footer-linkbox\">\n        <span class=\"footer-linkbox-heading\">\n          Programs\n        </span>\n        <ul class=\"footer-linkbox-list\">\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//developers.google.com/program\" class=\"footer-linkbox-list__link\">\n                Google Developer Program\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//developers.google.com/community/gdg\" class=\"footer-linkbox-list__link\">\n                Google Developer Groups\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//developers.google.com/community/experts\" class=\"footer-linkbox-list__link\">\n                Google Developer Experts\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//developers.google.com/community/accelerators\" class=\"footer-linkbox-list__link\">\n                Accelerators\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//www.womentechmakers.com\" class=\"footer-linkbox-list__link\">\n                Women Techmakers\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//developers.google.com/community/nvidia\" class=\"footer-linkbox-list__link\">\n                Google Cloud &amp; NVIDIA\n              </a>\n            </li>\n          \n        </ul>\n      </li>\n      <li class=\"footer-linkbox\">\n        <span class=\"footer-linkbox-heading\">\n          Developer consoles\n        </span>\n        <ul class=\"footer-linkbox-list\">\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//console.developers.google.com\" class=\"footer-linkbox-list__link\">\n                Google API Console\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//console.cloud.google.com\" class=\"footer-linkbox-list__link\">\n                Google Cloud Platform Console\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//play.google.com/apps/publish\" class=\"footer-linkbox-list__link\">\n                Google Play Console\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//console.firebase.google.com\" class=\"footer-linkbox-list__link\">\n                Firebase Console\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//console.actions.google.com\" class=\"footer-linkbox-list__link\">\n                Actions on Google Console\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//cast.google.com/publish\" class=\"footer-linkbox-list__link\">\n                Cast SDK Developer Console\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//chrome.google.com/webstore/developer/dashboard\" class=\"footer-linkbox-list__link\">\n                Chrome Web Store Dashboard\n              </a>\n            </li>\n          \n            <li class=\"footer-linkbox-list__item\">\n              <a href=\"//console.home.google.com/\" class=\"footer-linkbox-list__link\">\n                Google Home Developer Console\n              </a>\n            </li>\n          \n        </ul>\n      </li>\n    </ul>\n  </nav>\n</div>\n<div class=\"footer-utility__wrapper\">\n  <div>\n    <nav class=\"footer-sites\" aria-label=\"Other Google Developers websites\">\n      <a href=\"https://developers.google.com/\" class=\"site-logo-link\" data-label=\"Site logo\">\n        <img src=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/images/g-dev.svg\" class=\"site-logo\" alt=\"Google for Developers\">\n      </a>\n      <ul class=\"footer-sites-list\">\n        <li class=\"footer-sites-item\">\n          <a href=\"//developer.android.com\" class=\"footer-sites-link\">\n            Android\n          </a>\n        </li>\n        <li class=\"footer-sites-item\">\n          <a href=\"//developer.chrome.com/home\" class=\"footer-sites-link\">\n            Chrome\n          </a>\n        </li>\n        <li class=\"footer-sites-item\">\n          <a href=\"//firebase.google.com\" class=\"footer-sites-link\">\n            Firebase\n          </a>\n        </li>\n        <li class=\"footer-sites-item\">\n          <a href=\"//cloud.google.com\" class=\"footer-sites-link\">\n            Google Cloud Platform\n          </a>\n        </li>\n        <li class=\"footer-sites-item\">\n          <a href=\"//developers.google.com/products\" class=\"footer-sites-link\">\n            All products\n          </a>\n        </li>\n        <li class=\"footer-sites-item\">\n          <button aria-hidden=\"true\" class=\"glue-cookie-notification-bar-control footer-sites-link\">\n            Manage cookies\n          </button>\n        </li>\n      </ul>\n    </nav>\n    <nav class=\"footer-utility-links\">\n      <ul class=\"footer-utility-list\">\n        <li class=\"footer-utility-item\">\n          <a href=\"//developers.google.com/terms/site-terms\" class=\"footer-utility-link\">\n            Terms\n          </a>\n        </li>\n        <li class=\"footer-utility-item\">\n          <a href=\"//policies.google.com/privacy\" class=\"footer-utility-link\">\n            Privacy\n          </a>\n        </li>\n      </ul>\n    </nav>\n  </div>\n</div>\n\n\n        \n\t\t\t\t\n\n        \n        <script nonce=\"ZFwFbGeNkrn+Dfe33sPpQQ==\" src=\"https://www.youtube.com/player_api\"></script>\n        <script nonce=\"ZFwFbGeNkrn+Dfe33sPpQQ==\" src=\"//www.gstatic.com/glue/v27_1/glue.min.js\"></script>\n        <script nonce=\"ZFwFbGeNkrn+Dfe33sPpQQ==\" type=\"text/javascript\" src=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/js/dgc_blog.js\"></script>\n\n        <script nonce=\"ZFwFbGeNkrn+Dfe33sPpQQ==\" src=\"https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.js\"\n            data-glue-cookie-notification-bar-category=\"2A\"\n            data-glue-cookie-notification-bar-site-id=\"developers.googleblog.com\"></script>\n\n        \n  <script src=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/js/blog_detail.js\" nonce=\"ZFwFbGeNkrn+Dfe33sPpQQ==\"></script>\n  <script src=\"https://storage.googleapis.com/gweb-developer-goog-blog-cms-assets/site/20260817-205152/js/prism.js\" nonce=\"ZFwFbGeNkrn+Dfe33sPpQQ==\"></script>\n\n    </body>\n</html>\n","snapshot_chars":39277,"live_check":"changed"},{"url":"https://www.infoq.com/news/2026/07/agentic-resource-discovery-spec/","committed_hash":"sha256:3575db4a352d5806d0f64c22aa8148868376e7460da89344964986cf340a6f0c","committed_hash_short":"sha256:3575db4a…340a6f0c","mime_type":"text/html","committed_at":"2026-09-18T10:00:23.633819+00:00","content_snapshot":"<!DOCTYPE html>\n\n\n\r\n\r\n\r\n\r\n\r\n\n\n\n<html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">\n    <head>\n        <!-- Google Optimize Anti-flicker snippet (recommended)  -->\n        <style>.async-hide { opacity: 0 !important} </style>\n        <style>.promo{background:#222528;position:fixed;z-index:1001!important;left:0;top:0;right:0;max-height:48px;min-height:48px;padding-top:0!important;padding-bottom:0!important}.promo,.promo p{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo p{font-size:.8125rem;line-height:1rem;color:#fff;margin-bottom:0;margin-top:0;margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;font-weight:700}@media only screen and (max-width:650px){.promo p{font-size:.6875rem}}.promo span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.promo a{color:#fff!important;text-decoration:underline!important}.promo a.btn{background:#d0021b;padding:7px 20px;text-decoration:none!important;font-weight:700;margin-left:10px;margin-right:10px;white-space:nowrap;border-radius:5px}@media only screen and (max-width:650px){.promo a.btn{font-size:.6875rem;padding:7px 10px}}.promo.container{padding-top:8px;padding-bottom:8px}@media only screen and (min-width:1050px){.promo.container{padding-top:0;padding-bottom:0}}.promo .actions{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.promo .actions__left{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.promo .actions__right{-ms-flex-preferred-size:40px;flex-basis:40px;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.promo.hidden{display:none}.promo.show{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.promo.show .container__inner{-webkit-box-flex:1;-ms-flex:1;flex:1}.promo.fixed{position:fixed}.promo.show+header.header{margin-top:48px}.header{background:#fff;-webkit-box-shadow:0 1px 0 #dde2e5;box-shadow:0 1px 0 #dde2e5}.header .actions__left,.header__bottom__events{max-width:100%!important;margin:0}.header .header__events-all{margin:0;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.header .header__events-all .header__event-slot{-webkit-box-flex:1;-ms-flex:1 100%;flex:1 100%;border-right:1px solid #dde2e5;margin-top:3px;margin-bottom:3px;padding-left:15px;text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:5px;min-width:300px}.header .header__events-all .header__event-slot:hover{text-decoration:none!important}.header .header__events-all .header__event-slot img{min-width:40px;height:40px}.header .header__events-all .header__event-slot div{margin-left:10px}.header .header__events-all .header__event-slot span{font-weight:700!important;font-size:.75rem;margin-bottom:0!important;margin-top:0;display:block;line-height:1.125rem;text-align:left}.header .header__events-all .header__event-slot p{font-weight:400;font-size:.625rem;line-height:130%!important;color:#495057!important;margin:0}@media only screen and (min-width:1050px){.header .header__events-all .header__event-slot p{font-size:.625rem}}.header .header__events-all .header__event-slot:first-child{padding-left:0}.header .header__events-all .header__event-slot:last-child{padding-right:0;border-right:0}@media only screen and (min-width:1050px){.header__bottom,.header__middle,.header__top{position:relative;white-space:nowrap}}.header__top{padding:10px 0}@media only screen and (min-width:800px){.header__top{padding:5px 0}}.header__bottom{padding:5px 0;z-index:29;max-width:100%}.header__bottom a{font-size:.8125rem}.header__bottom .trending{margin-left:0;margin-right:0}.header__bottom .actions{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.header__bottom .actions__left{max-width:calc(100% + 8px)}@media only screen and (min-width:800px){.header__bottom .actions__left{max-width:calc(100% + 24px)}}.header__bottom .actions__right{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:none}@media only screen and (min-width:1050px){.header__bottom .actions__right{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__middle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header__middle{-ms-flex-wrap:nowrap;flex-wrap:nowrap}}.header__top .actions__left{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:center;align-content:center}@media only screen and (min-width:1050px){.header__top .actions__right{max-width:430px}}.no-style.header__nav li:nth-child(3){font-weight:700}.no-style.header__nav li:nth-child(3) a{color:#0e5ef1!important}.header__bottom__events::after{background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),to(#fff));background:linear-gradient(90deg,rgba(255,255,255,0) 0,#fff 100%);content:'';position:absolute;height:60px;right:10px;width:25px}@media only screen and (min-width:1050px){.header__bottom__events::after{display:none}}.contribute-link{font-weight:400;font-size:.6875rem;color:#000!important;position:relative;padding-left:10px}.contribute-link:hover{color:#00791d!important;text-decoration:none!important}.contribute-link::before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1);left:-1px}.my-0{margin-top:0!important;margin-bottom:0!important}.header__desc.my-0{margin-left:0}.header__bottom__events .actions__left{max-width:100%!important;overflow-x:scroll;-ms-overflow-style:none;scrollbar-width:none;display:block;scroll-behavior:smooth;min-width:100%}.header__bottom__events .actions__left::-webkit-scrollbar{display:none}.header__bottom__events .actions__left:-webkit-scrollbar-thumb{background:#fff}.logo{line-height:1rem}.header{position:relative;z-index:41;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.header .input:focus,.header input[type=password]:focus,.header input[type=text]:focus{border:1px solid #00791d}.header a:not(.button):not(.login__action):not(.active){text-decoration:none;color:#222}.header a:not(.button):not(.login__action):not(.active):hover{text-decoration:underline;color:#222}.header__items{display:none;-ms-flex-wrap:wrap;flex-wrap:wrap}@media only screen and (min-width:1050px){.header__items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.header__items nav{position:relative;background:0 0;padding:0;left:0;top:0;line-height:inherit;display:block;-webkit-box-shadow:none;box-shadow:none;max-width:100%;max-height:80px}}.header__items>div{width:100%;margin-bottom:32px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}@media only screen and (min-width:552px){.header__items>div:not(:nth-last-child(-n+2)){margin-bottom:32px}}@media only screen and (min-width:552px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/2 - (32px - 32px * 1/2));flex-basis:calc(99.7% * 1/2 - (32px - 32px * 1/2));max-width:calc(99.7% * 1/2 - (32px - 32px * 1/2));width:calc(99.7% * 1/2 - (32px - 32px * 1/2))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(2n){margin-right:0;margin-left:auto}}@media only screen and (min-width:800px) and (max-width:1050px){.header__items>div{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-negative:0;flex-shrink:0;-ms-flex-preferred-size:calc(99.7% * 1/4 - (32px - 32px * 1/4));flex-basis:calc(99.7% * 1/4 - (32px - 32px * 1/4));max-width:calc(99.7% * 1/4 - (32px - 32px * 1/4));width:calc(99.7% * 1/4 - (32px - 32px * 1/4))}.header__items>div:nth-child(1n){margin-right:32px;margin-left:0}.header__items>div:last-child{margin-right:0}.header__items>div:nth-child(4n){margin-right:0;margin-left:auto}}@media only screen and (min-width:1050px){.header__items>div{margin-bottom:0!important;margin-right:0!important;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.header__items .language__switcher{display:none}.header__items .language__switcher .li-nav.active>a,.header__items .language__switcher>li.active>a{color:#fff!important}.header__items .language__switcher .li-nav.active>a:hover,.header__items .language__switcher>li.active>a:hover{color:#fff!important;background:#0e5ef1}.header__items .language__switcher .li-nav:hover>a,.header__items .language__switcher>li:hover>a{color:#fff}.header+main{display:block;min-height:210px;-webkit-transition:margin .15s ease;transition:margin .15s ease;margin-top:0!important}.header--hide .header+main{margin-top:50px}.header--hide .header__toggle{opacity:0;top:20px;visibility:hidden}.header--hide .header__logo{max-height:0}.header--hide .header__middle,.header--hide .header__top{max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;border-color:transparent}.header--hide .header__bottom .vue-portal-target{top:3px;right:0;bottom:auto;left:auto;position:absolute}.header__middle,.header__top{-webkit-transition:all .15s ease;transition:all .15s ease}.header__middle{border-bottom:1px solid rgba(0,0,0,.1);z-index:33}.header__middle .vue-portal-target{width:100%}@media only screen and (min-width:1050px){.header__middle .vue-portal-target{display:none}}@media only screen and (min-width:1050px){.header__middle{line-height:5.75rem;text-align:left;padding:0;z-index:30}.header__middle .widget__heading{display:none}}.header__top>.actions__left{display:none}@media only screen and (min-width:1050px){.header__top>.actions__left{display:-webkit-box;display:-ms-flexbox;display:flex}}.header__top>.actions__right{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.header__top>.actions__right .dropdown__holder{width:calc(100vw - 16px);max-height:80vh}@media only screen and (min-width:600px){.header__top>.actions__right .dropdown__holder{width:auto}}.header__top>.actions__right>*{margin:0}.header__top>.actions__right .search{display:none}@media only screen and (min-width:1050px){.header__top>.actions__right>*{display:-webkit-box;display:-ms-flexbox;display:flex;white-space:nowrap}.header__top>.actions__right .search{display:block}}.header__top .user__login{display:block}.header__top .user__login>.button,.header__top .user__login>button{border-top-right-radius:0;border-bottom-right-radius:0}@media only screen and (min-width:1050px){.header__top{position:relative;right:auto;width:100%}}.header__logo{max-width:165px;position:absolute;top:8px;overflow:hidden;-webkit-transition:all .1s ease;transition:all .1s ease;z-index:32;line-height:2.25rem;height:36px;width:100px;margin-left:50px;-ms-flex-preferred-size:190px;flex-basis:190px}@media only screen and (min-width:800px){.header__logo{top:4px}}@media only screen and (min-width:1050px){.header__logo{position:relative;top:0;overflow:visible;margin-right:20px;margin-left:0;line-height:3.125rem;height:50px}.header__logo>*{width:165px}}@media only screen and (min-width:1280px){.header__logo{margin-right:30px}}.header__desc,.header__more>button{text-transform:capitalize;color:#666;letter-spacing:0;font-size:0;font-weight:400;line-height:1.5rem;vertical-align:top;font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI Variable\",\"Segoe UI\",system-ui,ui-sans-serif,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\";-webkit-transition:font-size .15s ease-in-out;transition:font-size .15s ease-in-out}@media only screen and (min-width:1050px){.header__desc,.header__more>button{font-size:.6875rem}}.header__desc{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;position:relative;width:auto}.header__topics{white-space:nowrap;float:right;position:relative}.header__topics *{display:inline-block;vertical-align:top}.header__topics a{font-size:.8125rem}@media only screen and (min-width:1050px){.header__topics{float:none}}.header__more{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:top}.header__more:before{left:-12px}.header__more:after,.header__more:before{content:'';width:1px;height:12px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:rgba(0,0,0,.1)}.header__more:after{right:-12px}.header__more:hover{cursor:pointer;color:rgba(0,0,0,.75)}.header__user{display:inline-block;vertical-align:top;white-space:nowrap;margin-left:8px}@media only screen and (min-width:1050px){.header__user{margin-left:0}}.header__user>div{display:inline-block;vertical-align:top}.header__user-nav a:not(.button){text-transform:uppercase;font-size:.75rem;font-weight:600}.header__user-nav a:not(.button):not(.active){opacity:.5}.header__user-nav a:not(.button):not(.active):hover{opacity:.75}.header__user-nav a:not(.button):hover{text-decoration:none}.header__user-nav a:not(.button).active{color:#222;cursor:default;text-decoration:none}.header__user-nav a:not(.button):before{margin-right:0}.header__user-nav a:not(.button):not(:last-child){margin-right:16px}@media only screen and (min-width:1050px){.header__user-nav a:not(.button):not(:last-child){margin-right:32px}}@media only screen and (min-width:1050px){.header__user-nav+.header__topics{margin-left:56px}}.header__search{display:none;vertical-align:top;margin-right:0}@media only screen and (min-width:1050px){.header__search{display:inline-block}}.header__search,.header__user{line-height:inherit}.header__nav{border-bottom:1px solid rgba(0,0,0,.1)}@media only screen and (min-width:800px){.header__nav{border-bottom:0}}.header__nav .button{margin-left:0}.header__nav .button__more{margin-right:20px}.header__nav .li-nav,.header__nav>li{-webkit-transition:all .15s ease;transition:all .15s ease}@media only screen and (min-width:1050px){.header__nav .li-nav,.header__nav>li{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle;position:static;border:none;min-height:65px}.header__nav .li-nav:hover.has--subnav .nav .li-nav,.header__nav .li-nav:hover.has--subnav .nav>li,.header__nav>li:hover.has--subnav .nav .li-nav,.header__nav>li:hover.has--subnav .nav>li{white-space:normal}.header__nav .li-nav:hover.has--subnav .nav__subnav,.header__nav>li:hover.has--subnav .nav__subnav{opacity:1;top:100%;visibility:visible;-webkit-transition-delay:.25s;transition-delay:.25s}.header__nav .li-nav:hover.has--subnav .nav__category,.header__nav>li:hover.has--subnav .nav__category{width:100%}.header__nav .li-nav:hover.has--subnav .nav__category:after,.header__nav .li-nav:hover.has--subnav .nav__category:before,.header__nav>li:hover.has--subnav .nav__category:after,.header__nav>li:hover.has--subnav .nav__category:before{-webkit-transition-delay:.25s;transition-delay:.25s;opacity:1}}@media only screen and (min-width:1080px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1280px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}@media only screen and (min-width:1338px){.header__nav .li-nav:not(:last-child),.header__nav>li:not(:last-child){margin-right:23px;margin-left:23px}}.header__nav .li-nav>a,.header__nav>li>a{font-size:.875rem;line-height:1.5rem;padding:12px 0;color:#000;display:inline-block;max-width:100%;position:relative;z-index:61;white-space:normal}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{padding:8px 0 0;font-weight:700}}.header__nav .li-nav>a:after,.header__nav .li-nav>a:before,.header__nav>li>a:after,.header__nav>li>a:before{content:'';position:absolute;bottom:-1px;left:50%;width:0;height:0;opacity:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-style:solid;border-width:0 5px 5px 5px;-webkit-transition:opacity .15s ease-in-out;transition:opacity .15s ease-in-out;border-color:transparent transparent #fff transparent}.header__nav .li-nav>a:before,.header__nav>li>a:before{left:50%;bottom:0;border-width:0 6px 6px 6px;border-color:transparent transparent #f5f7f8 transparent}@media only screen and (min-width:1050px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1rem}}@media only screen and (min-width:1800px){.header__nav .li-nav>a,.header__nav>li>a{font-size:1.125rem}}.header--open{overflow:hidden}@media only screen and (min-width:600px){.header--open{overflow:visible}}.header--open .content-items{max-height:215px;margin:12px 0 24px}.header--open .search{margin-top:16px;display:block}.header--open .header__toggle:before{z-index:10}.header--open .header__toggle>span:nth-child(1){top:50%;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.header--open .header__toggle>span:nth-child(2){opacity:0}.header--open .header__toggle>span:nth-child(3){top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.header--open .header__items,.header--open .header__items .language__switcher{display:-webkit-box;display:-ms-flexbox;display:flex}.header--open .header__top{z-index:100;position:absolute;left:0;right:8px;background:#fff}@media only screen and (min-width:800px){.header--open .header__top{right:20px}}.header--open .header__top .search{display:none}.header--open .header__logo{z-index:101}.header--open .header__middle{padding-top:60px}.header--open .header__bottom{display:none}.header--open .header__container{max-height:90vh;overflow-x:hidden;overflow-y:auto}@media only screen and (min-width:1050px){.header--open .header__container{overflow:visible}}.header .subnav{position:absolute;-webkit-box-shadow:0 5px 25px 1px rgba(0,0,0,.15);box-shadow:0 5px 25px 1px rgba(0,0,0,.15);background:#fff;visibility:hidden;line-height:1.75rem;max-width:100%;width:100%;left:0;opacity:0;overflow:hidden;border:1px solid #f5f7f8;border-radius:2px;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;top:105%;z-index:60;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.header .subnav .subnav__categories{-webkit-box-flex:0;-ms-flex:0 1 280px;flex:0 1 280px;padding:24px 0;background:#f5f7f8;margin-right:0!important}.header .subnav .subnav__categories>li{display:block;font-size:.9375rem;padding:2px 48px 2px 24px}.header .subnav .subnav__categories>li a{display:block;font-weight:700}.header .subnav .subnav__categories>li:hover{background:#e1e1e1}.header .subnav .subnav__heading{margin-bottom:20px}.header .subnav .subnav__content{position:relative;-ms-flex-item-align:start;align-self:flex-start;padding:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media only screen and (min-width:1050px){.header .subnav .subnav__content{padding-left:32px;padding-right:32px;margin:0 auto;-webkit-box-flex:1;-ms-flex:1 1 600px;flex:1 1 600px}}.header .subnav .subnav__content .heading__container{-ms-flex-preferred-size:100%;flex-basis:100%}.header .subnav .subnav__content:before{content:'';position:absolute;left:0;top:0;bottom:-100%;width:1px;background:rgba(0,0,0,.1)}.languagesEdition .active{font-weight:700}.header__more.dropdown:after{content:'';display:inline-block;vertical-align:middle;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;background-repeat:no-repeat;background-position:center;margin-bottom:2px;width:7px;height:7px;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;background-color:#fff!important;background-size:contain}.header__more.dropdown button{color:#000!important;margin-right:-20px;padding-right:20px;z-index:1000}.header__more.dropdown .dropdown__holder{width:165px}.header__more.dropdown .dropdown__content{padding:13px;padding-top:5px;padding-bottom:5px}.header__more.dropdown .languagesEdition li{border-bottom:1px solid #e6e6e6}.header__more.dropdown .languagesEdition li:last-child{border:0}.logo__data{display:none;color:#666;font-size:.6875rem}@media only screen and (min-width:1050px){.logo__data{display:block;line-height:.8125rem}}.container{padding-left:12px;padding-right:12px;margin:0 auto;min-width:320px;-webkit-transition:padding .15s ease-in-out;transition:padding .15s ease-in-out}@media only screen and (min-width:600px){.container{padding-left:16px;padding-right:16px}}@media only screen and (min-width:800px){.container{padding-left:20px;padding-right:20px}}@media only screen and (min-width:1250px){.container{padding-left:60px;padding-right:60px}}@media only screen and (min-width:1400px){.container{padding-left:20px;padding-right:20px}}.container.white{background:#fff}.container__inner{max-width:1290px;margin:0 auto;-webkit-transition:max-width .15s ease-out;transition:max-width .15s ease-out}.search{display:block;position:relative;z-index:33;width:100%;max-width:100%;margin:0}.search:before{position:absolute;top:50%;right:24px;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin-right:0;z-index:34}.search__bar{display:block;border-radius:2px;position:relative;z-index:33}.search__bar #search{margin-bottom:0;max-width:100%;background:#fff}.search__go{top:50%;right:0;bottom:0;left:auto;position:absolute;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:32;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;line-height:2.25rem;-webkit-box-shadow:none;box-shadow:none;display:block;background:0 0;border:0;font-size:0}@media only screen and (min-width:600px){.search__go{z-index:35}}.header #search,.search__go:hover{cursor:pointer}.header #search{height:36px;position:relative;max-width:100%;background-color:#f5f7f8!important}@media only screen and (min-width:600px){.header #search{font-size:.8125rem;min-width:165px;max-width:100%;opacity:1}}.header #search:hover{cursor:auto}@media only screen and (min-width:1050px){.header #search{margin-left:auto;border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.header #search:focus{min-width:215px}}.header #search:focus{cursor:auto}.header #search .field__desc{display:none}.header #searchForm{width:100%;margin-top:8px}.header #searchForm:before{right:8px}@media only screen and (min-width:600px){.header #searchForm{margin-top:16px}}@media only screen and (min-width:1050px){.header #searchForm{margin-top:0}}</style>\n        <script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;\n            h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};\n            (a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;\n        })(window,document.documentElement,'async-hide','dataLayer',4000,\n                {'GTM-W9GJ5DL':true});</script>\n\n        <script type=\"text/javascript\">\n            \n            var loggedIn = false;\n            if (loggedIn) {\n                var userCountryId = '';\n            }\n        </script>\n        \r\n\r\n\r\n\r\n\r\n\n\n<script>\n  window.dataLayer = window.dataLayer || [];\n  function gtag(){dataLayer.push(arguments);}\n\n  //CookieControl tool recomendation\n  // Call the default command before gtag.js or Tag Manager runs to\n  // adjust how the tags operate when they run. Modify the defaults\n  // per your business requirements and prior consent granted/denied, e.g.:\n  gtag('consent', 'default', {\n      'ad_storage': 'denied',\n      'ad_user_data': 'denied',\n      'ad_personalization': 'denied',\n      'analytics_storage': 'denied',\n      wait_for_update: 500\n  });\n  gtag('set', 'ads_data_redaction', true);\n  gtag('set', 'url_passthrough', true);\n\n  if((typeof loggedIn != \"undefined\") && loggedIn){\n      window.dataLayer.push({'logged_in': 'true'});\n  } else {\n      window.dataLayer.push({'logged_in': 'false'});\n  }\n\n  window.dataLayer.push({'show_queryz': ''});\n\n  gtag('config', 'G-VMVPD4D2JY');\n</script>\n\n<!-- Google Tag Manager -->\n<script>\nvar gtmProfile=\"GTM-W9GJ5DL\";\n(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n})(window,document,'script','dataLayer', gtmProfile);</script>\n<!-- End Google Tag Manager -->\n\n        <title>Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents - InfoQ</title>\n        <link rel=\"canonical\" href=\"https://www.infoq.com/news/2026/07/agentic-resource-discovery-spec/\"/>\n        <link rel=\"alternate\" href=\"https://www.infoq.com/news/2026/07/agentic-resource-discovery-spec/\" hreflang=\"en\"/>\n        \r\n\r\n\r\n\r\n\r\n\n\n\n    \n        \n        \n        \n            \n            <link rel=\"alternate\" href=\"https://www.infoq.com/news/2026/07/agentic-resource-discovery-spec/\" hreflang=\"x-default\" />\n        \n    \n    \n\n\n\n\n\n\n\n        \n        \r\n\r\n\r\n\r\n\r\n\r\n<meta http-equiv=\"pragma\" content=\"no-cache\" />\r\n<meta http-equiv=\"cache-control\" content=\"private,no-cache,no-store,must-revalidate\" />\r\n<meta http-equiv=\"expires\" content=\"0\" />\r\n<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\r\n<meta name=\"copyright\" content=\"&copy; 2006 C4Media\" />\r\n\r\n<meta name=\"google-site-verification\" content=\"0qInQx_1WYOeIIbxnh7DnXlw1XOxNgAYakO2k4GhNnY\" />\r\n<meta name=\"msapplication-TileColor\" content=\"#ffffff\"/>\r\n<meta name=\"msapplication-TileImage\" content=\"/styles/static/images/logo/logo.jpg\"/>\r\n<meta property=\"wb:webmaster\" content=\"3eac1729a8bbe046\" />\r\n<meta content=\"width=device-width,initial-scale=1\" name=\"viewport\">\r\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=10, IE=edge\">\r\n\n        \n        <link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/style.css\"/>\n        <link rel=\"stylesheet\" type=\"text/css\" media=\"print\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/print.css\"/>\n        <link rel=\"preload\" type=\"text/css\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/style_en.css\" as=\"style\" onload=\"this.onload=null;this.rel='stylesheet'\">\n        <link rel=\"preload\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/icons.css\" as=\"style\" onload=\"this.onload=null;this.rel='stylesheet'\">\n        <link rel=\"preload\" type=\"text/css\" media=\"screen\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/style_extra.css\" as=\"style\" onload=\"this.onload=null;this.rel='stylesheet'\">\n        <noscript>\n            <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/style_en.css\"/>\n            <link rel=\"stylesheet\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/icons.css\">\n            <link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/style_extra.css\"/>\n        </noscript>\n\n        <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/fonts/font.css\"/>\n\n        <link rel=\"shortcut icon\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/favicon.ico\" type=\"image/x-icon\" />\n        <link rel=\"apple-touch-icon\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/apple-touch-icon.png\"/>\n\n        <script type=\"text/javascript\">\n        \tvar device='desktop';\n            var InfoQConstants = {};\n            InfoQConstants.language = 'en';\n            InfoQConstants.countryCode = '';\n            \n            InfoQConstants.pageUrl = (typeof window.location != 'undefined' && window.location && typeof window.location.href != 'undefined' && window.location.href) ? window.location.href : \"URL_UNAVAILABLE\";\n            InfoQConstants.cet='AIALBlliZNA2IwUp';\n            InfoQConstants.userDetectedCountryCode = '';\n            InfoQConstants.bpadb = 'Rk8uAxsOqHUQdTaNChNm';\n        </script>\n\n        <script type=\"text/javascript\" src=\"https://cdn.infoq.com/statics_s2_20260916065603/scripts/combinedJs.min.js\"></script>\n        <script type=\"text/javascript\">\n            \n                var JSi18n = JSi18n || {}; // define only if not already defined\n                JSi18n.error='Error';\n                JSi18n.login_unverifiedAccount='Unverified account';\n                JSi18n.contentSummary_showPresentations_1='';\n                JSi18n.contentSummary_showPresentations_2='';\n                JSi18n.contentSummary_showPresentations_3='';\n                JSi18n.contentSummary_showInterviews_1='';\n                JSi18n.contentSummary_showInterviews_2='';\n                JSi18n.contentSummary_showInterviews_3='';\n                JSi18n.contentSummary_showMinibooks_1='';\n                JSi18n.contentSummary_showMinibooks_2='';\n                JSi18n.login_sendingRequest='Sending request ...';\n                JSi18n.bookmark_saved='<q>&nbsp;&nbsp;&nbsp;Saved&nbsp;&nbsp;&nbsp;&nbsp;</q>';\n                JSi18n.bookmark_error='<q style=color:black;>&nbsp;&nbsp;&nbsp;Error&nbsp;&nbsp;&nbsp;&nbsp;</q>';\n                JSi18n.categoryManagement_showpopup_viewAllLink_viewAllPrefix='View All';\n                JSi18n.categoryManagement_showpopup_viewAllLink_viewAllSuffix='';\n                JSi18n.categoryManagement_showpopup_includeExcludeLink_Exclude='Exclude';\n                JSi18n.categoryManagement_showpopup_includeExcludeLink_Include='Include';\n                JSi18n.login_invalid_email='Please specify a valid email';\n                JSi18n.login_email_not_found = 'No user found with that email';\n                JSi18n.content_datetime_format='MMM dd, yyyy';\n\n                // used by frontend\n                JSi18n.FE = {\n                    labels: {\n                        follow: \"Follow\",\n                        followTopic: \"Follow Topic\",\n                        unfollow: \"Unfollow\",\n                        unfollowTopic: \"Unfollow Topic\",\n                        following: \"Following\",\n                        followers: \"Followers\",\n                        like: \"Like\",\n                        liked: \"Liked\",\n                        authors: \"Peers\",\n                        users : \"Users\",\n                        topics: \"Topics\",\n                        hide: \"Hide Item\",\n                        hidden: \"%s was hidden on your profile page.\",\n                        undo: \"Undo\",\n                        showLess: \"Show less\",\n                        showMore: \"Show more\",\n                        moreAuthors: \"And %s more\",\n                        bookmarked: \"Content Bookmarked\",\n                        unbookmarked: \"Content Unbookmarked\",\n                        characterLimit: \"Characters Remaining\"\n                    }\n                }\n            \n\n\n            \n            \n                var usersInPage = JSON.parse('[{\\\"id\\\":\\\"62671158\\\",\\\"ref\\\":\\\"author-Monica-Beckwith\\\",\\\"url\\\":\\\"\\/profile\\/Monica-Beckwith\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"\\\",\\\"name\\\":\\\"Monica Beckwith\\\",\\\"bio\\\":\\\"Java Champion, Monica Beckwith is a Java performance engineer. She currently works on improving OpenJDK&#39;s HotSpot VM at Microsoft. Her past experiences include working with Arm, Oracle\\/Sun and AMD; optimizing the JVM for server class systems. Monica was voted a JavaOne Rock Star speaker and was the performance lead for Garbage First Garbage Collector (G1 GC). You can follow Monica on twitter &#64;mon_beck\\\",\\\"followers\\\":1834,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/QhDv7pXEUK1sdLsYArFmnLxecH4rYhAc.jpg\\\"},{\\\"id\\\":\\\"45723890\\\",\\\"ref\\\":\\\"author-Rags-Srinivas\\\",\\\"url\\\":\\\"\\/profile\\/Rags-Srinivas\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"\\\",\\\"name\\\":\\\"Rags Srinivas\\\",\\\"bio\\\":\\\"Raghavan &#34;Rags&#34; Srinivas (&#64;ragss) works as an Architect\\/Developer Evangelist goaled with helping developers build highly scalable and available systems. As an OpenStack advocate and solutions architect at Rackspace he was constantly challenged from low level infrastructure to high level application issues. His general focus area is in distributed systems, with a specialization in Cloud Computing and Big Data. He worked on Hadoop, HBase and NoSQL during its early stages. He has spoken on a variety of technical topics at conferences around the world, written for developer portals, conducted and organized Hands-on Labs and taught graduate and online classes in the evening. Rags brings with him over 25 years of hands-on software development and over 15 years of architecture and technology evangelism experience. He has evangelized and influenced the architecture of a number of emerging technology areas. He is also a repeat JavaOne rock star speaker award winner. Rags holds a Masters degree in Computer Science from the Center of Advanced Computer Studies at the University of Louisiana at Lafayette. He likes to hike, run and generally be outdoors but most of all loves to eat.\\\",\\\"followers\\\":356,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/t4nyfgw1THkp4wMZ9EZ59RGJx8Hf9Rk8.jpg\\\"},{\\\"id\\\":\\\"126665386\\\",\\\"ref\\\":\\\"author-Leela-Kumili\\\",\\\"url\\\":\\\"\\/profile\\/Leela-Kumili\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Lead Engineer\\\",\\\"name\\\":\\\"Leela Kumili\\\",\\\"bio\\\":\\\"Leela is a Lead Software Engineer at Starbucks with deep expertise in building scalable, cloud-native systems and distributed platforms. She drives architecture, delivery, and operational excellence across the Rewards Platform, leading efforts to modernize systems, improve scalability, and enhance reliability.\\\\r\\\\n\\\\r\\\\nIn addition to her technical leadership, Leela serves as an AI Champion for the organization, identifying opportunities to improve developer productivity and workflows using LLM-based tools and establishing best practices for AI adoption. She is passionate about building production-ready systems, enhancing developer experience, and mentoring engineers to grow in both technical and strategic impact. Her interests include platform engineering, distributed systems, developer productivity, and bridging technical solutions with business and product goals.\\\",\\\"followers\\\":78,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/oZlePVmvHTLAVzoapw4QLpkecE5BfJW9.jpeg\\\"},{\\\"id\\\":\\\"87551248\\\",\\\"ref\\\":\\\"author-Steef~Jan-Wiggers\\\",\\\"url\\\":\\\"\\/profile\\/Steef~Jan-Wiggers\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Cloud Queue Lead Editor | Domain Architect | Cloud Expert\\\",\\\"name\\\":\\\"Steef-Jan Wiggers\\\",\\\"bio\\\":\\\"Steef-Jan Wiggers is one of InfoQ&#39;s senior cloud editors and works as a Domain Architect at VGZ in the Netherlands. His current technical expertise focuses on implementing integration platforms, Azure DevOps, AI, and Azure Platform Solution Architectures. Steef-Jan is a regular speaker at conferences and user groups and writes for InfoQ. Furthermore, Microsoft has recognized him as a Microsoft Azure MVP for the past sixteen years.\\\",\\\"followers\\\":895,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/BhZx03k3Hj0pZVXmTzGqItwZxtJ06oIb.jpg\\\"},{\\\"id\\\":\\\"80977916\\\",\\\"ref\\\":\\\"author-Thomas-Betts\\\",\\\"url\\\":\\\"\\/profile\\/Thomas-Betts\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Senior Laureate Application Architect at Blackbaud\\\",\\\"name\\\":\\\"Thomas Betts\\\",\\\"bio\\\":\\\"Thomas Betts is the former Lead Editor for Architecture and Design at InfoQ, a co-host of the InfoQ Podcast, and a Senior Laureate Software Architect at Blackbaud, working on Agents for Good.\\\\r\\\\n\\\\r\\\\nFor over two decades, his focus has always been on providing software solutions that delight his customers. He has worked in a variety of industries, including social good, retail, finance, health care, defense and travel.\\\\r\\\\n\\\\r\\\\nThomas lives in Denver with his wife and son, and they love hiking and otherwise exploring beautiful Colorado.\\\",\\\"followers\\\":1172,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/pSqI6HrU3k9rmmVjwS34OHG0bOMYiE6a.jpg\\\"},{\\\"id\\\":\\\"72028228\\\",\\\"ref\\\":\\\"author-Sergio-De-Simone\\\",\\\"url\\\":\\\"\\/profile\\/Sergio-De-Simone\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"\\\",\\\"name\\\":\\\"Sergio De Simone\\\",\\\"bio\\\":\\\"<b>Sergio De Simone<\\/b> is a software engineer. Sergio has been working as a software engineer for over twenty five years across a range of different projects and companies, including such different work environments as Siemens, HP, and small startups. For the last 10&#43; years, his focus has been on development for mobile platforms and related technologies. He is currently working for BigML, Inc., where he leads iOS and macOS development.\\\",\\\"followers\\\":777,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/NovciOoQOAYWqYqRQBFo97SuMm0xbUiC.jpg\\\"},{\\\"id\\\":\\\"126467140\\\",\\\"ref\\\":\\\"author-Renato-Losio\\\",\\\"url\\\":\\\"\\/profile\\/Renato-Losio\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Cloud Expert | AWS Data Hero  \\\",\\\"name\\\":\\\"Renato Losio\\\",\\\"bio\\\":\\\"Renato has extensive experience as a cloud architect, advisor, and cloud services specialist. Currently, he lives in Berlin and works remotely as a principal cloud architect. His primary areas of interest include cloud services and relational databases. He is an editor at InfoQ and a recognized AWS Data Hero. You can connect with him on LinkedIn.\\\",\\\"followers\\\":915,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/ptroF8HdI2vWXm0NDaKeS0JdiPxMOAra.jpg\\\"},{\\\"id\\\":\\\"126464202\\\",\\\"ref\\\":\\\"author-Johan-Janssen\\\",\\\"url\\\":\\\"\\/profile\\/Johan-Janssen\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Architect at ASML\\\",\\\"name\\\":\\\"Johan Janssen\\\",\\\"bio\\\":\\\"Architect at ASML, loves to share knowledge mainly around Java. Spoke at conferences such as Devoxx, Oracle Code One, Devnexus, and many more. Assisted conferences by participating in program committees and invented and organized JVMCON. Received the JavaOne Rock Star and Oracle Code One Star awards. Wrote various articles both for digital and printed media. Maintainer of various Java JDK\\/JRE packages for Chocolatey with around 100 thousand downloads a month.\\\",\\\"followers\\\":536,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/Fb4eZ0mtvMf6MhsmBIhsUVueV4xAs2FD.jpg\\\"},{\\\"id\\\":\\\"39485652\\\",\\\"ref\\\":\\\"author-Daniel-Bryant\\\",\\\"url\\\":\\\"\\/profile\\/Daniel-Bryant\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"InfoQ News Manager | Building Platforms at Syntasso\\\",\\\"name\\\":\\\"Daniel Bryant\\\",\\\"bio\\\":\\\"Daniel Bryant is the news manager at InfoQ and the emeritus chair of QCon London. He is also a platform engineer and head of product marketing at Syntasso. Daniel&#39;s technical expertise focuses on \\u2018DevOps\\u2019 tooling, cloud\\/container platforms, and microservice implementations. He is a long-time coder and Java Champion who has contributed to several open source projects. Daniel also writes for InfoQ, O\\u2019Reilly, and The New Stack and regularly presents at international conferences such as KubeCon, QCon, and JavaOne. In his copious amounts of free time, he enjoys running, reading, and travelling.\\\",\\\"followers\\\":2752,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/tSe5dczMaSGtRUm18VkTR2tcF4W3SogA.jpg\\\"},{\\\"id\\\":\\\"63268344\\\",\\\"ref\\\":\\\"author-Chris-Swan\\\",\\\"url\\\":\\\"\\/profile\\/Chris-Swan\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Engineer, Atsign\\\",\\\"name\\\":\\\"Chris Swan\\\",\\\"bio\\\":\\\"Chris Swan is an Engineer at <a href=\\\\\\\"https:\\/\\/atsign.com\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Atsign<\\/a>, building the atPlatform, a technology that is putting people in control of their data and removing the frictions and surveillance associated with today\\u2019s Internet. He was previously a Fellow at DXC Technology where he held various CTO roles. Before that he held CTO and Director of R&amp;D roles at Cohesive Networks, UBS, Capital SCF and Credit Suisse, where he worked on app servers, compute grids, security, mobile, cloud, networking and containers. Chris co-hosts the <a href=\\\\\\\"https:\\/\\/techdebtburndown.com\\/\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">Tech Debt Burndown Podcast<\\/a> and is a Dart Google Developer Expert (<a href=\\\\\\\"https:\\/\\/developers.google.com\\/community\\/experts\\\\\\\" rel=\\\\\\\"nofollow\\\\\\\">GDE<\\/a>).\\\",\\\"followers\\\":1874,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/8PE76nOujWAoCM8yqLn9Hfv2HqW3VlIP.jpg\\\"},{\\\"id\\\":\\\"4927376\\\",\\\"ref\\\":\\\"author-Karsten-Silz\\\",\\\"url\\\":\\\"\\/profile\\/Karsten-Silz\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Full-Stack Java Developer\\\",\\\"name\\\":\\\"Karsten Silz\\\",\\\"bio\\\":\\\"Karsten Silz has worked as a full-stack Java developer for 26 years in Europe and the US. In 2004, he co-founded a software product start-up in the US. Karsten led product development for 13 years and left after the company was sold successfully. Since 2003, he has also worked as a contractor. He co-founded the SaaS start-up &#34;Your Home in Good Hands&#34; as CTO in the UK in 2020.\\\",\\\"followers\\\":399,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/p6zmOdOcqXiRj09iiZNeDZap7f0IglQW.jpg\\\"},{\\\"id\\\":\\\"343314\\\",\\\"ref\\\":\\\"author-Jonathan-Allen\\\",\\\"url\\\":\\\"\\/profile\\/Jonathan-Allen\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Software Architect\\\",\\\"name\\\":\\\"Jonathan Allen\\\",\\\"bio\\\":\\\"Jonathan Allen got his start working on MIS projects for a health clinic in the late 90&#39;s, bringing them up from Access and Excel to an enterprise solution by degrees. After spending five years writing automated trading systems for the financial sector, he became a consultant on a variety of projects including the UI for a robotic warehouse, the middle tier for cancer research software, and the big data needs of a major real estate insurance company. In his free time he enjoys studying and writing about martial arts from the 16th century.\\\\r\\\\n\\\",\\\"followers\\\":1834,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/Wk_C09_mzwK23YkTkKMXResJv3LKUN5D.jpg\\\"},{\\\"id\\\":\\\"114725059\\\",\\\"ref\\\":\\\"author-Holly-Cummins\\\",\\\"url\\\":\\\"\\/profile\\/Holly-Cummins\\\",\\\"followedByCurrentUser\\\":false,\\\"minibio\\\":\\\"Senior Technical Staff Member, IBM\\\",\\\"name\\\":\\\"Holly Cummins\\\",\\\"bio\\\":\\\"Holly Cummins is a Senior Principal Software Engineer on the Red Hat Quarkus team. Before joining Red Hat, Holly was a long time IBMer. In her time at IBM, Holly has been a full-stack javascript developer, a WebSphere Liberty build architect, a client-facing consultant, a JVM performance engineer, and an innovation leader. During her time in the IBM Garage, Holly led projects for enormous banks, tiny startups, and everything in between. Holly has used the power of cloud to understand climate risks, count fish, help a blind athlete run ultra-marathons in the desert solo, and invent stories (although not at all the same time). Holly is also a Java Champion, author, and regular keynote speaker. You can follow her on bluesky at &#64;&#64;hollycummins.com or at hollycummins.com.\\\\r\\\\n\\\\r\\\\n\\\\r\\\\nBefore joining IBM, Holly completed a PhD in Quantum Computation.\\\\r\\\\n\\\",\\\"followers\\\":616,\\\"imgSrc\\\":\\\"https:\\/\\/cdn.infoq.com\\/statics_s2_20260916065603\\/images\\/profiles\\/cRsuGlFgKyGmGfEHvafpMO63CxbrEm22.jpg\\\"}]');\n            \n\n            \n            \n                var topicsInPage = JSON.parse('[{\\\"name\\\":\\\"Cisco\\\",\\\"id\\\":\\\"5632\\\",\\\"url\\\":\\\"\\/Cisco\\\",\\\"followers\\\":2,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Agent2Agent\\\",\\\"id\\\":\\\"18625\\\",\\\"url\\\":\\\"\\/agent2agent\\\",\\\"followers\\\":2,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"AI Security\\\",\\\"id\\\":\\\"18691\\\",\\\"url\\\":\\\"\\/ai-security\\\",\\\"followers\\\":2,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\".NET Core\\\",\\\"id\\\":\\\"15683\\\",\\\"url\\\":\\\"\\/Net-Core\\\",\\\"followers\\\":8032,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Service Discovery\\\",\\\"id\\\":\\\"18503\\\",\\\"url\\\":\\\"\\/service-discovery\\\",\\\"followers\\\":0,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Machine Learning\\\",\\\"id\\\":\\\"5449\\\",\\\"url\\\":\\\"\\/MachineLearning\\\",\\\"followers\\\":14758,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Salesforce.com\\\",\\\"id\\\":\\\"139\\\",\\\"url\\\":\\\"\\/salesforce\\\",\\\"followers\\\":19,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Specification\\\",\\\"id\\\":\\\"7823\\\",\\\"url\\\":\\\"\\/Specification\\\",\\\"followers\\\":2,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"AI Architecture\\\",\\\"id\\\":\\\"18577\\\",\\\"url\\\":\\\"\\/ai-architecture\\\",\\\"followers\\\":57,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Microsoft\\\",\\\"id\\\":\\\"276\\\",\\\"url\\\":\\\"\\/Microsoft\\\",\\\"followers\\\":134,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"github\\\",\\\"id\\\":\\\"3989\\\",\\\"url\\\":\\\"\\/github\\\",\\\"followers\\\":40,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"DevOps\\\",\\\"id\\\":\\\"6043\\\",\\\"url\\\":\\\"\\/Devops\\\",\\\"followers\\\":5134,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Reactive Programming\\\",\\\"id\\\":\\\"15453\\\",\\\"url\\\":\\\"\\/reactive-programming\\\",\\\"followers\\\":12435,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Development\\\",\\\"id\\\":\\\"6815\\\",\\\"url\\\":\\\"\\/development\\\",\\\"followers\\\":4157,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Architecture & Design\\\",\\\"id\\\":\\\"6816\\\",\\\"url\\\":\\\"\\/architecture-design\\\",\\\"followers\\\":10390,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Culture & Methods\\\",\\\"id\\\":\\\"6817\\\",\\\"url\\\":\\\"\\/culture-methods\\\",\\\"followers\\\":3997,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Agents\\\",\\\"id\\\":\\\"1317\\\",\\\"url\\\":\\\"\\/Agents\\\",\\\"followers\\\":76,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Google\\\",\\\"id\\\":\\\"423\\\",\\\"url\\\":\\\"\\/google\\\",\\\"followers\\\":70,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Microservices\\\",\\\"id\\\":\\\"15274\\\",\\\"url\\\":\\\"\\/microservices\\\",\\\"followers\\\":22355,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Model Context Protocol (MCP)\\\",\\\"id\\\":\\\"18608\\\",\\\"url\\\":\\\"\\/model-context-protocol\\\",\\\"followers\\\":38,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"AI, ML & Data Engineering\\\",\\\"id\\\":\\\"16690\\\",\\\"url\\\":\\\"\\/ai-ml-data-eng\\\",\\\"followers\\\":6085,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Platform Engineering\\\",\\\"id\\\":\\\"18356\\\",\\\"url\\\":\\\"\\/platformengineering\\\",\\\"followers\\\":131,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"AI Coding\\\",\\\"id\\\":\\\"18681\\\",\\\"url\\\":\\\"\\/ai-coding\\\",\\\"followers\\\":7,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Distributed Systems\\\",\\\"id\\\":\\\"6137\\\",\\\"url\\\":\\\"\\/Distributed_Systems\\\",\\\"followers\\\":339,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"Java9\\\",\\\"id\\\":\\\"7097\\\",\\\"url\\\":\\\"\\/Java9\\\",\\\"followers\\\":5546,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"GoDaddy\\\",\\\"id\\\":\\\"17854\\\",\\\"url\\\":\\\"\\/GoDaddy\\\",\\\"followers\\\":0,\\\"followedByCurrentUser\\\":false},{\\\"name\\\":\\\"AI Interpretability\\\",\\\"id\\\":\\\"18606\\\",\\\"url\\\":\\\"\\/ai-interpretability\\\",\\\"followers\\\":1,\\\"followedByCurrentUser\\\":false}]');\n            \n\n            var userContentLikesInPage = [];\n            var userCommentsLikesInPage = [];\n\n\n            var currentUserId = -410022697;\n        </script>\n        \n\n        \n        \n        \n            \r\n\r\n\r\n\r\n\r\n\r\n\r\n<!-- Latest Version -->\r\n<script src=\"https://cc.cdn.civiccomputing.com/9/cookieControl-9.x.min.js\" type=\"text/javascript\"></script>\r\n<script>\r\n    const config = {\r\n        apiKey: '8910ea974a96ffb6f927952b4ae9b9b0cc3e5973',\r\n        product: 'PRO_MULTISITE',\r\n\r\n        // general settings\r\n        consentCookieExpiry: 90,\r\n        encodeCookie: true,\r\n        sameSiteCookie: true, // if false, cookie set as SameSite=None;secure;\r\n        sameSiteValue: ';secure', // either 'Strict', 'Lax', or 'None'\r\n        subDomains: true,\r\n        initialState: 'notify',   // 'notify','top','box' require pro licence\r\n        notifyOnce: false,\r\n        setInnerHTML: true,\r\n\r\n        //layout settings\r\n        layout: 'slideout',\r\n        position: 'left',\r\n        theme: 'light',\r\n        acceptButton: true,\r\n        rejectButton: true,\r\n        closeOnGlobalChange: true,\r\n        closeStyle: 'icon',\r\n        toggleType: 'slider',\r\n        notifyDismissButton: true,\r\n        settingsStyle: 'link',\r\n        excludedCountries: ['US'],\r\n\r\n        /*accessibility: {\r\n            disableSiteScrolling: true,\r\n        },*/\r\n\r\n        statement: {\r\n            description: 'For more detailed information about the cookies we use, see our',\r\n            name: 'Cookie Policy',\r\n            url: 'https://www.infoq.com/cookie-policy',\r\n            updated: '01/01/2024',\r\n        },\r\n\r\n        // cookies starting from 'cookie_expire' are from live.infoq.com but since we use the same tool on the same domain we need to specify those too so\r\n        // that infoq.com cookieControl does not delete live.infoq.com cookies(also infoq.com cookies have been specified in live.infoq.com cookieControl configs)\r\n        necessaryCookies: ['RegUserCookie', 'UserCookie', 'IdpCookie', 'ConversionTrackingV2_','PSAdialog','*P13NWN*','topbarSurvey','__bkm','JSESSIONID','mp_','_mixpanel','CloudFront-Key-Pair-Id','CloudFront-Policy','CloudFront-Signature','cookie_expire','discount_promo_closed','discount_promo_code','discount_promo_submitted','exit_survey_popup','referrer_popup','voting_popup_*','AWSALB','AWSALBCORS','aws-waf-token','iq_sub_preview'],\r\n\r\n        optionalCookies: [\r\n            {\r\n                name: 'analytics',\r\n                label: 'Analytics',\r\n                description: 'Analytical cookies help us to improve our website by collecting and reporting information on its usage.',\r\n                cookies: ['_ga', '_ga*', '_gid', '_gat', '__utma', '__utmt', '__utmb', '__utmc', '__utmz', '__utmv'],\r\n                onAccept: function(){\r\n                    gtag('consent', 'update', {'analytics_storage': 'granted'});\r\n                },\r\n                onRevoke: function(){\r\n                    gtag('consent', 'update', {'analytics_storage': 'denied'});\r\n                }\r\n            },\r\n            {\r\n                name: 'marketing',\r\n                label: 'Advertising',\r\n                description: 'We use advertising cookies to display advertisements to you for our products.',\r\n                onAccept: function(){\r\n                    gtag('consent', 'update', {'ad_storage': 'granted', 'ad_personalization': 'granted', 'ad_user_data': 'granted'});\r\n                },\r\n                onRevoke: function(){\r\n                    gtag('consent', 'update', {'ad_storage': 'denied', 'ad_personalization': 'denied', 'ad_user_data': 'denied'});\r\n                }\r\n            }\r\n        ],\r\n\r\n        text : {\r\n            // main preference panels\r\n            title: '<h3>Our use of cookies</h3>',\r\n            intro: 'We use necessary cookies to make our site work. Functional cookies help enhance the performance and functionality of the site. '+\r\n                'We\\'d also like to set analytics cookies to help us improve your experience by measuring how you use the site. '+\r\n                'These will be set only if you accept. ',\r\n            acceptSettings: 'I Accept',\r\n            rejectSettings: 'I Do Not Accept',\r\n            necessaryTitle : '<h3>Necessary Cookies</h3>',\r\n            necessaryDescription :  'Necessary cookies enable core functionality ' +\r\n                'such as page navigation and access to secure areas. '+\r\n                'The website cannot function properly without '+\r\n                'these cookies, and can only be disabled by changing '+\r\n                'your browser preferences.',\r\n            closeLabel: 'Close Cookie Control',\r\n            cornerButton: 'Set cookie preferences',\r\n            // main preference panel controls\r\n            on: 'On',\r\n            off : 'Off',\r\n            thirdPartyTitle : 'Some cookies require your attention',\r\n            thirdPartyDescription : 'Consent for the following cookies could not be '+\r\n                'automatically revoked. Please follow the link(s) '+\r\n                'below to opt out manually.',\r\n            // notification panels (only accessible for pro licences)\r\n            notifyTitle : 'Your choice regarding cookies on this site',\r\n            notifyDescription : 'We use cookies to optimise site functionality and '+\r\n                'give you the best possible experience.',\r\n            accept : 'I Accept',\r\n            reject: 'I Do Not Accept',\r\n            settings : 'Settings',\r\n        },\r\n        branding : {\r\n            removeAbout: true,\r\n        },\r\n    };\r\n    // do not load this for local envs only. for testing on local envs remove/modify this condition\r\n    if(InfoQConstants.pageUrl.indexOf('local')===-1){\r\n        CookieControl.load( config );\r\n    }\r\n</script>\n        \n\n        \n\t\n\n\n\n\n\n\n    \n    \n    \n    \n        \n    \n    \n\n\n\n<script type=\"application/ld+json\">\n{\n  \"@context\": \"http://schema.org\",\n  \"@type\": \"NewsArticle\",\n  \"mainEntityOfPage\": {\n    \"@type\": \"WebPage\",\n    \"@id\": \"https://www.infoq.com/news/2026/07/agentic-resource-discovery-spec/\"\n    },\n  \"headline\": \"Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents\",\n  \"image\": [\"https://res.infoq.com/news/2026/07/agentic-resource-discovery-spec/en/headerimage/generatedHeaderImage-1783309687458.jpg\"\n   ],\n  \"datePublished\": \"2026-07-14T13:40:00+0000\",\n  \"dateModified\": \"2026-07-14T13:40:00+0000\",\n  \"author\": [\n    {\n    \"@type\": \"Person\",\n    \"name\": \"Leela Kumili\",\n    \"url\": \"https://www.infoq.com/profile/Leela-Kumili/\"\n    }\n  ],\n   \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"InfoQ\",\n    \"logo\": {\n      \"@type\": \"ImageObject\",\n      \"url\": \"https://assets.infoq.com/resources/en/infoQ-logo-big.jpg\"\n    }\n  },\n\n  \"description\": \"Google and industry partners announced Agentic Resource Discovery (ARD) Specification, an open standard for publishing, discovering, and verifying AI tools, APIs, and agents. ARD introduces a discover\"\n}\n</script>\n\n\t<meta name=\"ifq:pageType\" content=\"NEWS_PAGE\"/>\n\t<script type=\"text/javascript\">\n\t\tInfoQConstants.pageType = 'NEWS_PAGE';\n\t</script>\n\t\n\t\t\n\t\t<link rel=\"stylesheet\" href=\"https://cdn.infoq.com/statics_s2_20260916065603/styles/prism.css\"/>\n\t\t<meta name=\"keywords\" content=\"agentic resource discovery spec,Development,Architecture &amp; Design,AI, ML &amp; Data Engineering,AI Security,Cisco,Google,Agent2Agent,Specification,Microsoft,AI Interpretability,Platform Engineering,Agents,github,Service Discovery,AI Architecture,Model Context Protocol (MCP),Salesforce.com,GoDaddy,AI Coding,Distributed Systems,\"/>\n\t\t<meta name=\"description\" content=\"Google and industry partners announced Agentic Resource Discovery (ARD) Specification, an open standard for publishing, discovering, and verifying AI tools, APIs, and agents. ARD introduces a discover\"/>\n\t\t<meta name=\"tprox\" content=\"1784036400000\" />\n\t\t\n    \t\n\r\n\r\n\r\n\r\n\r\n\n\n<meta property=\"og:type\" content=\"website\" />\n\n\n    \n\n\n\n\n\n\n\n    \n        <meta property=\"og:image\" content=\"https://res.infoq.com/news/2026/07/agentic-resource-discovery-spec/en/headerimage/generatedHeaderImage-1783309687458.jpg\"/>\n    \n    \n    \n    \n    \n    \n\n\n    \n        <meta property=\"twitter:image\" content=\"https://res.infoq.com/news/2026/07/agentic-resource-discovery-spec/en/card_header_image/generatedCard-1783309687458.jpg\"/>\n    \n    \n    \n    \n    \n    \n\n\n<meta property=\"og:title\" content=\"Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents \"/>\n<meta property=\"og:description\" content=\"Google and industry partners announced Agentic Resource Discovery (ARD) Specification, an open standard for publishing, discovering, and verifying AI tools, APIs, and agents. ARD introduces a discovery layer built on catalogs and registries, enabling dynamic capability discovery while leveraging existing protocols such as MCP and OpenAPI for execution and emphasizing trust and interoperability.\" />\n<meta property=\"og:site_name\" content=\"InfoQ\"/>\n<meta property=\"og:url\" content=\"https://www.infoq.com/news/2026/07/agentic-resource-discovery-spec/\"/>\n\n<meta name=\"twitter:card\" content=\"summary_large_image\" />\n<meta name=\"twitter:title\" content=\"Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents \"/>\n<meta name=\"twitter:description\" content=\"Google and industry partners announced Agentic Resource Discovery (ARD) Specification, an open standard for publishing, discovering, and verifying AI tools, APIs, and agents. ARD introduces a discovery layer built on catalogs and registries, enabling dynamic capability discovery while leveraging existing protocols such as MCP and OpenAPI for execution and emphasizing trust and interoperability.\" />\n\n\t\t\n\t\t\t<link rel=\"image_src\" href=\"https://res.infoq.com/news/2026/07/agentic-resource-discovery-spec/en/headerimage/generatedHeaderImage-1783309687458.jpg\"/>\n\t\t\n\t\t\n\t\t\n\t\n\t<script type=\"text/javascript\" src=\"https://cdn.infoq.com/statics_s2_20260916065603/scripts/relatedVcr.min.js\"></script>\n\t<script type=\"application/javascript\">\n\t\tvar communityIds = \"2497,2498,4523\";\n\t\tvar topicIds = \"7171,1651,419,7105,3232,272,7086,6865,854,1146,6992,7057,7088,136,6402,7161,1964\";\n\t\tVCR.loadAllVcrs(communityIds, topicIds);\n\t</script>\n\n        \n        \n        \n        <script type=\"text/javascript\" src=\"https://cdn.infoq.com/statics_s2_20260916065603/scripts/infoq.js\"></script>\n\n        <script type=\"text/javascript\">\n           document.addEventListener('DOMContentLoaded', function() {\n               if (!window || !window.infoq) return\n               infoq.init()\n           })\n       </script>\n\n       <script defer data-domain=\"infoq.com\" src=\"https://plausible.io/js/script.file-downloads.hash.outbound-links.pageview-props.tagged-events.js\"></script>\n       <script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>\n\n    </head>\n\n    <body >\n        \r\n\r\n\r\n\r\n\r\n\n\n<!-- Google Tag Manager (noscript) -->\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-W9GJ5DL\"\nheight=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\n<!-- End Google Tag Manager (noscript) -->\n        \n            <div class=\"intbt\">\n                <a href=\"/int/bt/\" title=\"bt\">BT</a>\n            </div>\n        \n\n        \r\n\r\n\r\n\r\n\r\n\n\n<script type=\"text/javascript\">\n    var allCountries = [{\"id\":3,\"name\":\"Afghanistan\"},{\"id\":244,\"name\":\"Åland\"},{\"id\":6,\"name\":\"Albania\"},{\"id\":61,\"name\":\"Algeria\"},{\"id\":13,\"name\":\"American Samoa\"},{\"id\":1,\"name\":\"Andorra\"},{\"id\":9,\"name\":\"Angola\"},{\"id\":5,\"name\":\"Anguilla\"},{\"id\":11,\"name\":\"Antarctica\"},{\"id\":4,\"name\":\"Antigua and Barbuda\"},{\"id\":12,\"name\":\"Argentina\"},{\"id\":7,\"name\":\"Armenia\"},{\"id\":16,\"name\":\"Aruba\"},{\"id\":15,\"name\":\"Australia\"},{\"id\":14,\"name\":\"Austria\"},{\"id\":17,\"name\":\"Azerbaijan\"},{\"id\":31,\"name\":\"Bahamas\"},{\"id\":24,\"name\":\"Bahrain\"},{\"id\":20,\"name\":\"Bangladesh\"},{\"id\":19,\"name\":\"Barbados\"},{\"id\":35,\"name\":\"Belarus\"},{\"id\":21,\"name\":\"Belgium\"},{\"id\":36,\"name\":\"Belize\"},{\"id\":26,\"name\":\"Benin\"},{\"id\":27,\"name\":\"Bermuda\"},{\"id\":32,\"name\":\"Bhutan\"},{\"id\":29,\"name\":\"Bolivia\"},{\"id\":254,\"name\":\"Bonaire, Sint Eustatius, and Saba\"},{\"id\":18,\"name\":\"Bosnia and Herzegovina\"},{\"id\":34,\"name\":\"Botswana\"},{\"id\":33,\"name\":\"Bouvet Island\"},{\"id\":30,\"name\":\"Brazil\"},{\"id\":104,\"name\":\"British Indian Ocean Territory\"},{\"id\":28,\"name\":\"Brunei Darussalam\"},{\"id\":23,\"name\":\"Bulgaria\"},{\"id\":22,\"name\":\"Burkina Faso\"},{\"id\":25,\"name\":\"Burundi\"},{\"id\":114,\"name\":\"Cambodia\"},{\"id\":46,\"name\":\"Cameroon\"},{\"id\":37,\"name\":\"Canada\"},{\"id\":52,\"name\":\"Cape Verde\"},{\"id\":121,\"name\":\"Cayman Islands\"},{\"id\":40,\"name\":\"Central African Republic\"},{\"id\":207,\"name\":\"Chad\"},{\"id\":45,\"name\":\"Chile\"},{\"id\":47,\"name\":\"China\"},{\"id\":53,\"name\":\"Christmas Island\"},{\"id\":38,\"name\":\"Cocos (Keeling) Islands\"},{\"id\":48,\"name\":\"Colombia\"},{\"id\":116,\"name\":\"Comoros\"},{\"id\":39,\"name\":\"Congo (Democratic Republic)\"},{\"id\":41,\"name\":\"Congo (People\\u0027s Republic)\"},{\"id\":44,\"name\":\"Cook Islands\"},{\"id\":49,\"name\":\"Costa Rica\"},{\"id\":43,\"name\":\"Cote D\\u0027Ivoire\"},{\"id\":97,\"name\":\"Croatia\"},{\"id\":51,\"name\":\"Cuba\"},{\"id\":253,\"name\":\"Curaçao\"},{\"id\":54,\"name\":\"Cyprus\"},{\"id\":55,\"name\":\"Czech Republic\"},{\"id\":58,\"name\":\"Denmark\"},{\"id\":57,\"name\":\"Djibouti\"},{\"id\":59,\"name\":\"Dominica\"},{\"id\":60,\"name\":\"Dominican Republic\"},{\"id\":213,\"name\":\"East Timor\"},{\"id\":62,\"name\":\"Ecuador\"},{\"id\":64,\"name\":\"Egypt\"},{\"id\":203,\"name\":\"El Salvador\"},{\"id\":87,\"name\":\"Equatorial Guinea\"},{\"id\":66,\"name\":\"Eritrea\"},{\"id\":63,\"name\":\"Estonia\"},{\"id\":68,\"name\":\"Ethiopia\"},{\"id\":72,\"name\":\"Falkland Islands (Malvinas)\"},{\"id\":74,\"name\":\"Faroe Islands\"},{\"id\":71,\"name\":\"Fiji\"},{\"id\":70,\"name\":\"Finland\"},{\"id\":75,\"name\":\"France\"},{\"id\":80,\"name\":\"French Guiana\"},{\"id\":170,\"name\":\"French Polynesia\"},{\"id\":208,\"name\":\"French Southern Territories\"},{\"id\":76,\"name\":\"Gabon\"},{\"id\":84,\"name\":\"Gambia\"},{\"id\":79,\"name\":\"Georgia\"},{\"id\":56,\"name\":\"Germany\"},{\"id\":81,\"name\":\"Ghana\"},{\"id\":82,\"name\":\"Gibraltar\"},{\"id\":88,\"name\":\"Greece\"},{\"id\":83,\"name\":\"Greenland\"},{\"id\":78,\"name\":\"Grenada\"},{\"id\":86,\"name\":\"Guadeloupe\"},{\"id\":91,\"name\":\"Guam\"},{\"id\":90,\"name\":\"Guatemala\"},{\"id\":249,\"name\":\"Guernsey\"},{\"id\":85,\"name\":\"Guinea\"},{\"id\":92,\"name\":\"Guinea-Bissau\"},{\"id\":93,\"name\":\"Guyana\"},{\"id\":98,\"name\":\"Haiti\"},{\"id\":95,\"name\":\"Heard Island and McDonald Islands\"},{\"id\":96,\"name\":\"Honduras\"},{\"id\":94,\"name\":\"Hong Kong\"},{\"id\":99,\"name\":\"Hungary\"},{\"id\":107,\"name\":\"Iceland\"},{\"id\":103,\"name\":\"India\"},{\"id\":100,\"name\":\"Indonesia\"},{\"id\":106,\"name\":\"Iran\"},{\"id\":105,\"name\":\"Iraq\"},{\"id\":101,\"name\":\"Ireland\"},{\"id\":245,\"name\":\"Isle of Man\"},{\"id\":102,\"name\":\"Israel\"},{\"id\":108,\"name\":\"Italy\"},{\"id\":109,\"name\":\"Jamaica\"},{\"id\":111,\"name\":\"Japan\"},{\"id\":250,\"name\":\"Jersey\"},{\"id\":110,\"name\":\"Jordan\"},{\"id\":122,\"name\":\"Kazakhstan\"},{\"id\":112,\"name\":\"Kenya\"},{\"id\":115,\"name\":\"Kiribati\"},{\"id\":243,\"name\":\"Kosovo\"},{\"id\":120,\"name\":\"Kuwait\"},{\"id\":113,\"name\":\"Kyrgyzstan\"},{\"id\":123,\"name\":\"Laos\"},{\"id\":132,\"name\":\"Latvia\"},{\"id\":124,\"name\":\"Lebanon\"},{\"id\":129,\"name\":\"Lesotho\"},{\"id\":128,\"name\":\"Liberia\"},{\"id\":133,\"name\":\"Libya\"},{\"id\":126,\"name\":\"Liechtenstein\"},{\"id\":130,\"name\":\"Lithuania\"},{\"id\":131,\"name\":\"Luxembourg\"},{\"id\":143,\"name\":\"Macau\"},{\"id\":139,\"name\":\"Macedonia\"},{\"id\":137,\"name\":\"Madagascar\"},{\"id\":151,\"name\":\"Malawi\"},{\"id\":153,\"name\":\"Malaysia\"},{\"id\":150,\"name\":\"Maldives\"},{\"id\":140,\"name\":\"Mali\"},{\"id\":148,\"name\":\"Malta\"},{\"id\":138,\"name\":\"Marshall Islands\"},{\"id\":145,\"name\":\"Martinique\"},{\"id\":146,\"name\":\"Mauritania\"},{\"id\":149,\"name\":\"Mauritius\"},{\"id\":238,\"name\":\"Mayotte\"},{\"id\":152,\"name\":\"Mexico\"},{\"id\":73,\"name\":\"Micronesia\"},{\"id\":136,\"name\":\"Moldova\"},{\"id\":135,\"name\":\"Monaco\"},{\"id\":142,\"name\":\"Mongolia\"},{\"id\":246,\"name\":\"Montenegro\"},{\"id\":147,\"name\":\"Montserrat\"},{\"id\":134,\"name\":\"Morocco\"},{\"id\":154,\"name\":\"Mozambique\"},{\"id\":141,\"name\":\"Myanmar\"},{\"id\":155,\"name\":\"Namibia\"},{\"id\":164,\"name\":\"Nauru\"},{\"id\":163,\"name\":\"Nepal\"},{\"id\":161,\"name\":\"Netherlands\"},{\"id\":8,\"name\":\"Netherlands Antilles\"},{\"id\":156,\"name\":\"New Caledonia\"},{\"id\":166,\"name\":\"New Zealand\"},{\"id\":160,\"name\":\"Nicaragua\"},{\"id\":157,\"name\":\"Niger\"},{\"id\":159,\"name\":\"Nigeria\"},{\"id\":165,\"name\":\"Niue\"},{\"id\":158,\"name\":\"Norfolk Island\"},{\"id\":118,\"name\":\"North Korea\"},{\"id\":144,\"name\":\"Northern Mariana Islands\"},{\"id\":162,\"name\":\"Norway\"},{\"id\":167,\"name\":\"Oman\"},{\"id\":173,\"name\":\"Pakistan\"},{\"id\":180,\"name\":\"Palau\"},{\"id\":178,\"name\":\"Palestinian Territory\"},{\"id\":168,\"name\":\"Panama\"},{\"id\":171,\"name\":\"Papua New Guinea\"},{\"id\":181,\"name\":\"Paraguay\"},{\"id\":169,\"name\":\"Peru\"},{\"id\":172,\"name\":\"Philippines\"},{\"id\":176,\"name\":\"Pitcairn\"},{\"id\":174,\"name\":\"Poland\"},{\"id\":179,\"name\":\"Portugal\"},{\"id\":177,\"name\":\"Puerto Rico\"},{\"id\":182,\"name\":\"Qatar\"},{\"id\":183,\"name\":\"Reunion\"},{\"id\":184,\"name\":\"Romania\"},{\"id\":185,\"name\":\"Russian Federation\"},{\"id\":186,\"name\":\"Rwanda\"},{\"id\":193,\"name\":\"Saint Helena\"},{\"id\":117,\"name\":\"Saint Kitts and Nevis\"},{\"id\":125,\"name\":\"Saint Lucia\"},{\"id\":251,\"name\":\"Saint Martin\"},{\"id\":175,\"name\":\"Saint Pierre and Miquelon\"},{\"id\":229,\"name\":\"Saint Vincent and the Grenadines\"},{\"id\":247,\"name\":\"Saint-Barthélemy\"},{\"id\":236,\"name\":\"Samoa\"},{\"id\":198,\"name\":\"San Marino\"},{\"id\":202,\"name\":\"Sao Tome and Principe\"},{\"id\":187,\"name\":\"Saudi Arabia\"},{\"id\":199,\"name\":\"Senegal\"},{\"id\":248,\"name\":\"Serbia\"},{\"id\":189,\"name\":\"Seychelles\"},{\"id\":197,\"name\":\"Sierra Leone\"},{\"id\":192,\"name\":\"Singapore\"},{\"id\":252,\"name\":\"Sint Maarten\"},{\"id\":196,\"name\":\"Slovakia\"},{\"id\":194,\"name\":\"Slovenia\"},{\"id\":188,\"name\":\"Solomon Islands\"},{\"id\":200,\"name\":\"Somalia\"},{\"id\":239,\"name\":\"South Africa\"},{\"id\":89,\"name\":\"South Georgia and the South Sandwich Islands\"},{\"id\":119,\"name\":\"South Korea\"},{\"id\":255,\"name\":\"South Sudan\"},{\"id\":67,\"name\":\"Spain\"},{\"id\":127,\"name\":\"Sri Lanka\"},{\"id\":190,\"name\":\"Sudan\"},{\"id\":201,\"name\":\"Suriname\"},{\"id\":195,\"name\":\"Svalbard and Jan Mayen\"},{\"id\":205,\"name\":\"Swaziland\"},{\"id\":191,\"name\":\"Sweden\"},{\"id\":42,\"name\":\"Switzerland\"},{\"id\":204,\"name\":\"Syria\"},{\"id\":220,\"name\":\"Taiwan\"},{\"id\":211,\"name\":\"Tajikistan\"},{\"id\":221,\"name\":\"Tanzania\"},{\"id\":210,\"name\":\"Thailand\"},{\"id\":209,\"name\":\"Togo\"},{\"id\":212,\"name\":\"Tokelau\"},{\"id\":216,\"name\":\"Tonga\"},{\"id\":218,\"name\":\"Trinidad and Tobago\"},{\"id\":215,\"name\":\"Tunisia\"},{\"id\":217,\"name\":\"Turkey\"},{\"id\":214,\"name\":\"Turkmenistan\"},{\"id\":206,\"name\":\"Turks and Caicos Islands\"},{\"id\":219,\"name\":\"Tuvalu\"},{\"id\":223,\"name\":\"Uganda\"},{\"id\":222,\"name\":\"Ukraine\"},{\"id\":2,\"name\":\"United Arab Emirates\"},{\"id\":77,\"name\":\"United Kingdom\"},{\"id\":224,\"name\":\"United States Minor Outlying Islands\"},{\"id\":226,\"name\":\"Uruguay\"},{\"id\":225,\"name\":\"USA\"},{\"id\":227,\"name\":\"Uzbekistan\"},{\"id\":234,\"name\":\"Vanuatu\"},{\"id\":228,\"name\":\"Vatican City (Holy See)\"},{\"id\":230,\"name\":\"Venezuela\"},{\"id\":233,\"name\":\"Vietnam\"},{\"id\":231,\"name\":\"Virgin Islands (British)\"},{\"id\":232,\"name\":\"Virgin Islands (U.S.)\"},{\"id\":235,\"name\":\"Wallis and Futuna\"},{\"id\":65,\"name\":\"Western Sahara\"},{\"id\":237,\"name\":\"Yemen\"},{\"id\":241,\"name\":\"Zaire\"},{\"id\":240,\"name\":\"Zambia\"},{\"id\":242,\"name\":\"Zimbabwe\"}];\n    var gdprCountriesIds = [196,194,191,184,179,174,161,148,132,131,130,108,101,99,97,88,77,75,70,67,63,58,56,55,54,37,23,21,14];\n</script>\n\n        \r\n\r\n\r\n\r\n\r\n\n\n\n    <section data-nosnippet class=\"section container subscribe-box hidden\">\n        <div class=\"container__inner\">\n            <div class=\"actions\">\n                <div class=\"actions__left\">\n                    <h2>InfoQ Software Architects' Newsletter</h2>\n                    <span><p>A monthly overview of things you need to know as an architect or aspiring architect.</p>\r\n\r\n<p><a href=\"https://www.infoq.com/software-architects-newsletter#placeholderPastIssues\">View an example</a></p>\r\n</span>\n                    <div class=\"newsletter__subscribe\">\n                        <form class=\"form gdpr\" name=\"dataCollectCampaignNewsletterForm\" id=\"dataCollectCampaignNewsletterForm\" action=\"#\" onsubmit=\"dataCollectNewsletter.saveSubscription(); return false;\">\n                            <div class=\"field newsletter__mail input__text input__no-label input__medium email\">\n                                <label for=\"email-dataCollectnewsletter-infoq\" class=\"label field__label\">Enter your e-mail address</label>\n                                <input id=\"email-dataCollectnewsletter-infoq\" name=\"footerNewsletterEmail\" placeholder=\"Enter your e-mail address\" class=\"input field__input\" type=\"email\"/>\n                                <input type=\"text\" name=\"emailH\" id=\"input_email_h_d\" aria-required=\"false\" style=\"display:none !important\" tabindex=\"-1\" autocomplete=\"off\"/>\n                                <input type=\"hidden\" id=\"fnt_d\" name=\"fnt_d\" value=\"AIALBlliZNA2IwUp\"/>\n                                <input type=\"hidden\" id=\"dataCollectNewsletterType\" name=\"dataCollectNewsletterType\" value=\"regular\"/>\n                                <input type=\"hidden\" id=\"cmpi_d\" name=\"cmpi_d\" value=\"4\"/>\n                            </div>\n                            <div class=\"hidden\">\n                    <span class=\"input__select field country\">\n                        <label for=\"input-dataCollect-newsletter-country\" class=\"label field__label\">Select your country</label>\n                        <select id=\"input-dataCollect-newsletter-country\" class=\"select field__input\">\n                            <option value=\"\" class=\"select__option\">Select a country</option>\n                        </select>\n                        <p class=\"input__message field__desc\"></p>\n                    </span>\n                                <span class=\"input__checkbox field hidden\">\n                        <input type=\"checkbox\" id=\"gdpr-consent-campaign\">\n                        <label for=\"gdpr-consent-campaign\" class=\"label\"><span>I consent to InfoQ.com handling my data as explained in this <a href=\"https://www.infoq.com/privacy-notice\">Privacy Notice</a>.</span></label>\n                    </span>\n                            </div>\n                            <input type=\"submit\" role=\"button\" value=\"Subscribe\" class=\"button button__medium button__red\" onclick=\"return dataCollectNewsletter.validateEmail('Invalid email address');\"/>\n                        </form>\n                        <p class=\"meta\">\n                            <a href=\"/privacy-notice/\" target=\"_blank\">We protect your privacy.</a>\n                        </p>\n                        \n                        <span class=\"success\" style=\"display:none;\" id=\"dataCollectNewsletterMessage\"></span>\n                    </div>\n\n                </div>\n                <div class=\"actions__right\">\n                    <button aria-label=\"Close\" class=\"close closeBox button button__unstyled button__icon icon icon__close-black icon--only\">Close</button>\n                </div>\n            </div>\n        </div>\n    </section>\n    <script type=\"text/javascript\">\n        var dataCollectNewsletter = new Newsletter('Enter your e-mail address',\n                'email-dataCollectnewsletter-infoq', 'dataCollectNewsletterType','dataCollectNewsletterMessage', 'fnt_d', 'input_email_h_d', 'input-dataCollect-newsletter-country', 'cmpi_d','popup_all_pages');\n    </script>\n\n\n        \n\r\n\r\n\r\n\r\n\r\n\n\n \n\n\n        \n        <div class=\"infoq\" id=\"infoq\">\n            \n                <!--\t#######\t\tSITE START\t#########\t -->\n                \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n\n\n\n\n    \n\n\n\n\n\n\n\n\n\n<header class=\"header\">\n    <button aria-label=\"Toggle Navigation\" tabindex=\"0\" class=\"burger header__toggle button\">Toggle Navigation <span></span><span></span><span></span></button>\n    <div class=\"header__container container\">\n        <div class=\"container__inner\">\n            <div data-nosnippet class=\"actions header__top\">\n                <div class=\"actions__left\">\n                    <p class=\"header__desc my-0\">\n                        Facilitating the Spread of Knowledge and Innovation in Professional Software Development\n                    </p>\n                    <div class=\"button__dropdown dropdown header__more my-0 dropdown__center\">\n                        \n\r\n\r\n\r\n\r\n\r\n\n\n<button aria-label=\"English edition\" class=\"button button__unstyled button__small\">English edition </button>\n<div class=\"dropdown__holder\">\n\t<!---->\n\t<div class=\"dropdown__content\">\n\t\t<ul class=\"no-style dropdown__nav languagesEdition\">\n\t\t\t<li class=\"active\"><a href=\"#\" onclick=\"return false;\">English edition</a></li>\n\t\t\t<li><a href=\"https://www.infoq.cn\">Chinese edition</a></li>\n\t\t\t<li><a href=\"/jp/\">Japanese edition</a></li>\n\t\t\t<li><a href=\"/fr/\">French edition</a></li>\n\t\t</ul>\n\t</div>\n\t<!---->\n</div>\n                    </div>\n                    <a class=\"my-0 contribute-link\" role=\"button\" href=\"/write-for-infoq/\" title=\"Write for InfoQ\">\n                        Write for InfoQ\n                    </a>\n                </div>\n                <div class=\"actions__right\">\n                    <div>\n                        <form id=\"searchForm\" name=\"search-form\" action=\"/search.action\" enctype=\"multipart/form-data\" class=\"search icon__search icon icon__green\">\n                            <div class=\"field search__bar input__text input__no-label input__small\">\n                                <label for=\"search\" class=\"label field__label\">Search</label>\n                                <input name=\"queryString\" type=\"text\" id=\"search\" value=\"\" placeholder=\"Search\" class=\"input field__input\">\n                                <input type=\"hidden\" name=\"page\" value=\"1\"/>\n                                <input type=\"hidden\" size=\"15\" name=\"searchOrder\">\n                            </div>\n                            <input value=\"Search\" type=\"submit\" class=\"search__go\">\n                        </form>\n                    </div>\n                    \r\n\r\n\r\n\r\n\r\n\n\n\n\n\t<div class=\"action_button__group\">\n\t\t<a href=\"/reginit.action?\" onclick=\"return UserActions_Login.addLoginInfo(this);\" class=\"button button__green button__small\">Register</a>\n\t\t<a href=\"/social/keycloakLogin.action?fl=login\"  onclick=\"return UserActions_Login.addLoginInfo(this);\" class=\"button button__small button__outline\">Sign in</a>\n\t</div>\n\t\n\t<div class=\"modal_auth_required\">\n\t\t<div class=\"modal_auth_required__actions\">\n\t\t\t<h2 class=\"h2\">Unlock the full InfoQ experience</h2>\n\t\t\t<p>Unlock the full InfoQ experience by logging in! Stay updated with your favorite authors and topics, engage with content, and download exclusive resources.</p>\n\t\t\t<a href=\"/social/keycloakLogin.action?fl=login\"  onclick=\"return UserActions_Login.addLoginInfo(this);\" class=\"button button__has-transition\">Log In</a>\n\t\t\t<div class=\"separator\"><span>or</span></div>\n\t\t\t<h3 class=\"h3\">Don't have an InfoQ account?</h3>\n\t\t\t<a href=\"/reginit.action?\" onclick=\"return UserActions_Login.addLoginInfo(this);\" class=\"button__outline button__has-transition\">Register</a>\n\t\t</div>\n\t\t<div class=\"modal_auth_required__content\">\n\t\t\t<ul class=\"newsletter__features\">\n\t\t\t\t<li><strong>Stay updated on topics and peers that matter to you</strong>Receive instant alerts on the latest insights and trends.</li>\n\t\t\t\t<li><strong>Quickly access free resources for continuous learning</strong>Minibooks, videos with transcripts, and training materials.</li>\n\t\t\t\t<li><strong>Save articles and read at anytime</strong>Bookmark articles to read whenever youre ready.</li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<form id=\"login-form\" data-vv-scope=\"login\" class=\"login__form form\" action=\"#\" data-gtm-form-interact-id=\"0\">\n            <input type=\"hidden\" id=\"loginWidgetOrigin\" name=\"loginWidgetOrigin\" value=\"mainLogin\">\n\t\t\t<input type=\"hidden\" name=\"fromP13N\" id=\"isP13n\" value=\"\">\n\t\t\t<input type=\"hidden\" name=\"fromP13NId\" id=\"p13n-id\" value=\"\">\n\t\t\t<input type=\"hidden\" name=\"fromP13NType\" id=\"p13n-type\" value=\"\">\n\t\t</form>\n\t</div>\n\n\n                    \n                </div>\n            </div>\n            <div class=\"header__middle\">\n                <div class=\"logo header__logo\">\n                    <a href=\"/\"  class=\"logo__symbol active\">\n                        Logo - Back to homepage\n                    </a>\n                </div>\n                \n                <div class=\"content-items\">\n                    <a href=\"/news/\" class=\"icon icon__news\">News</a>\n                    <a href=\"/articles/\" class=\"icon icon__articles\">Articles</a>\n                    <a href=\"/presentations/\" class=\"icon icon__presentations\">Presentations</a>\n                    <a href=\"/podcasts/\" class=\"icon icon__podcasts\">Podcasts</a>\n                    <a href=\"/minibooks/\" class=\"icon icon__guides\">Guides</a>\n                </div>\n                <div class=\"header__items columns\">\n\n                    \n                        \n                        \n                        \n                        \n                        \n                        \n                    \n\r\n\r\n\r\n\r\n\r\n\n\n<div>\n    <h3 class=\"widget__heading\">Topics</h3>\n    <nav class=\"nav header__nav topics\" data-trk-ref=\"header_personas\">\n        <div class=\"has--subnav li-nav\">\n            <a href=\"/development/\" title=\"Development\" class=\"nav__category\">Development</a>\n            <div class=\"nav__subnav subnav\">\n                <ul class=\"subnav__categories no-style\">\n                    <li><a href=\"/java/\" title=\"Java\">Java</a></li>\n                    <li><a href=\"/kotlin/\" title=\"Kotlin\">Kotlin</a></li>\n                    <li><a href=\"/dotnet/\" title=\".Net\">.Net</a></li>\n                    <li><a href=\"/c_sharp/\" title=\"C#\">C#</a></li>\n                    <li><a href=\"/swift/\" title=\"Swift\">Swift</a></li>\n                    <li><a href=\"/golang/\" title=\"Go\">Go</a></li>\n                    <li><a href=\"/rust/\" title=\"Rust\">Rust</a></li>\n                    <li><a href=\"/javascript/\" title=\"JavaScript\">JavaScript</a></li>\n                </ul>\n                <div class=\"subnav__content\" data-id=\"6815\">\n                    \n\n\n\n\n\n\n\n\n\n<div class=\"heading__container actions\">\n    <div class=\"actions__left\">\n        <h3 class=\"heading section__heading\">Featured in  Development</h3>\n    </div>\n</div>\n<ul data-size=\"large\" data-horizontal=\"true\" data-tax=\"\" taxonomy=\"articles\" class=\"cards no-style\">\n    <li>\n        <div class=\"card__content\">\n            <div class=\"card__data\">\n                \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n                <h4 class=\"card__title\">\n                    <a href=\"/presentations/rust-refactoring\">Accelerating Performance by Incrementally Integrating Rust into Existing Codebase</a>\n                </h4>\n                <p class=\"card__excerpt\">Lily Mara explains how to avoid high-risk software rewrites through incremental FFI refactoring. She shares how engineering teams can replace Python bottlenecks with Rust via PyO3, demonstrating how to achieve dramatic function-level speedups, seamless integration testing, and meaningful infrastructure cost savings without microservice overhead.</p>\n                <div class=\"card__footer\"></div>\n            </div>\n            \n                <a href=\"/presentations/rust-refactoring\" class=\"card__header\">\n                    <img loading=\"lazy\" alt=\"Accelerating Performance by Incrementally Integrating Rust into Existing Codebase\" src=\"https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/rust-refactoring/en/smallimage/lily-mara-thumbnail-1788338447565.jpeg\" class=\"card__image\"/>\n                </a>\n            \n        </div>\n    </li>\n</ul>\n\n    \n\n\n<a href=\"/development/\" class=\"button__more button button__large button__arrow arrow__right\">All in  development</a>\n\n                </div>\n            </div>\n        </div>\n        <div class=\"has--subnav li-nav\">\n            <a href=\"/architecture-design/\" title=\"Architecture &amp; Design\" class=\"nav__category\">Architecture &amp; Design</a>\n            <div class=\"nav__subnav subnav\">\n                <ul class=\"subnav__categories no-style\">\n                    <li><a href=\"/architecture/\" title=\"Architecture\">Architecture</a></li>\n                    \n                    <li><a href=\"/enterprise-architecture/\" title=\"Enterprise Architecture\">Enterprise Architecture</a></li>\n                    <li><a href=\"/performance-scalability/\" title=\"Scalability/Performance\">Scalability/Performance</a></li>\n                    <li><a href=\"/design/\" title=\"Design\">Design</a></li>\n                    <li><a href=\"/Case_Study/\" title=\"Case Studies\">Case Studies</a></li>\n                    <li><a href=\"/microservices/\" title=\"Microservices\">Microservices</a></li>\n                    <li><a href=\"/servicemesh/\" title=\"Service Mesh\">Service Mesh</a></li>\n                    <li><a href=\"/DesignPattern/\" title=\"Patterns\">Patterns</a></li>\n                    <li><a href=\"/Security/\" title=\"Security\">Security</a></li>\n                </ul>\n                <div class=\"subnav__content\" data-id=\"6816\">\n                    \n\n\n\n\n\n\n\n\n\n<div class=\"heading__container actions\">\n    <div class=\"actions__left\">\n        <h3 class=\"heading section__heading\">Featured in  Architecture &amp; Design</h3>\n    </div>\n</div>\n<ul data-size=\"large\" data-horizontal=\"true\" data-tax=\"\" taxonomy=\"articles\" class=\"cards no-style\">\n    <li>\n        <div class=\"card__content\">\n            <div class=\"card__data\">\n                \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n                <h4 class=\"card__title\">\n                    <a href=\"/articles/durable-workflows-postgres\">Implementing Durable Workflows on Postgres Without an External Orchestrator</a>\n                </h4>\n                <p class=\"card__excerpt\">Postgres can serve as the durable state store and coordination layer for workflows, eliminating the need for an external orchestrator. SKIP LOCKED enables concurrent work processing, primary-key checkpoints enforce idempotency, and leases support crash recovery. Workflow sleeps and human approvals can also be persisted as database state and survive restarts.</p>\n                <div class=\"card__footer\"></div>\n            </div>\n            \n                <a href=\"/articles/durable-workflows-postgres\" class=\"card__header\">\n                    <img loading=\"lazy\" alt=\"Implementing Durable Workflows on Postgres Without an External Orchestrator\" src=\"https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/durable-workflows-postgres/en/smallimage/Implementing-Durable-Workflows-on-Postgres-Without-an-External-Orchestrator-thumb-1789129413946.jpg\" class=\"card__image\"/>\n                </a>\n            \n        </div>\n    </li>\n</ul>\n\n    \n\n\n<a href=\"/architecture-design/\" class=\"button__more button button__large button__arrow arrow__right\">All in  architecture-design</a>\n\n                </div>\n            </div>\n        </div>\n        <div class=\"has--subnav li-nav\">\n            <a href=\"/ai-ml-data-eng/\" title=\"AI Infrastructure\" class=\"nav__category\">AI Infrastructure</a>\n            <div class=\"nav__subnav subnav\">\n                <ul class=\"subnav__categories no-style\">\n                    <li><a href=\"/bigdata/\" title=\"Big Data\">Big Data</a></li>\n                    <li><a href=\"/machinelearning/\" title=\"Machine Learning\">Machine Learning</a></li>\n                    <li><a href=\"/nosql/\" title=\"NoSQL\">NoSQL</a></li>\n                    <li><a href=\"/database/\" title=\"Database\">Database</a></li>\n                    <li><a href=\"/data-analytics/\" title=\"Data Analytics\">Data Analytics</a></li>\n                    <li><a href=\"/streaming/\" title=\"Streaming\">Streaming</a></li>\n                </ul>\n                <div class=\"subnav__content\" data-id=\"16690\">\n                    \n\n\n\n\n\n\n\n\n\n<div class=\"heading__container actions\">\n    <div class=\"actions__left\">\n        <h3 class=\"heading section__heading\">Featured in  AI, ML &amp; Data Engineering</h3>\n    </div>\n</div>\n<ul data-size=\"large\" data-horizontal=\"true\" data-tax=\"\" taxonomy=\"articles\" class=\"cards no-style\">\n    <li>\n        <div class=\"card__content\">\n            <div class=\"card__data\">\n                \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n                <h4 class=\"card__title\">\n                    <a href=\"/articles/next-dsl-author-language-model\">Your Next DSL Author Is a Language Model</a>\n                </h4>\n                <p class=\"card__excerpt\">In this article, the author introduces Typed Domain Grounding, an approach to reducing LLM hallucinations in domain-specific languages by embedding them in mainstream typed languages. Using kUML benchmarks and an infrastructure-as-code example, he explores how compiler validation and generate-compile-repair loops can make model-generated DSL output more reliable.</p>\n                <div class=\"card__footer\"></div>\n            </div>\n            \n                <a href=\"/articles/next-dsl-author-language-model\" class=\"card__header\">\n                    <img loading=\"lazy\" alt=\"Your Next DSL Author Is a Language Model\" src=\"https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/articles/next-dsl-author-language-model/en/smallimage/Your-Next-DSL-Author-Is-a-Language-Model-thumb-1789048983233.jpg\" class=\"card__image\"/>\n                </a>\n            \n        </div>\n    </li>\n</ul>\n\n    \n\n\n<a href=\"/ai-ml-data-eng/\" class=\"button__more button button__large button__arrow arrow__right\">All in  ai-ml-data-eng</a>\n\n                </div>\n            </div>\n        </div>\n        <div class=\"has--subnav li-nav\">\n            <a href=\"/culture-methods/\" title=\"Culture &amp; Methods\" class=\"nav__category\">Culture &amp; Methods</a>\n            <div class=\"nav__subnav subnav\">\n                <ul class=\"subnav__categories no-style\">\n                    <li><a href=\"/agile/\" title=\"Agile\">Agile</a></li>\n                    <li><a href=\"/diversity/\" title=\"Diversity\">Diversity</a></li>\n                    <li><a href=\"/leadership/\" title=\"Leadership\">Leadership</a></li>\n                    <li><a href=\"/lean/\" title=\"Lean/Kanban\">Lean/Kanban</a></li>\n                    <li><a href=\"/personal-growth/\" title=\"Personal Growth\">Personal Growth</a></li>\n                    <li><a href=\"/scrum/\" title=\"Scrum\">Scrum</a></li>\n                    <li><a href=\"/sociocracy/\" title=\"Sociocracy\">Sociocracy</a></li>\n                    <li><a href=\"/software_craftsmanship/\" title=\"Software Craftmanship\">Software Craftmanship</a></li>\n                    <li><a href=\"/team-collaboration/\" title=\"Team Collaboration\">Team Collaboration</a></li>\n                    <li><a href=\"/testing/\" title=\"Testing\">Testing</a></li>\n                    <li><a href=\"/ux/\" title=\"UX\">UX</a></li>\n                </ul>\n                <div class=\"subnav__content\" data-id=\"6817\">\n                    \n\n\n\n\n\n\n\n\n\n<div class=\"heading__container actions\">\n    <div class=\"actions__left\">\n        <h3 class=\"heading section__heading\">Featured in  Culture &amp; Methods</h3>\n    </div>\n</div>\n<ul data-size=\"large\" data-horizontal=\"true\" data-tax=\"\" taxonomy=\"articles\" class=\"cards no-style\">\n    <li>\n        <div class=\"card__content\">\n            <div class=\"card__data\">\n                \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n                <h4 class=\"card__title\">\n                    <a href=\"/presentations/duolingo-ai-literacy-code-review\">Teaching Engineers, Trusting AI: How Education Enabled Autonomous Code Review</a>\n                </h4>\n                <p class=\"card__excerpt\">Sarah Deitke discusses how Duolingo drives cultural AI adoption beyond tooling access. She explains their internal AI literacy workshops and observability dashboards, then shares a case study on redesigning code review using an automated PR risk-assessment bot. Deitke demonstrates how pairing targeted developer education with safe AI guardrails speeds up delivery without increasing defect rates.</p>\n                <div class=\"card__footer\"></div>\n            </div>\n            \n                <a href=\"/presentations/duolingo-ai-literacy-code-review\" class=\"card__header\">\n                    <img loading=\"lazy\" alt=\"Teaching Engineers, Trusting AI: How Education Enabled Autonomous Code Review\" src=\"https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/duolingo-ai-literacy-code-review/en/smallimage/sarah-deitke-thumbnail-1788338781338.jpeg\" class=\"card__image\"/>\n                </a>\n            \n        </div>\n    </li>\n</ul>\n\n    \n\n\n<a href=\"/culture-methods/\" class=\"button__more button button__large button__arrow arrow__right\">All in  culture-methods</a>\n\n                </div>\n            </div>\n        </div>\n        <div class=\"has--subnav li-nav\">\n            <a href=\"/devops/\" class=\"nav__category\">DevOps</a>\n            <div class=\"nav__subnav subnav\">\n                <ul class=\"subnav__categories no-style\">\n                    <li><a href=\"/infrastructure/\" title=\"Infrastructure\">Infrastructure</a></li>\n                    <li><a href=\"/continuous_delivery/\" title=\"Continuous Delivery\">Continuous Delivery</a></li>\n                    <li><a href=\"/automation/\" title=\"Automation\">Automation</a></li>\n                    <li><a href=\"/containers/\" title=\"Containers\">Containers</a></li>\n                    <li><a href=\"/cloud-computing/\" title=\"Cloud\">Cloud</a></li>\n                    <li><a href=\"/observability/\" title=\"Observability\">Observability</a></li>\n\n                </ul>\n                <div class=\"subnav__content\" data-id=\"6043\">\n                    \n\n\n\n\n\n\n\n\n\n<div class=\"heading__container actions\">\n    <div class=\"actions__left\">\n        <h3 class=\"heading section__heading\">Featured in  DevOps</h3>\n    </div>\n</div>\n<ul data-size=\"large\" data-horizontal=\"true\" data-tax=\"\" taxonomy=\"articles\" class=\"cards no-style\">\n    <li>\n        <div class=\"card__content\">\n            <div class=\"card__data\">\n                \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n                <h4 class=\"card__title\">\n                    <a href=\"/presentations/ai-platform-engineering-roundtable\">Platform Engineering in the Age of AI</a>\n                </h4>\n                <p class=\"card__excerpt\">The panelists explain how platform teams adapt to support AI-assisted engineering, highlighting which capabilities belong in the platform. They discuss trade-offs between standardization and developer autonomy, while sharing strategies to manage AI tooling, security guardrails, and shifting workflows.</p>\n                <div class=\"card__footer\"></div>\n            </div>\n            \n                <a href=\"/presentations/ai-platform-engineering-roundtable\" class=\"card__header\">\n                    <img loading=\"lazy\" alt=\"Platform Engineering in the Age of AI\" src=\"https://imgopt.infoq.com/fit-in/100x100/filters:quality(80)/presentations/ai-platform-engineering-roundtable/en/smallimage/thumb-1788861349861.jpg\" class=\"card__image\"/>\n                </a>\n            \n        </div>\n    </li>\n</ul>\n\n    \n\n\n<a href=\"/devops/\" class=\"button__more button button__large button__arrow arrow__right\">All in  devops</a>\n\n                </div>\n            </div>\n        </div>\n        <div class=\"li-nav\">\n            \n            <a rel=\"noreferrer noopener\" href=\"https://events.infoq.com/\" class=\"nav__category\" title=\"Events\" target=\"_blank\">Events</a>\n        </div>\n        \n        \n    </nav>\n</div>\n\n<div>\n    <h3 class=\"widget__heading\">Helpful links</h3>\n    <ul class=\"no-style header__nav\">\n       <li>\n            <a href=\"/about-infoq\" title=\"About InfoQ\">\n                About InfoQ\n            </a>\n        </li>\n        <li>\n            <a href=\"/infoq-editors\" title=\"InfoQ Editors\">\n                InfoQ Editors\n            </a>\n        </li>\n        <li>\n            <a href=\"/write-for-infoq\" title=\"Write for InfoQ\">\n                Write for InfoQ\n            </a>\n        </li>\n        <li>\n            <a href=\"https://c4media.com/\" target=\"_blank\" title=\"About C4Media\">\n                About C4Media\n            </a>\n        </li>\n        <li>\n            <a rel=\"noreferrer noopener\" href=\"https://c4media.com/diversity\" title=\"Diversity\" target=\"_blank\">Diversity</a>\n        </li>\n    </ul>\n</div>\n\n                    \n                    <div>\n                        <h3 class=\"widget__heading\">Choose your language</h3>\n                        \n\r\n\r\n\r\n\r\n\r\n\n\n<ul class=\"language__switcher no-style\">\n\t<li class=\"active\"><a href=\"#\" onclick=\"return false;\" title=\"InfoQ English\">En</a></li>\n\t<li><a href=\"https://www.infoq.cn\">中文</a></li>\n\t<li><a href=\"/jp/\">日本</a></li>\n\t<li><a href=\"/fr/\">Fr</a></li>\n</ul>\n                    </div>\n                </div>\n                    \n            </div>\n            <div data-nosnippet class=\"actions header__bottom header__bottom__events\">\n                <div class=\"actions__left\">\n                    <div class=\"events-list\" role=\"list\" aria-label=\"Upcoming events\">\n                        <div class=\"event-item\" role=\"listitem\" data-event-type=\"certification\" data-sort-date=\"2026-09-14\">\n                            <a class=\"event-card\" href=\"https://certification.qconferences.com/architecture?utm_source=infoq&amp;utm_medium=referral&amp;utm_campaign=homepageheader_onlinecohortarchitecture26\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Online InfoQ Architect Certification, Sep 14, 2026\">\n                                <div class=\"event-date\">\n                                    <div class=\"event-date-box\" aria-hidden=\"true\"><span>Sep</span><span>14,</span><span>2026</span></div>\n                                </div>\n                                <div class=\"event-content\">\n                                    <p class=\"event-title\">Architect Certification</p>\n                                    <p class=\"event-description\">Distributed systems, decentralized decisions, platform engineering, and AI architecture. <br/><strong>Online. Register Now.</strong></p>\n                                </div>\n                            </a>\n                        </div>\n                        <div class=\"event-item\" role=\"listitem\" data-event-type=\"certification\" data-sort-date=\"2026-10-14\">\n                            <a class=\"event-card\" href=\"https://certification.qconferences.com/ai-security-privacy?utm_source=infoq&amp;utm_medium=referral&amp;utm_campaign=homepageheader_onlinecohortaisecurity26\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Online InfoQ AI Security &amp; Privacy Engineering Certification, August 26, 2026\">\n                                <div class=\"event-date\">\n                                    <div class=\"event-date-box\" aria-hidden=\"true\"><span>Oct</span><span>14,</span><span>2026</span></div>\n                                </div>\n                                <div class=\"event-content\">\n                                    <p class=\"event-title\">AI Security &amp; Privacy Engineering Certification</p>\n                                    <p class=\"event-description\">Secure and govern production AI systems, from sensitive data to guardrails, evals, and audits.<br><strong>Online. Register now.</strong></p>\n                                </div>\n                            </a>\n                        </div>\n                        <div class=\"event-item\" role=\"listitem\" data-event-type=\"certification\" data-sort-date=\"2026-10-19\">\n                            <a class=\"event-card\" href=\"https://certification.qconferences.com/ai-assisted-engineering?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_onlinecohortaiassistedengineering26\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"AI-Assisted Engineering Certification, Sep 18, 2026\">\n                                <div class=\"event-date\">\n                                    <div class=\"event-date-box\" aria-hidden=\"true\"><span>Oct</span><span>19,</span><span>2026</span></div>\n                                </div>\n                                <div class=\"event-content\">\n                                    <p class=\"event-title\">AI-Assisted Engineering Certification</p>\n                                    <p class=\"event-description\">Your coding agent moves fast. Who checks whether it's making the codebase better? <br/><strong>Online. Register Now.</strong></p>\n                                </div>\n                            </a>\n                        </div>\n                        <div class=\"event-item\" role=\"listitem\" data-event-type=\"qcon\" data-sort-date=\"2026-11-16\">\n                            <a class=\"event-card\" href=\"https://qconsf.com/?utm_source=infoq&amp;utm_medium=referral&amp;utm_campaign=homepageheader_qsf26\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"QCon San Francisco, Nov 16-20, 2026\">\n                                <div class=\"event-date\">\n                                    <div class=\"event-date-box\" aria-hidden=\"true\"><span>Nov</span><span>16-20,</span><span>2026</span></div>\n                                </div>\n                                <div class=\"event-content\">\n                                    <p class=\"event-title\">QCon San Francisco</p>\n                                    <p class=\"event-description\">What's working across AI, architecture, and leadership, from the teams doing it. <br/><strong>Register. Early bird ends August 11.</strong></p>\n                                </div>\n                            </a>\n                        </div>\n                        <div class=\"event-item\" role=\"listitem\" data-event-type=\"qcon\" data-sort-date=\"2026-12-15\">\n                            <a class=\"event-card\" href=\"https://newyork.qcon.ai/?utm_source=infoq&utm_medium=referral&utm_campaign=homepageheader_qainy26\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"QCon AI New York, December 15-16, 2026\">\n                                <div class=\"event-date\">\n                                    <div class=\"event-date-box\" aria-hidden=\"true\"><span>Dec</span><span>15-16,</span><span>2026</span></div>\n                                </div>\n                                <div class=\"event-content\">\n                                    <p class=\"event-title\">QCon AI New York</p>\n                                    <p class=\"event-description\">Production AI across agents, context, evals, security, and infrastructure, from the senior engineers building it.<br/><strong>Registration open.</strong></p>\n                                </div>\n                            </a>\n                        </div>\n                        <div class=\"event-item\" role=\"listitem\" data-event-type=\"qcon\" data-sort-date=\"2027-04-13\">\n                            <a class=\"event-card\" href=\"https://qconlondon.com/?utm_source=infoq&amp;utm_medium=referral&amp;utm_campaign=homepageheader_qconlondon27\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"QCon London, April 13-16, 2027\">\n                                <div class=\"event-date\">\n                                    <div class=\"event-date-box\" aria-hidden=\"true\"><span>Apr</span><span>13-16,</span><span>2027</span></div>\n                                </div>\n                                <div class=\"event-content\">\n                                    <p class=\"event-title\">QCon London</p>\n                                    <p class=\"event-description\">What early-adopter teams have proven in production, across 15 engineering tracks. <br/><strong> Register. Early bird ends August 11.</strong></p>\n                                </div>\n                            </a>\n                        </div>\n                    </div>\n                </div>\n                <!---->\n            </div>\n        </div>\n    </div>\n</header>\n\n            \n\n                <!--\t#######\t\tCONTENT START\t#########\t -->\n                <main>\n                    \n\t<article data-type=\"news\" class=\"article\">\n\t\t<section class=\"section container white\">\n\t\t\t<div class=\"container__inner\">\n\t\t\t\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n<p class=\"crumbs\">\r\n\t<span data-nosnippet><a href=\"/\" title=\"InfoQ Homepage\">InfoQ Homepage</a></span>\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n                <span data-nosnippet><a href=\"/news\" title=\"News\">News</a></span>\r\n            \r\n\t\t\r\n\t\t<span data-nosnippet class=\"active\">Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents</span>\r\n\t\r\n\t\r\n    \r\n        \r\n    \r\n</p>\r\n\n\t\t\t\t<div class=\"actions\">\n\t\t\t\t\t<div class=\"actions__left\">\n\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\n\n\n    <div class=\"article__category architecture-design\">\n        \n        <a\n\t\n\thref=\"/architecture-design/\"\n\n class=\"article__tag box--info\" title=\"Architecture &amp; Design\">\n\n            Architecture &amp; Design\n        </a>\n\n    </div>\n\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"actions__right\">\n\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\n\n\n\n\n\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"actions heading__container article__heading\">\n\t\t\t\t\t<div class=\"actions__left\">\n\t\t\t\t\t\t<h1 class=\"heading\">\n\t\t\t\t\t\t\tGoogle and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t\t\n\r\n\r\n\r\n\r\n\r\n\n\n\n\n\t\t\n\t\t\n\n<script type=\"text/javascript\">\n\t$(\"#translated_\"+InfoQConstants.userDetectedCountryCode.toLowerCase()).show();\n</script>\n\t\t\t\t\n\t\t\t\t<div class=\"columns article__explore\">\n\t\t\t\t\t<div class=\"column article__main\" data-col=\"4/6\">\n\t\t\t\t\t\t<div class=\"column article__metadata metadata\">\n\t\t\t\t\t\t\t<p class=\"article__readTime date\">Jul 14, 2026<span class=\"dot\"></span>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t2\n\t\t\t\t\t\t\t\t\tmin read\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<div class=\"widget article__authors\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<p class=\"meta\">by</p>\n\t\t\t\t\t\t\t\t\t\n\r\n\r\n\r\n\r\n\r\n\n\n\n\n\n\n\n\n<ul class=\"no-style authors\">\n    \n        \n            \n        \n        <li data-id=\"author-Leela-Kumili\">\n            <p class=\"meta author__bio\">\n                \n                <a href=\"/profile/Leela-Kumili/\" class=\"avatar author__avatar\" aria-label=\"Leela Kumili\"></a>\n                <span class=\"author__name\">\n                    <a href=\"/profile/Leela-Kumili/\" class=\"author__link\">Leela Kumili</a>\n                </span>\n            </p>\n            \n        </li>\n    \n</ul>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\n\n<div data-nosnippet class=\"cta_write_infoq\">\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n   <h4 class=\"heading text-left footer__heading\">Follow us on </h4>\n   <div class=\"social__links columns social__links__row\">\n      <a style=\"color:#222 !important;\" rel=\"noreferrer noopener\" href=\"https://bit.ly/4bg6QM8\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__youtube\"></span><div><span class=\"social__count\" style=\"font-weight:700 !important\">Youtube</span><span class=\"social__followers\">232K Followers</span></div></a>\n      <a style=\"color:#222 !important;\" rel=\"noreferrer noopener\" href=\"https://bit.ly/44IzAtf\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__linkedin\"></span><div><span class=\"social__count\" style=\"font-weight:700 !important\">Linkedin</span><span class=\"social__followers\">26K Followers</span></div></a>\n      <a style=\"color:#222 !important;\" rel=\"noreferrer noopener\" href=\"https://bit.ly/4eYXrtM\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__instagram\"></span><div><span class=\"social__count\" style=\"font-weight:700 !important\">Instagram</span><span class=\"social__followers\">New</span></div></a>\n      <a style=\"color:#222 !important;\" rel=\"noreferrer noopener\" href=\"https://bit.ly/3RaJalC\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__rss\"></span><div><span class=\"social__count\" style=\"font-weight:700 !important\">RSS</span><span class=\"social__followers\">19K Readers</span></div></a>\n      <a style=\"color:#222 !important;\" rel=\"noreferrer noopener\" href=\"https://bit.ly/4pfxivv\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__twitter\"></span><div><span class=\"social__count\" style=\"font-weight:700 !important\">X</span><span class=\"social__followers\">57.1k Followers</span></div></a>\n      <a style=\"color:#222 !important;\" rel=\"noreferrer noopener\" href=\"https://bit.ly/3QrGMH2\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__fb\"></span><div><span class=\"social__count\" style=\"font-weight:700 !important\">Facebook</span><span class=\"social__followers\">21K Likes</span></div></a>\n      <a style=\"color:#222 !important;\" rel=\"noreferrer noopener\" href=\"https://bit.ly/4eS8FjG\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__bluesky\"></span><div><span class=\"social__count\" style=\"font-weight:700 !important\">Bluesky</span><span class=\"social__followers\">New</span></div></a>\n   </div>\n      \n</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<div class=\"widgets\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"article__content\">\n                                \n                                \n\r\n\r\n\r\n\r\n\r\n\n    <div class=\"actions__left actions__sidebar article__actions\">\n        \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n<script type=\"application/javascript\">\nvar playing = false;\nfunction ttsPlaying(content_url) {\n    if (loggedIn && !playing) {\n        gtag('event', 'GA4_EVENT', {\n             'category': 'tts',\n             'action': 'play',\n             'label': content_url\n        });\n        playing = true;\n    }\n}\n</script>\n    \n       <div id=\"audio-overlay\" role=\"button\" tabindex=\"0\" aria-label=\"Click to open audio player\" class=\"audio-overlay-main\">\n          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n             <path d=\"M3.33337 2L12.6667 8L3.33337 14V2Z\" fill=\"currentColor\" stroke=\"currentColor\"\n                stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n          </svg>\n          <span class=\"audio-overlay-main-text\">Listen to this article -&nbsp; <span id=\"total-length\">0:00</span></span>\n       </div>\n    \n    \n       <div id=\"audio-player-container\" role=\"region\" aria-label=\"Audio player\" class=\"hidden audio-player-container-main\">\n          <div id=\"status-announcer\" aria-live=\"polite\" class=\"sr-only\">Audio ready to play</div>\n          <div>\n              <audio id=\"audio-player\" preload=\"metadata\" aria-hidden=\"true\" class=\"hidden\" onplaying=\"ttsPlaying('/news/2026/07/agentic-resource-discovery-spec');\">\n                <source src=\"\" type=\"audio/mpeg\">\n                Your browser does not support the audio element.\n             </audio>\n             <div class=\"play-container\">\n                <button id=\"play-button\" aria-label=\"Play audio\" aria-pressed=\"false\"\n                   class=\"play-button-main\">\n                   <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"none\">\n                      <path d=\"M3.33337 2L12.6667 8L3.33337 14V2Z\" fill=\"currentColor\" stroke=\"currentColor\"\n                         stroke-linecap=\"round\" stroke-linejoin=\"round\"></path>\n                   </svg>\n                </button>\n                <div class=\"audio-container\">\n                   <div class=\"audio-controls\">\n                      <span id=\"current-time\" role=\"timer\" class=\"audio-timer\">0:00</span>\n                      <div id=\"progress-container\" role=\"slider\" aria-label=\"Audio progress\" aria-valuemin=\"0\"\n                         aria-valuemax=\"100\" aria-valuenow=\"NaN\" tabindex=\"0\" class=\"audio-progress-container\"\n                         aria-valuetext=\"0:00 of NaN:NaN\">\n                         <div class=\"custom-progress-container\">\n                            <div id=\"progress-bar\" class=\"custom-progress-bar\"></div>\n                            <div id=\"progress-handle\" class=\"opacity-0 custom-progress-handle\"></div>\n                         </div>\n                         <div class=\"audio-progress-wrapper\">\n                            <div id=\"progress-bar\" class=\"audio-progress-bar\"></div>\n                            <div id=\"progress-handle\" class=\"opacity-0 audio-progress-handle\"></div>\n                         </div>\n                      </div>\n                      <span id=\"duration\" role=\"timer\" class=\"audio-timer\">0:00</span>\n                      <div class=\"flex gap-2 items-center\">\n                         <button id=\"volume-button\" aria-label=\"Toggle mute\"\n                            type=\"button\" class=\"custom-volume-button\">\n                            <svg xmlns=\"http://www.w3.org/2000/svg\"\n                               width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\"\n                               stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n                               class=\"text-muted-foreground-custom\">\n                               <polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon>\n                               <path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"></path>\n                               <path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"></path>\n                            </svg>\n                         </button>\n                         <div id=\"volume-slider\" role=\"slider\" aria-label=\"Volume\" aria-valuemin=\"0\"\n                            aria-valuemax=\"100\" aria-valuenow=\"100\" tabindex=\"0\" class=\"custom-slider\">\n                            <div class=\"audio-progress-wrapper\">\n                               <div id=\"volume-bar\" class=\"custom-volume-bar\"></div>\n                               <div id=\"volume-handle\" class=\"custom-volume-handle\"></div>\n                            </div>\n                         </div>\n                      </div>\n                      <div class=\"custom-relative-wrapper\">\n                         <button id=\"speed-button\" type=\"button\"\n                            aria-label=\"Playback speed settings\" class=\"custom-speed-button\">\n                            <svg\n                               xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\"\n                               fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\n                               stroke-linejoin=\"round\" class=\"custom-speed-button-icon\">\n                               <path\n                                  d=\"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z\">\n                               </path>\n                               <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n                            </svg>\n                         </button>\n                         <div id=\"speed-menu\" role=\"menu\" aria-orientation=\"vertical\" aria-labelledby=\"speed-button\"\n                            class=\"hidden custom-speed-menu\"><button role=\"menuitem\" tabindex=\"0\" data-speed=\"1\"\n                            data-active=\"true\" class=\"custom-speed-menu-item\">Normal</button><button\n                            role=\"menuitem\" tabindex=\"0\" data-speed=\"1.25\"\n                            class=\"custom-speed-menu-item\">1.25x</button><button role=\"menuitem\" tabindex=\"0\"\n                            data-speed=\"1.5\" class=\"custom-speed-menu-item\">1.5x</button></div>\n                      </div>\n                   </div>\n                </div>\n             </div>\n          </div>\n       </div>\n    \n\n        <button id=\"toggleLikeContent\" class=\"icon button button__icon like button__gray icon__like\" aria-label=\"Like\">Like</button>\n        \r\n\r\n\r\n\r\n\r\n\n\n   \n   <div class=\"bookmarkReading\">\n        <button id=\"bookmarkBtn\" data-ref=\"bookmarkPage\" aria-label=\"Read later\" class=\"login button__gray button button__icon icon icon__bookmark icon--only\"> </button>\n      <!-- new dropdown rading list -->\n      <div class=\"my-0 button__dropdown dropdown reading_list dropdown__center\" id=\"showBookmarks\">\n         <button aria-label=\"Reading list\" class=\"button button__unstyled button__small\"></button>\n         <div class=\"dropdown__holder\">\n            <div class=\"dropdown__content\">\n               <ul class=\"no-style dropdown__nav\">\n                  <li class=\"active\"><a href=\"/showbookmarks.action\">Reading list</a></li>\n               </ul>\n            </div>\n         </div>\n      </div>\n      \n      <div id=\"toastContainer\" class=\"toast-none toast-hide\">\n          <div class=\"toast\"><span></span></div>\n      </div>\n   </div>\n   \n\n<script type=\"text/javascript\">\n        \n        if(loggedIn){\n                $('#showBookmarks').css('display', 'flex');\n        }\n        \n        function performBookmark() {\n                Bookmarks.toggleBookmark('news', '2026/07/agentic-resource-discovery-spec');\n        }\n        \n        infoq.event.on('bookmarkRequested', function(e) {\n                Bookmarks.toggleBookmark('news', '2026/07/agentic-resource-discovery-spec');\n        });\n        \n        infoq.event.on(\"loaded\", function(){\n                if(loggedIn){\n                        var href = window.location.href;\n                        if(href.indexOf(\"#bookmarkPage\") != -1){\n                                $('#bookmarkBtn').click();\n                        }\n                }\n        });\n        \n        $(document).ready(function() {\n                if(Bookmarks.isContentBookmarked == 'true'){\n                        $('#bookmarkBtn').addClass('button__green');\n                        $('#bookmarkBtn').removeClass('button__gray');\n                }else{\n                        $('#bookmarkBtn').removeClass('button__green');\n                        $('#bookmarkBtn').addClass('button__gray');\n                }\n        });\n</script>\n\n    </div>\n                                \n\n                                <div class=\"article__data\">\n                                    <p>Google and industry partners have announced the <a href=\"https://developers.googleblog.com/announcing-the-agentic-resource-discovery-specification/\">Agentic Resource Discovery (ARD) Specification</a>, an open standard designed to enable AI agents to publish, discover, and verify external tools, APIs, and services across organizational boundaries. The specification addresses a growing gap in AI agent infrastructure, where capabilities are widely distributed but lack a common discovery and trust mechanism.</p>\r\n\r\n<p>While protocols such as the Model Context Protocol (MCP) define how an AI agent invokes a tool, ARD addresses an earlier stage in the lifecycle: how agents discover those tools in the first place. Rather than replacing existing standards, ARD is designed as a complementary discovery layer that works across frameworks and providers.</p>\r\n\r\n<p><a href=\"https://www.linkedin.com/in/shrinkrishnan/\">Srinivas Krishnan</a>, distinguished engineer at Google Cloud, highlights the motivation for ARD:</p>\r\n\r\n<blockquote>\r\n<p>The problem is simple to state and hard to solve, especially in the enterprise, where the answer can&#39;t just be &lsquo;find something that works.&rsquo; It has to be governed, with security and identity built in rather than bolted on.</p>\r\n</blockquote>\r\n\r\n<p>The specification introduces two core constructs: catalogs and registries. Organizations publish a machine-readable <code>ai-catalog.json</code> file within their domain that describes available capabilities such as tools, APIs, skills, and agent endpoints. Registries aggregate these catalogs and enable agents to search based on task intent instead of relying on hardcoded integrations or static endpoint lists. This allows agents to locate relevant resources across organizational boundaries while remaining compatible with execution standards such as MCP and OpenAPI.</p>\r\n\r\n<p>&nbsp;</p>\r\n\r\n<p id=\"gdcalert1\"><img alt=\"\" data-src=\"news/2026/07/agentic-resource-discovery-spec/en/resources/1google_agent_ard-1783311649651.jpeg\"  style=\"width: 1760px; height: 926px;\" src=\"https://imgopt.infoq.com/fit-in/3000x4000/filters:quality(85)/filters:no_upscale()/news/2026/07/agentic-resource-discovery-spec/en/resources/1google_agent_ard-1783311649651.jpeg\" rel=\"share\"></p>\r\n\r\n<p>How ARD Works (Source: <a href=\"https://developers.googleblog.com/announcing-the-agentic-resource-discovery-specification/\">Google Blog Post</a>)</p>\r\n\r\n<p>Trust and verification are central to the design. ARD includes domain-based ownership and verification mechanisms so agents can validate the authenticity of discovered resources before establishing connections. This is intended to reduce risk in environments where autonomous agents may trigger actions across third-party services and enterprise systems.</p>\r\n\r\n<p>From Reddit community discussions, one perspective highlights the value of standardization:</p>\r\n\r\n<blockquote>\r\n<p>A uniform baseline protocol makes it easier to build alternatives without needing to interpret many different proprietary documentation formats.</p>\r\n</blockquote>\r\n\r\n<p>However, <a href=\"https://www.reddit.com/r/PromptEngineering/comments/1u8ucrw/comment/osbqhkb/?utm_source=share&amp;utm_medium=web3x&amp;utm_name=web3xcss&amp;utm_term=1&amp;utm_content=share_button\">discussions</a> also point out that the effectiveness of such systems will depend on the quality of exposed tools and the access or pricing models associated with them.</p>\r\n\r\n<p>The specification was developed with contributions from <a href=\"https://commandline.microsoft.com/agentic-resource-discovery-specification-ard/\">Microsoft</a>, <a href=\"https://github.blog/changelog/2026-06-17-agent-finder-for-github-copilot-now-available/\">GitHub</a>, <a href=\"https://huggingface.co/blog/agentic-resource-discovery-launch\">Hugging Face</a>, <a href=\"https://outshift.cisco.com/blog/ai-ml/agentic-resource-discover-specification-helps-agents-find-each-other\">Cisco</a>, Databricks, <a href=\"https://www.godaddy.com/resources/news/building-the-open-agentic-web-why-identity-and-discovery-must-work-together\">GoDaddy</a>, NVIDIA, Salesforce, ServiceNow, and <a href=\"https://www.snowflake.com/en/blog/agentic-resource-discovery-specification/\">Snowflake</a>. Early implementations have already emerged, including GitHub&rsquo;s Agent Finder in Copilot and Hugging Face&rsquo;s Discover Tool, both leveraging ARD for runtime capability discovery.</p>\r\n\r\n<p><a href=\"https://www.linkedin.com/in/jennifermarsman/\">Jennifer Marsman,</a>&nbsp;principal engineer in AI at Microsoft, <a href=\"https://www.linkedin.com/posts/jennifermarsman_breaking-news-today-the-agentic-resource-activity-7473050761665511424-7z4x?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAArnikgBqzTxA9Y838-O55QUcB2McACIq94\">notes</a>:</p>\r\n\r\n<blockquote>\r\n<p>The goal isn&rsquo;t a single global catalog of every resource. There will be many discovery services, each defined by what it indexes, whom it serves, and how it ranks&hellip; ARD helps AI clients discover capabilities, but it doesn&rsquo;t replace authentication, authorization, governance, or organizational trust decisions.</p>\r\n</blockquote>\r\n\r\n<p>The ARD specification is currently available with reference <a href=\"https://agenticresourcediscovery.org/how_to_publish/#step-1-create-the-manifest-ai-catalogjson\">implementations</a> and documentation, allowing organizations to experiment with publishing capability catalogs and exploring the federation model defined in the <a href=\"https://github.com/ards-project/ard-spec\">specification</a>. It includes schemas, trust mechanisms, and guidelines for interoperability across discovery services. The broader ecosystem is expected to evolve through community contributions, including implementation feedback and extensions to the schema and governance model.</p>\r\n\n                                    \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n  \n    <div class=\"author-section-full\"> <!-- main wrapper for authors section -->\n        <h2>About the Author</h2> <!-- section title -->\n\n        \n            \n                \n            \n            <div class=\"author\" data-id=\"author-Leela-Kumili\"> <!-- main wrapper for each author -->\n                <a href=\"/profile/Leela-Kumili/\" class=\"avatar author__avatar\" aria-label=\"Leela Kumili\"> </a>\n                <div class=\"content-author\">\n                    <h4><strong>Leela Kumili</strong></h4>\n                    <div class=\"show-author-bio\">\n                        <p>\n                            <!-- author bio will be inserted by frontend -->\n                        </p>\n                        <span>\n                            <div class=\"icon button-icon icon__plus-circle\"></div><span class=\"show-more\">Show more</span><span class=\"show-less\">Show less</span>\n                        </span>\n                    </div>\n                </div>\n            </div>\n        \n    </div>\n\n                                </div>\n\n                                \n                                \n                                    \n                                        \n                                        \n                                        \n                                        \n                                            \n                                            \n                                        \n                                        \n                                            \n                                        \n                                    \n                                \n                                \n\n                                \r\n\r\n\r\n\r\n\r\n\n\n\n\n\n<input type=\"hidden\" name=\"\" value=\"Thank you for your review!\" id=\"cr_messages_submitSuccess\"/>\n\n<input type=\"hidden\" name=\"\" value=\"Rating is required\" id=\"cr_messages_ratingRequired\"/>\n\n<input type=\"hidden\" name=\"\" value=\"Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents\" id=\"cr_item_title\"/>\n\n<input type=\"hidden\" name=\"\" value=\"Leela Kumili\" id=\"cr_item_author\"/>\n\n<input type=\"hidden\" name=\"\" value=\"http://www.infoq.com/news/2026/07/agentic-resource-discovery-spec/\" id=\"cr_item_url\"/>\n\n<input type=\"hidden\" name=\"\" value=\"news\" id=\"cr_item_ctype\"/>\n\n<input type=\"hidden\" name=\"\" value=\"en\" id=\"cr_item_lang\"/>\n\n<input type=\"hidden\" name=\"\" value=\"1784036400000\" id=\"cr_item_published_time\"/>\n\n<input type=\"hidden\" name=\"\" value=\"2498\" id=\"cr_item_primary_topic\"/>\n\n<script type=\"text/javascript\">\n    ContentRating.readMessages();\n    ContentRating.readContentItem();\n</script>\n<form class=\"box__border box form rate contentRatingWidget\">\n    <h3 class=\"heading\">Rate this Article</h3>\n    <div class=\"criterias\">\n        <div class=\"crit\" id=\"relevance_fieldset\">\n            <div class=\"crit__name\">Adoption</div>\n            <span class=\"stars\">\n                <input type=\"radio\" id=\"relevance-star5\" name=\"rating-relevance\" value=\"5\" /><label class=\"star\" for=\"relevance-star5\" title=\"Innovator\"></label>\n                <input type=\"radio\" id=\"relevance-star4\" name=\"rating-relevance\" value=\"4\" /><label class=\"star\" for=\"relevance-star4\" title=\"Early adopter\"></label>\n                <input type=\"radio\" id=\"relevance-star3\" name=\"rating-relevance\" value=\"3\" /><label class=\"star\" for=\"relevance-star3\" title=\"Early majority\"></label>\n                <input type=\"radio\" id=\"relevance-star2\" name=\"rating-relevance\" value=\"2\" /><label class=\"star\" for=\"relevance-star2\" title=\"Late majority\"></label>\n                <input type=\"radio\" id=\"relevance-star1\" name=\"rating-relevance\" value=\"1\" /><label class=\"star\" for=\"relevance-star1\" title=\"Laggards\"></label>\n            </span>\n            <span class=\"stars__total\"></span>\n        </div>\n        <div class=\"crit\" id=\"style_fieldset\">\n            <div class=\"crit__name\">Style</div>\n            <span class=\"stars\">\n                <input type=\"radio\" id=\"style-star5\" name=\"rating-style\" value=\"5\" /><label class=\"star\" for=\"style-star5\" title=\"Exceptional\"></label>\n                <input type=\"radio\" id=\"style-star4\" name=\"rating-style\" value=\"4\" /><label class=\"star\" for=\"style-star4\" title=\"Good\"></label>\n                <input type=\"radio\" id=\"style-star3\" name=\"rating-style\" value=\"3\" /><label class=\"star\" for=\"style-star3\" title=\"Average\"></label>\n                <input type=\"radio\" id=\"style-star2\" name=\"rating-style\" value=\"2\" /><label class=\"star\" for=\"style-star2\" title=\"Acceptable\"></label>\n                <input type=\"radio\" id=\"style-star1\" name=\"rating-style\" value=\"1\" /><label class=\"star\" for=\"style-star1\" title=\"Poor\"></label>\n            </span>\n            <span class=\"stars__total\"></span>\n        </div>\n    </div>\n</form>\n\n<div class=\"reviews tabs contentRatingWidget\">\n    <div id=\"editorReview\" class=\"tab\" data-title=\"Editor Review\">\n        <form class=\"box__border form contentRatingWidget\" onsubmit=\"return false;\">\n            <span class=\"field input__textarea\" aria-required=\"false\">\n                <textarea id=\"editor_input\" placeholder=\"Click to leave your review...\" name=\"textarea\" value=\"\" class=\"field__input\"></textarea>\n                <p class=\"input__message field__desc serverCallFeedback\"></p>\n            </span>\n            <input class=\"button button__large submit_rating\" type=\"submit\" value=\"Submit\"/>\n        </form>\n    </div>\n\n    <div id=\"chiefEditorReview\" class=\"tab\" data-title=\"Chief Editor Action\">\n        <form class=\"box__border form contentRatingWidget\" onsubmit=\"return false;\">\n            <span class=\"field input__textarea\">\n                <textarea id=\"chiefEditor_input\" placeholder=\"Chief Editor action...\" value=\"\" class=\"field__input\"></textarea>\n                <p class=\"input__message field__desc serverCallFeedback\"></p>\n            </span>\n\n            <div class=\"actions\">\n                <div class=\"actions__left\">\n                    <input class=\"button button__large submit_rating\" type=\"submit\" value=\"Submit\"/>\n                </div>\n                <div class=\"actions__right\">\n                    <span class=\"field input__checkbox input--small\">\n                        <input type=\"checkbox\" id=\"auth-checkbox\" />\n                        <label class=\"label\" for=\"auth-checkbox\"><span></span> Author Contacted</label>\n                    </span>\n                </div>\n            </div>\n        </form>\n    </div>\n</div>\n\n<script type=\"text/javascript\">\n    if (!InfoQConstants.editorUser || InfoQConstants.editorUser == 'false') {\n       $('.contentRatingWidget').remove();\n    } else {\n        \n        if (InfoQConstants.chiefEditor !== 'undefined' && InfoQConstants.chiefEditor == 'false') {\n            $('#chiefEditorReview').remove();\n        }\n    }\n</script>\n\n                                \n                                \r\n\r\n\r\n\r\n\r\n\n\n<div class=\"widget article__fromTopic topics\">\n    \n        <div class=\"widget__head related__for-topic\" data-id=\"7823\" data-trk-ref=\"content_primary_topic\">\n            <h4 class=\"heading related__heading\">\n                \n                \n                    \n                This content is in the <a href='/Specification/'>Specification</a> topic\n            </h4>\n        </div>\n    \n    <h5 class=\"heading related__inline\">Related Topics:</h5>\n    <ul class=\"no-style topics related__topics topics__small\" data-trk-ref=\"content_related_topic\">\n         \n            \n                \n                    \n                \n                \n                <li data-id=\"6815\">\n                    <a href=\"/development/\" class=\"button related__topic button__small button__black\">Development</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"6816\">\n                    <a href=\"/architecture-design/\" class=\"button related__topic button__small button__black\">Architecture &amp; Design</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"16690\">\n                    <a href=\"/ai-ml-data-eng/\" class=\"button related__topic button__small button__black\">AI, ML &amp; Data Engineering</a>\n                </li>\n            \n        \n        \n            \n                \n                    \n                \n                \n                <li data-id=\"18691\">\n                    <a href=\"/ai-security/\" class=\"button related__topic button__small button__black\">AI Security</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"5632\">\n                    <a href=\"/Cisco/\" class=\"button related__topic button__small button__black\">Cisco</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"423\">\n                    <a href=\"/google/\" class=\"button related__topic button__small button__black\">Google</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"18625\">\n                    <a href=\"/agent2agent/\" class=\"button related__topic button__small button__black\">Agent2Agent</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"7823\">\n                    <a href=\"/Specification/\" class=\"button related__topic button__small button__black\">Specification</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"276\">\n                    <a href=\"/Microsoft/\" class=\"button related__topic button__small button__black\">Microsoft</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"18606\">\n                    <a href=\"/ai-interpretability/\" class=\"button related__topic button__small button__black\">AI Interpretability</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"18356\">\n                    <a href=\"/platformengineering/\" class=\"button related__topic button__small button__black\">Platform Engineering</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"1317\">\n                    <a href=\"/Agents/\" class=\"button related__topic button__small button__black\">Agents</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"3989\">\n                    <a href=\"/github/\" class=\"button related__topic button__small button__black\">github</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"18503\">\n                    <a href=\"/service-discovery/\" class=\"button related__topic button__small button__black\">Service Discovery</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"18577\">\n                    <a href=\"/ai-architecture/\" class=\"button related__topic button__small button__black\">AI Architecture</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"18608\">\n                    <a href=\"/model-context-protocol/\" class=\"button related__topic button__small button__black\">Model Context Protocol (MCP)</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"139\">\n                    <a href=\"/salesforce/\" class=\"button related__topic button__small button__black\">Salesforce.com</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"17854\">\n                    <a href=\"/GoDaddy/\" class=\"button related__topic button__small button__black\">GoDaddy</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"18681\">\n                    <a href=\"/ai-coding/\" class=\"button related__topic button__small button__black\">AI Coding</a>\n                </li>\n            \n                \n                    \n                \n                \n                <li data-id=\"6137\">\n                    <a href=\"/Distributed_Systems/\" class=\"button related__topic button__small button__black\">Distributed Systems</a>\n                </li>\n            \n        \n    </ul>\n</div>\n\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div id=\"zoom-container\"></div>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\n\n\n<script type=\"text/javascript\">\n    var uriMapping = \"news\";\n    var showVcr = \"true\";\n    var fillWithVcr = \"false\";\n    var sponsorshipsJson = \"{&quot;links&quot;:null}\";\n    var sponsoredLinks = $.parseJSON($(\"<div/>\").html(sponsorshipsJson).text()).links;\n    var numberOfSponsoredVcrIds = sponsoredLinks != null ? sponsoredLinks.length : 0;\n\n    var maxItems = 5 - numberOfSponsoredVcrIds;\n    var displayWidget = false;\n    var intervalVcrSponsorEditorial = setInterval(function() {\n        if (window.vcrsLoaded) {\n            clearInterval(intervalVcrSponsorEditorial);\n            if(showVcr || fillWithVcr) {\n                if(fillWithVcr) {\n                    for(var index in window.vcrList) {\n                        if(VCR.isVcrSponsored(sponsoredLinks, window.vcrList[index])) {\n                            VCR.addToExcludedList(window.vcrList[index]);\n                        }\n                    }\n                }\n                var vcrs = VCR.getByTopicsAndCommunities(window.vcrList, topicIds, communityIds, maxItems, false, null);\n                if (vcrs != null && vcrs.length > 0 || (sponsoredLinks != null && sponsoredLinks.length > 0)) {\n                    VCR.addToExcludedList(vcrs);\n                    getCommonElements(vcrs, uriMapping, \"BOTTOM\");\n                    $('.related__group').find(\".rvc__list\").css(\"display\", \"block\");\n                    displayWidget = true;\n                } else {\n                    $('.related__group').find(\".rvc__list\").parent(\"li\").remove();\n                }\n            }\n            window.contentVcrFinished = true;\n            // search for infoq.event.on(\"contentVcrFinished\",... to see how/where it is used\n            infoq.event.trigger(\"contentVcrFinished\");\n        }\n    }, 200);\n</script>\n<input type=\"hidden\" name=\"\" value=\"2498\" id=\"cont_item_primary_topic\"/>\n\n\n\n\n<script type=\"text/javascript\">\n    $(document).ready(function() {\n        $.ajax({\n            url: \"/api/recommendationlinks.action\",\n            contentType: \"application/x-www-form-urlencoded; charset=utf-8\",\n            type: 'POST',\n            data: {\n                \"primaryTopicAlias\": \"architecture-design\",\n                \"topicIds\": \"7171,1651,419,7105,3232,272,7086,6865,854,1146,6992,7057,7088,136,6402,7161,1964\",\n                \"title\": \"Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents\",\n                \"contentPath\": \"/news/2026/07/agentic-resource-discovery-spec\",\n                \"language\": \"en\"\n            },\n            success: displayRelatedEditorial,\n            async: false\n        });\n    });\n\n    function displayRelatedEditorial(data) {\n        $('.related__editorial h4').text(\"Related Editorial\");\n        if (data && data.length > 0) {\n            if(data[0].fromEs) {\n                //change title and tracking params\n                var box_title=\"Architecture &amp; Design\";\n                //replace html entity since it conflicts with style\n                box_title=box_title.replace(\"&amp;\",\"&\");\n                $('.related__editorial h4').text(\"Popular in \" + box_title);\n            }\n            for (var i = 0; i < data.length; i++) {\n                if (i === 5) {\n                    break;\n                }\n                if (data[i].url.indexOf(\"/news/2026/07/agentic-resource-discovery-spec\") !== -1) {\n                    console.log(\"Removing the current item from list...\");\n                    continue;\n                }\n                var theLinkURL = data[i].url;\n                if(!theLinkURL.endsWith(\"/\")) {\n                    theLinkURL = theLinkURL + \"/\";\n                }\n                var link = $('<li><h5 class=\"rvc__title\"><a title=\"\" href=\"' + theLinkURL + '\">' + data[i].title + '</a></h5></li>');\n                $('.related__editorial ul').append(link);\n            }\n            $('.related__editorial').show();\n            displayWidget = true;\n        }else{\n            $('.related__editorial').parent(\"li\").remove();\n        }\n        \n        if(displayWidget==true){\n            $('.related__group').attr(\"data-cols\", $('.related__group').find(\">li\").length);\n            $('.related__group').css(\"display\", \"flex\");\n        }\n    }\n</script>\n\n<ul class=\"no-style related__group nocontent cards\">\n    <li>\n        <div class=\"related__editorial\">\n            <h4 class=\"heading\">Related Editorial</h4>\n            <ul></ul>\n        </div>\n    </li>\n    <li>\n        <ul class=\"no-style rvc__list f_rvcbox\" data-place=\"BOTTOM\" data-trk-view=\"true\" data-trk-impr=\"true\"\n            \n            \n                style=\"display: none\"\n            \n        >\n            <h4 class=\"heading\">Related Sponsors</h4>\n            \n            <div class=\"f_rvcList\"></div>\n            \n                \n            \n        </ul>\n    </li>\n    \n    \n    \n        \n        <li class=\"bg-gray is-movable\">\n            <div class=\"related__prsp\">\n                <h4 class=\"heading\">Popular across InfoQ</h4>\n                <ul>\n                    \n                    <li>\n                        <h5 class=\"rvc__title\">\n                            \n                            <a href=\"/news/2026/09/meta-astryx-design-system/\" class=\"rvc__link\">\n                                Meta Open-Sources Astryx, its Agent-Ready React Design System\n                            </a>\n                        </h5>\n                    </li>\n                    \n                    <li>\n                        <h5 class=\"rvc__title\">\n                            \n                            <a href=\"/news/2026/09/esp32-bitpirate-web/\" class=\"rvc__link\">\n                                ESP32 Bit Pirate: Bridging Modern Microcontrollers and Browser-Based Hardware Debugging\n                            </a>\n                        </h5>\n                    </li>\n                    \n                    <li>\n                        <h5 class=\"rvc__title\">\n                            \n                            <a href=\"/news/2026/09/netflix-conductor-4-workflow/\" class=\"rvc__link\">\n                                Netflix Reworks Conductor for 420 Million Monthly Workflow Executions and 10X Larger Workflows\n                            </a>\n                        </h5>\n                    </li>\n                    \n                    <li>\n                        <h5 class=\"rvc__title\">\n                            \n                            <a href=\"/news/2026/09/ios-27-virtualization/\" class=\"rvc__link\">\n                                Open-Source Project Brings Full iOS 27 Virtualization to Apple Silicon\n                            </a>\n                        </h5>\n                    </li>\n                    \n                    <li>\n                        <h5 class=\"rvc__title\">\n                            \n                            <a href=\"/articles/when-spec-driven-development-pays-off/\" class=\"rvc__link\">\n                                When Spec-Driven Development Pays off\n                            </a>\n                        </h5>\n                    </li>\n                    \n                    <li>\n                        <h5 class=\"rvc__title\">\n                            \n                            <a href=\"/podcasts/train-developers-ai-routine-work/\" class=\"rvc__link\">\n                                How Will We Train Developers If AI Does the Routine Work: A Conversation with Scott Hanselman\n                            </a>\n                        </h5>\n                    </li>\n                    \n                </ul>\n            </div>\n        </li>\n        \n    \n</ul>\n\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"column article__more f_article_rightbar\" data-col=\"2/6\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\n<script type=\"text/javascript\">\n    window.finishedRightbarVcr = false;\n\n    var _gaq = _gaq || [];\n\tvar recomJson =\"[{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788186480000,&quot;url&quot;:&quot;/news/2026/08/doordash-flux-cloud-agent&quot;,&quot;title&quot;:&quot;DoorDash’s Flux Runs 130,000 Engineering Tasks through Cloud-Based Agents&quot;,&quot;authorsList&quot;:[&quot;Leela Kumili&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/doordash-flux-cloud-agent&quot;,&quot;score&quot;:101697,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788078180000,&quot;url&quot;:&quot;/news/2026/08/kiro-crew-coding-agents&quot;,&quot;title&quot;:&quot;AWS Open Sources Kiro Crew for Asynchronous Coding Agents&quot;,&quot;authorsList&quot;:[&quot;Renato Losio&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/kiro-crew-coding-agents&quot;,&quot;score&quot;:100566,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1789376400000,&quot;url&quot;:&quot;/news/2026/09/metr-hugging-face-hack-report&quot;,&quot;title&quot;:&quot;Independent Investigation of Hugging Face Incident Reveals How Agents Collaborated and Behaved&quot;,&quot;authorsList&quot;:[&quot;Sergio De Simone&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/metr-hugging-face-hack-report&quot;,&quot;score&quot;:97751,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787321340000,&quot;url&quot;:&quot;/news/2026/08/cloudflare-astro-ai-agents&quot;,&quot;title&quot;:&quot;Cloudflare Cuts Astro GitHub Issues by 85% with AI Agents&quot;,&quot;authorsList&quot;:[&quot;Leela Kumili&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/cloudflare-astro-ai-agents&quot;,&quot;score&quot;:92989,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788976800000,&quot;url&quot;:&quot;/news/2026/09/meta-organizational-agents&quot;,&quot;title&quot;:&quot;Meta's Recipe for Building Agents as \\\\\\&quot;Organizational Second Brains\\\\\\&quot;&quot;,&quot;authorsList&quot;:[&quot;Sergio De Simone&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/meta-organizational-agents&quot;,&quot;score&quot;:92558,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788677940000,&quot;url&quot;:&quot;/news/2026/09/figma-security-agents&quot;,&quot;title&quot;:&quot;How Figma Uses AI Agents for Security&quot;,&quot;authorsList&quot;:[&quot;Renato Losio&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/figma-security-agents&quot;,&quot;score&quot;:89897,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788696000000,&quot;url&quot;:&quot;/news/2026/09/google-mantis-vulnerability-scan&quot;,&quot;title&quot;:&quot;Google Mantis: an Agentic Vulnerability Scanning Harness for Reducing False Positives&quot;,&quot;authorsList&quot;:[&quot;Sergio De Simone&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/google-mantis-vulnerability-scan&quot;,&quot;score&quot;:89736,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788288420000,&quot;url&quot;:&quot;/news/2026/09/openclaw-2-release&quot;,&quot;title&quot;:&quot;OpenClaw 2.0 Releases with Simplified Setup and Collaborative Agents&quot;,&quot;authorsList&quot;:[&quot;Daniel Dominguez&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/openclaw-2-release&quot;,&quot;score&quot;:85398,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788116400000,&quot;url&quot;:&quot;/news/2026/08/cloudflare-ai-search&quot;,&quot;title&quot;:&quot;Cloudflare Extends AI Search to Make it Easier for Agents and Developers to Search Custom Data&quot;,&quot;authorsList&quot;:[&quot;Sergio De Simone&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/cloudflare-ai-search&quot;,&quot;score&quot;:83805,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787842800000,&quot;url&quot;:&quot;/news/2026/08/google-database-operation-agents&quot;,&quot;title&quot;:&quot;Google Cloud Launches AI-powered Agents to Simplify Database Lifecycle Management&quot;,&quot;authorsList&quot;:[&quot;Sergio De Simone&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/google-database-operation-agents&quot;,&quot;score&quot;:81549,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787727600000,&quot;url&quot;:&quot;/news/2026/08/diagrid-catalyst-ai-agents&quot;,&quot;title&quot;:&quot;Diagrid Catalyst 2.0 Adds Durable and Verifiable Execution for AI Agents&quot;,&quot;authorsList&quot;:[&quot;Mark Silvester&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/diagrid-catalyst-ai-agents&quot;,&quot;score&quot;:80847,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787508000000,&quot;url&quot;:&quot;/news/2026/08/google-heir-homomorphic-llm&quot;,&quot;title&quot;:&quot;Google's HEIR Aims to Make Homomorphic-Encrypted Inference a One-Click Capability&quot;,&quot;authorsList&quot;:[&quot;Sergio De Simone&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/google-heir-homomorphic-llm&quot;,&quot;score&quot;:78789,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787410860000,&quot;url&quot;:&quot;/news/2026/08/cloudflare-kitesurf-browser&quot;,&quot;title&quot;:&quot;Cloudflare Announces Kitesurf, a Browser Engine for Agents&quot;,&quot;authorsList&quot;:[&quot;Renato Losio&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/cloudflare-kitesurf-browser&quot;,&quot;score&quot;:78118,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787385600000,&quot;url&quot;:&quot;/news/2026/08/aws-bench-agent-evaluation&quot;,&quot;title&quot;:&quot;AWS Releases aws-bench to Evaluate Agents on Cloud Tasks&quot;,&quot;authorsList&quot;:[&quot;Gianmarco Nalin&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/aws-bench-agent-evaluation&quot;,&quot;score&quot;:78118,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/enterprise-data-architecture-ai-agents/en/smallimage/fabiane-nardon-thumbnail-1787218382028.jpeg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1788001200000,&quot;url&quot;:&quot;/presentations/enterprise-data-architecture-ai-agents&quot;,&quot;title&quot;:&quot;Architecting the Data Layer for AI Agents: from Transactional Systems to MCP and Semantic Models&quot;,&quot;authorsList&quot;:[&quot;Fabiane Nardon&quot;],&quot;itemPath&quot;:&quot;/presentations/enterprise-data-architecture-ai-agents&quot;,&quot;score&quot;:74780,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/ai-agentic-recommendations-semantic-ids/en/smallimage/sudeep-das-thumbnail-1785845550765.jpeg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1786791600000,&quot;url&quot;:&quot;/presentations/ai-agentic-recommendations-semantic-ids&quot;,&quot;title&quot;:&quot;From Models to Agents: Building Context-Aware Consumer AI at Scale at DoorDash&quot;,&quot;authorsList&quot;:[&quot;Sudeep Das&quot;],&quot;itemPath&quot;:&quot;/presentations/ai-agentic-recommendations-semantic-ids&quot;,&quot;score&quot;:70415,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/agent-software-engineering/en/smallimage/jake-thumbnail-1784183841742.jpeg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1784721420000,&quot;url&quot;:&quot;/presentations/agent-software-engineering&quot;,&quot;title&quot;:&quot;From Copy-Paste to Composition: Building Agents Like Real Software&quot;,&quot;authorsList&quot;:[&quot;Jake Mannix&quot;],&quot;itemPath&quot;:&quot;/presentations/agent-software-engineering&quot;,&quot;score&quot;:63201,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/postgres-ai-agents/en/smallimage/gwen-shapira-thumbnail-1783500671134.jpeg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1784120220000,&quot;url&quot;:&quot;/presentations/postgres-ai-agents&quot;,&quot;title&quot;:&quot;Postgres for Production Agents: Your Relational Foundation for Enterprise AI&quot;,&quot;authorsList&quot;:[&quot;Gwen Shapira&quot;],&quot;itemPath&quot;:&quot;/presentations/postgres-ai-agents&quot;,&quot;score&quot;:61101,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/data-aware-ai-agents/en/smallimage/bonnie-xu-thumbnail-1781164411672.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1781870520000,&quot;url&quot;:&quot;/presentations/data-aware-ai-agents&quot;,&quot;title&quot;:&quot;AI Agents to Make Sense of Data at OpenAI&quot;,&quot;authorsList&quot;:[&quot;Bonnie Xu&quot;],&quot;itemPath&quot;:&quot;/presentations/data-aware-ai-agents&quot;,&quot;score&quot;:53301,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/articles/securing-autonomous-ai-agents-kubernetes/en/smallimage/securing-autonomous-ai-agents-kubernetes-thumbnail-1777378848477.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1777626000000,&quot;url&quot;:&quot;/articles/securing-autonomous-ai-agents-kubernetes&quot;,&quot;title&quot;:&quot;Securing Autonomous AI Agents on Kubernetes: Trust Boundaries, Secrets, and Observability for a New Category of Cloud Workload&quot;,&quot;authorsList&quot;:[&quot;Nik Kale&quot;],&quot;itemPath&quot;:&quot;/articles/securing-autonomous-ai-agents-kubernetes&quot;,&quot;score&quot;:50001,&quot;contentType&quot;:&quot;articles&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/coding-agents/en/smallimage/Adrian-Cockcroft-thumbnail-1774443559104.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1775121540000,&quot;url&quot;:&quot;/presentations/coding-agents&quot;,&quot;title&quot;:&quot;Directing a Swarm of Agents for Fun and Profit&quot;,&quot;authorsList&quot;:[&quot;Adrian Cockcroft&quot;],&quot;itemPath&quot;:&quot;/presentations/coding-agents&quot;,&quot;score&quot;:50001,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787927400000,&quot;url&quot;:&quot;/news/2026/08/uber-gitfarm-git-as-a-service&quot;,&quot;title&quot;:&quot;Uber Builds GitFarm to Run Git Operations as a Service for Large-Scale Monorepos&quot;,&quot;authorsList&quot;:[&quot;Leela Kumili&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/uber-gitfarm-git-as-a-service&quot;,&quot;score&quot;:16474,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787644800000,&quot;url&quot;:&quot;/news/2026/08/cursor-origin-alternative-github&quot;,&quot;title&quot;:&quot;Cursor Releases Origin as an Agent-Native Alternative to GitHub&quot;,&quot;authorsList&quot;:[&quot;Matt Saunders&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/cursor-origin-alternative-github&quot;,&quot;score&quot;:16025,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/articles/when-spec-driven-development-pays-off/en/smallimage/When-Spec-Driven-Development-Pays-Off-thumb-1788790605567.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1789030800000,&quot;url&quot;:&quot;/articles/when-spec-driven-development-pays-off&quot;,&quot;title&quot;:&quot;When Spec-Driven Development Pays off&quot;,&quot;authorsList&quot;:[&quot;Nitin Garg&quot;],&quot;itemPath&quot;:&quot;/articles/when-spec-driven-development-pays-off&quot;,&quot;score&quot;:15639,&quot;contentType&quot;:&quot;articles&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787202300000,&quot;url&quot;:&quot;/news/2026/08/deep-seek-harness&quot;,&quot;title&quot;:&quot;The Open-Sourcing of DeepSeek Harness Opens the Door to Modular, Unbundled AI Agent Infrastructure&quot;,&quot;authorsList&quot;:[&quot;Olimpiu Pop&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/deep-seek-harness&quot;,&quot;score&quot;:15370,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787054400000,&quot;url&quot;:&quot;/news/2026/08/github-stacked-pull-requests&quot;,&quot;title&quot;:&quot;GitHub Brings Stacked Pull Requests to Public Preview&quot;,&quot;authorsList&quot;:[&quot;Craig Risi&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/github-stacked-pull-requests&quot;,&quot;score&quot;:15128,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/architecture-context-engineering/en/smallimage/partick-baruch-thumbnail-1786008501700.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1786705200000,&quot;url&quot;:&quot;/presentations/architecture-context-engineering&quot;,&quot;title&quot;:&quot;The Right 300 Tokens Beat 100k Noisy Ones: The Architecture of Context Engineering&quot;,&quot;authorsList&quot;:[&quot;Patrick Debois&quot;,&quot;Baruch Sadogursky&quot;],&quot;itemPath&quot;:&quot;/presentations/architecture-context-engineering&quot;,&quot;score&quot;:14035,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/spotify-ai-codebase-migration-agent/en/smallimage/thumbnail-1784809804876.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1786100400000,&quot;url&quot;:&quot;/presentations/spotify-ai-codebase-migration-agent&quot;,&quot;title&quot;:&quot;Rewriting All of Spotify's Code Base, All the Time&quot;,&quot;authorsList&quot;:[&quot;Jo Kelly-Fenton&quot;,&quot;Aleksandar Mitic&quot;],&quot;itemPath&quot;:&quot;/presentations/spotify-ai-codebase-migration-agent&quot;,&quot;score&quot;:13601,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/articles/spring-team-spring-7-boot-4/en/smallimage/spring-team-spring-7-boot-4-thumbnail-1775634533622.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1776078000000,&quot;url&quot;:&quot;/articles/spring-team-spring-7-boot-4&quot;,&quot;title&quot;:&quot;The Spring Team on Spring Framework 7 and Spring Boot 4&quot;,&quot;authorsList&quot;:[&quot;Karsten Silz&quot;,&quot;Phil Webb&quot;,&quot;Sam Brannen&quot;,&quot;Rossen Stoyanchev&quot;,&quot;Mark Pollack&quot;,&quot;Martin Lippert&quot;,&quot;Michael Minella&quot;],&quot;itemPath&quot;:&quot;/articles/spring-team-spring-7-boot-4&quot;,&quot;score&quot;:10000,&quot;contentType&quot;:&quot;articles&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/articles/ai-agent-transport-layer/en/smallimage/ai-agent-transport-layer-thumbnail-1775031603285.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1775638800000,&quot;url&quot;:&quot;/articles/ai-agent-transport-layer&quot;,&quot;title&quot;:&quot;Stateful Continuation for AI Agents: Why Transport Layers Now Matter&quot;,&quot;authorsList&quot;:[&quot;Anirudh Mendiratta&quot;],&quot;itemPath&quot;:&quot;/articles/ai-agent-transport-layer&quot;,&quot;score&quot;:10000,&quot;contentType&quot;:&quot;articles&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/articles/evolutionary-architecture-pattern/en/smallimage/evolutionary-architecture-pattern-thumbnail-1784798616611.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1785150000000,&quot;url&quot;:&quot;/articles/evolutionary-architecture-pattern&quot;,&quot;title&quot;:&quot;An Evolutionary Architecture Pattern for Managing AI’s Pace of Change&quot;,&quot;authorsList&quot;:[&quot;Joe Price&quot;,&quot;Branimir Đurek&quot;,&quot;Pavlos Migkiros&quot;,&quot;Trevor Dearham&quot;],&quot;itemPath&quot;:&quot;/articles/evolutionary-architecture-pattern&quot;,&quot;score&quot;:273,&quot;contentType&quot;:&quot;articles&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1789569720000,&quot;url&quot;:&quot;/news/2026/09/dropbox-riviera-ai-platform&quot;,&quot;title&quot;:&quot;Dropbox Evolves Riviera Content Processing Platform to Support AI Workloads&quot;,&quot;authorsList&quot;:[&quot;Leela Kumili&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/dropbox-riviera-ai-platform&quot;,&quot;score&quot;:240,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/minibooks/next-gen-architecture-ai-era/en/smallimage/thumb-image-emag-next-gen-architecture-playbook-1787922032442.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1788519600000,&quot;url&quot;:&quot;/minibooks/next-gen-architecture-ai-era&quot;,&quot;title&quot;:&quot;Next-Gen Architecture Playbook: Insights and Patterns for the AI Era&quot;,&quot;authorsList&quot;:[&quot;InfoQ&quot;],&quot;itemPath&quot;:&quot;/minibooks/next-gen-architecture-ai-era&quot;,&quot;score&quot;:226,&quot;contentType&quot;:&quot;minibooks&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787579340000,&quot;url&quot;:&quot;/news/2026/08/microsoft-ai-governance&quot;,&quot;title&quot;:&quot;Microsoft Moves AI Governance from Policy to Runtime Enforcement&quot;,&quot;authorsList&quot;:[&quot;Leela Kumili&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/microsoft-ai-governance&quot;,&quot;score&quot;:192,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/minibooks/architect-sociotechnical-craft/en/smallimage/thumb-1787566215701.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1787311800000,&quot;url&quot;:&quot;/minibooks/architect-sociotechnical-craft&quot;,&quot;title&quot;:&quot;Architecture as a Socio-Technical Craft&quot;,&quot;authorsList&quot;:[&quot;InfoQ&quot;],&quot;itemPath&quot;:&quot;/minibooks/architect-sociotechnical-craft&quot;,&quot;score&quot;:190,&quot;contentType&quot;:&quot;minibooks&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788868800000,&quot;url&quot;:&quot;/news/2026/09/gitlab-ai-sandbox-access&quot;,&quot;title&quot;:&quot;GitLab Warns That AI Agent Sandboxes Are Only as Secure as Their Network Access&quot;,&quot;authorsList&quot;:[&quot;Craig Risi&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/gitlab-ai-sandbox-access&quot;,&quot;score&quot;:183,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1788604800000,&quot;url&quot;:&quot;/news/2026/09/google-beyond-zero&quot;,&quot;title&quot;:&quot;Beyond Zero: Google Publishes Successor to BeyondCorp&quot;,&quot;authorsList&quot;:[&quot;Renato Losio&quot;],&quot;itemPath&quot;:&quot;/news/2026/09/google-beyond-zero&quot;,&quot;score&quot;:177,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:null,&quot;topicsIds&quot;:null,&quot;date&quot;:1787227200000,&quot;url&quot;:&quot;/news/2026/08/ai-assisted-engineering&quot;,&quot;title&quot;:&quot;InfoQ Opens Enrollment for New AI-Assisted Engineering Online Certification Program&quot;,&quot;authorsList&quot;:[&quot;Artenisa Chatziou&quot;],&quot;itemPath&quot;:&quot;/news/2026/08/ai-assisted-engineering&quot;,&quot;score&quot;:169,&quot;contentType&quot;:&quot;news&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/doordash-llm-ai-moderation-platform/en/smallimage/bruna-pereira-thumbnail-1786539036040.jpeg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1787396400000,&quot;url&quot;:&quot;/presentations/doordash-llm-ai-moderation-platform&quot;,&quot;title&quot;:&quot;SafeChat: Building AI-Powered Safety Systems at Scale in a Real-Time Marketplace&quot;,&quot;authorsList&quot;:[&quot;Bruna Pereira&quot;],&quot;itemPath&quot;:&quot;/presentations/doordash-llm-ai-moderation-platform&quot;,&quot;score&quot;:160,&quot;contentType&quot;:&quot;presentations&quot;},{&quot;imageStoragePath&quot;:&quot;https://imgopt.infoq.com/fit-in/50x50/filters:quality(80)/presentations/unikraft-microvm-sandboxes-cloud-scaling/en/smallimage/felipe-huici-thumbnail-1787813506607.jpg&quot;,&quot;topicsIds&quot;:null,&quot;date&quot;:1788951600000,&quot;url&quot;:&quot;/presentations/unikraft-microvm-sandboxes-cloud-scaling&quot;,&quot;title&quot;:&quot;Fixing the AI Infra Scale Problem by Stuffing 1M Sandboxes in a Single Server&quot;,&quot;authorsList&quot;:[&quot;Felipe Huici&quot;],&quot;itemPath&quot;:&quot;/presentations/unikraft-microvm-sandboxes-cloud-scaling&quot;,&quot;score&quot;:157,&quot;contentType&quot;:&quot;presentations&quot;}]\";\n\tvar whitepaperVcrsJson = null;\n\tvar topicSponsorshipJson = \"\";\n\tvar vcrOptionalListJson = null;\n\t/* do not delete these two, as they are used further in the code */\n\tvar contentDatetimeFormat='MMM dd, yyyy';\n\tvar contentUriMapping=\"news\";\n\tJSi18n.relatedRightbar_relatedContent='Related Content';\n\tJSi18n.relatedRightbar_sponsoredContent='Related Sponsors';\n\tJSi18n.relatedRightbar_sponsoredBy='Sponsored by';\n\n\tvar topicIds = \"7171,1651,419,7105,3232,272,7086,6865,854,1146,6992,7057,7088,136,6402,7161,1964\";\n\tvar communityIds = \"2497,2498,4523\";\n\tvar company = \"\";\n\n\n    // this event is fired by frontend once all the necessary things have been done(mobile display, moving vcr boxes around when needed...)\n    var canStartTrackingCustomRightbar = false;\n    infoq.event.on('loaded', function(e) {\n        canStartTrackingCustomRightbar = true;\n    });\n\n    var intervalRightbar = setInterval(function() {\n        if (window.vcrsLoaded) {\n            clearInterval(intervalRightbar);\n            if(company != null && company != \"\") {\n                whitepaperVcrsJson = VCR.filterByCompany(company, window.vcrList);\n            } else {\n                whitepaperVcrsJson = VCR.getByTopicsAndCommunities(window.vcrList, topicIds, communityIds, 5, false, null);\n            }\n            vcrOptionalListJson = VCR.getByTopicsAndCommunities(window.vcrList, topicIds, communityIds, 10, true, null);\n\n            VCR.displayCustomRightbar(recomJson, whitepaperVcrsJson, topicSponsorshipJson);\n            VCR.displayCustomRightbarOptionalVcrWidget(vcrOptionalListJson);\n\n            window.finishedRightbarVcr = true;\n        }\n    }, 200);\n\n    // these two events can happen one before another async(no precedence any can be first or second). Make sure tracking starts when both happened\n    var intervalTrackingRightbar = setInterval(function() {\n        if(canStartTrackingCustomRightbar && window.finishedRightbarVcr){\n            clearInterval(intervalTrackingRightbar);\n            VCR.doTrackingCustomRightbar();\n        }\n    }, 200);\n\n\n</script>\n<noscript>\n<div class=\"widget related__content article__widget\">\n    <h3 class=\"widget__heading\">Related Content</h3>\n    <ul class=\"no-style cards\" data-horizontal=\"true\" data-size=\"xs\" data-tax=\"\">\n        \n        \n    </ul>\n</div>\n</noscript>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n<div class=\"newsletter widget\" data-bg=\"infoq\">\r\n\t<h3 class=\"heading\"><strong>The InfoQ</strong> Newsletter</h3>\r\n\t<p class=\"intro\">\r\n        A round-up of last week&#x2019;s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers.\r\n        \r\n\t\t\t<a target=\"_blank\" href=\"https://assets.infoq.com/newsletter/regular/en/newsletter_sample/newsletter_sample.html\">View an example</a>\r\n        \r\n        \r\n    </p>\r\n\t<div class=\"newsletter__subscribe\">\r\n\t\t<form class=\"form gdpr\" id=\"floatingNewsletterForm\" action=\"#\" onsubmit=\"floatingNewsletterForm.saveSubscription(); return false;\">\r\n\t\t\t<div class=\"field input__text input__no-label input__medium newsletter__mail email\">\r\n\t\t\t\t<label class=\"field__label label\" for=\"email-newsletter-infoq-guide\">Enter your e-mail address</label>\r\n\t\t\t\t<input class=\"field__input input\" id=\"email-newsletter-infoq-guide\" placeholder=\"Enter your e-mail address\" type=\"email\">\r\n\t\t\t\t<input type=\"text\" name=\"emailH\" id=\"input_floating_email_h\" aria-required=\"false\" style=\"display:none !important\" tabindex=\"-1\" autocomplete=\"off\">\r\n\t\t\t\t<input type=\"hidden\" id=\"floating_fnt\" name=\"fnt\" value=\"AIALBlliZNA2IwUp\"/>\r\n\t\t\t\t<input type=\"hidden\" id=\"floatingNewsletterType\" name=\"footerNewsletterType\" value=\"regular\"/>\r\n\t\t\t\t<input type=\"hidden\" id=\"cmpi_f\" name=\"cmpi\" value=\"1\"/>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"hidden\">\r\n\t\t\t\t<span class=\"input__select field country\">\r\n\t\t\t\t\t<label for=\"input-floating-newsletter-country\" class=\"label field__label\">Select your country</label>\r\n\t\t\t\t\t<select id=\"input-floating-newsletter-country\" class=\"select field__input\">\r\n\t\t\t\t\t\t<option value=\"\" class=\"select__option\">Select a country</option>\r\n\t\t\t\t\t</select>\r\n\t\t\t\t\t<p class=\"input__message field__desc\"></p>\r\n\t\t\t\t</span>\r\n\t\t\t\t<span class=\"input__checkbox field hidden\">\r\n\t\t\t\t\t<input type=\"checkbox\" id=\"gdpr-consent-simple-floating-nl\">\r\n\t\t\t\t\t<label for=\"gdpr-consent-simple-floating-nl\" class=\"label\"><span>I consent to InfoQ.com handling my data as explained in this <a href=\"https://www.infoq.com/privacy-notice\">Privacy Notice</a>.</span></label>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t\t<input class=\"button button__medium button__yellow\" type=\"submit\" role=\"button\" value=\"Subscribe\" onclick=\"return floatingNewsletterForm.validateEmail('Invalid email address');\">\r\n\t\t</form>\r\n\t\t<p class=\"meta\">\r\n\t\t\t<a href=\"/privacy-notice/\" target=\"_blank\">We protect your privacy.</a>\r\n\t\t</p>\r\n\t\t\r\n\t\t<span class=\"success\" style=\"display:none;\" id=\"floatingNewsletterEmailMessage\"></span>\r\n\t</div>\r\n</div>\r\n<script type=\"text/javascript\">\r\n\tvar floatingNewsletterForm = new Newsletter('Enter your e-mail address',\r\n\t\t\t'email-newsletter-infoq-guide', 'floatingNewsletterType','floatingNewsletterEmailMessage', 'floating_fnt', 'input_floating_email_h', 'input-floating-newsletter-country','cmpi_f','floating_box');\r\n</script>\r\n\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</section>\n\t</article>\n\n<script type=\"text/javascript\">\n\t// global vars that can be used for this page, us ethis section to add more.\n\tvar contentTitle = \"Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents\",\n\t\tcontentPath = \"/news/2026/07/agentic-resource-discovery-spec\",\n\t\tcontentUUID = \"b4879f6e-2d31-451a-8cde-ed395c3c2d5d\",\n\t\tauthorUserCSVIds = \"126665386\";\n</script>\n<script src=\"https://cdn.infoq.com/statics_s2_20260916065603/scripts/prism-build.js\"></script>\n<script src=\"https://cdn.infoq.com/statics_s2_20260916065603/scripts/lib/MathJax/MathJax.js?config=TeX-AMS_HTML\"></script>\n\n                </main>\n\n            \n                \r\n\r\n\r\n\r\n\r\n\n\n\n<footer class=\"footer \">\n\t\n\t\t\n\t\t<section data-nosnippet class=\"section container\">\n\t\t\t<div class=\"container__inner\">\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\n<ul data-cols=\"5\" class=\"no-style columns boxes topic__boxes\">\n    \n        <li class=\"development\">\n            <div class=\"box__header\">\n                \n                <a class=\"t_all_footer_more-boxes-header\" href=\"/development/\">Development</a>\n            </div>\n            <div class=\"box__content\">\n                <ul class=\"no-style box__list small\">\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/pinterest-search/\" title=\"From Memory-Hungry HNSW to Quantized SPANN: The Technical Evolution of Pinterest&#039;s Manas Platform\">From Memory-Hungry HNSW to Quantized SPANN: The Technical Evolution of Pinterest's Manas Platform</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/turnstile-system-design/\" title=\"How Solaris&#039; Turnstile Influenced the Modern System Designs of Web Browsers and Language Runtimes\">How Solaris' Turnstile Influenced the Modern System Designs of Web Browsers and Language Runtimes</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/esp32-bitpirate-web/\" title=\"ESP32 Bit Pirate: Bridging Modern Microcontrollers and Browser-Based Hardware Debugging\">ESP32 Bit Pirate: Bridging Modern Microcontrollers and Browser-Based Hardware Debugging</a></h5>\n                        </li>\n                    \n                </ul>\n            </div>\n        </li>\n    \n        <li class=\"architecture-design\">\n            <div class=\"box__header\">\n                \n                <a class=\"t_all_footer_more-boxes-header\" href=\"/architecture-design/\">Architecture &amp; Design</a>\n            </div>\n            <div class=\"box__content\">\n                <ul class=\"no-style box__list small\">\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/dropbox-riviera-ai-platform/\" title=\"Dropbox Evolves Riviera Content Processing Platform to Support AI Workloads\">Dropbox Evolves Riviera Content Processing Platform to Support AI Workloads</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/agoda-price-cache-dragonflydb/\" title=\"Agoda Replaces 72-Shard SQL Server Price Cache with DragonflyDB\">Agoda Replaces 72-Shard SQL Server Price Cache with DragonflyDB</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/articles/durable-workflows-postgres/\" title=\"Implementing Durable Workflows on Postgres Without an External Orchestrator\">Implementing Durable Workflows on Postgres Without an External Orchestrator</a></h5>\n                        </li>\n                    \n                </ul>\n            </div>\n        </li>\n    \n        <li class=\"culture-methods\">\n            <div class=\"box__header\">\n                \n                <a class=\"t_all_footer_more-boxes-header\" href=\"/culture-methods/\">Culture &amp; Methods</a>\n            </div>\n            <div class=\"box__content\">\n                <ul class=\"no-style box__list small\">\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/presentations/duolingo-ai-literacy-code-review/\" title=\"Teaching Engineers, Trusting AI: How Education Enabled Autonomous Code Review\">Teaching Engineers, Trusting AI: How Education Enabled Autonomous Code Review</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/presentations/engineering-leadership/\" title=\"Lead Without a Ladder: How I Climbed Into Engineering Leadership\">Lead Without a Ladder: How I Climbed Into Engineering Leadership</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/autonomous-software-teams/\" title=\"Beyond Autonomous Teams in Software Product Development\">Beyond Autonomous Teams in Software Product Development</a></h5>\n                        </li>\n                    \n                </ul>\n            </div>\n        </li>\n    \n        <li class=\"ai-ml-data-eng\">\n            <div class=\"box__header\">\n                \n                <a class=\"t_all_footer_more-boxes-header\" href=\"/ai-ml-data-eng/\">AI, ML &amp; Data Engineering</a>\n            </div>\n            <div class=\"box__content\">\n                <ul class=\"no-style box__list small\">\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/articles/next-dsl-author-language-model/\" title=\"Your Next DSL Author Is a Language Model\">Your Next DSL Author Is a Language Model</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/grab-agent-platform/\" title=\"Grab&#039;s Agent Framework LLM-Kit Accelerates AI Agent Production Deployment\">Grab's Agent Framework LLM-Kit Accelerates AI Agent Production Deployment</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/presentations/decision-models-agentic-ai/\" title=\"Decision Models in Agentic Architectures: From Production to Agent Skills\">Decision Models in Agentic Architectures: From Production to Agent Skills</a></h5>\n                        </li>\n                    \n                </ul>\n            </div>\n        </li>\n    \n        <li class=\"devops\">\n            <div class=\"box__header\">\n                \n                <a class=\"t_all_footer_more-boxes-header\" href=\"/devops/\">DevOps</a>\n            </div>\n            <div class=\"box__content\">\n                <ul class=\"no-style box__list small\">\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/microsoft-taugrid-open-source/\" title=\"Microsoft Open-Sources TauGrid to Simplify AI Workload Management on Kubernetes\">Microsoft Open-Sources TauGrid to Simplify AI Workload Management on Kubernetes</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/lyft-flink-k8s-operator/\" title=\"Lyft Moves Streaming Fleet to Apache Flink Kubernetes Operator\">Lyft Moves Streaming Fleet to Apache Flink Kubernetes Operator</a></h5>\n                        </li>\n                    \n                        <li>\n                            \n                            <h5><a class=\"t_all_footer_more-boxes-item\" href=\"/news/2026/09/dropbox-datacenter/\" title=\"Dropbox Outlines How Focusing on Existing Infrastructure Efficiency Can Create Headroom for AI\">Dropbox Outlines How Focusing on Existing Infrastructure Efficiency Can Create Headroom for AI</a></h5>\n                        </li>\n                    \n                </ul>\n            </div>\n        </li>\n    \n</ul>\n\n\n\n\t\t\t</div>\n\t\t</section>\n\t\t<section data-nosnippet class=\"container section section__newsletter\">\n\t\t\t<div class=\"columns container__inner\">\n\t\t\t\t \n\r\n\r\n\r\n\r\n\r\n\n\n\n\n    \n\r\n\r\n\r\n\r\n\r\n\n\n<div class=\"newsletter\" data-col=\"1/2\"\n\n\t\n\t\t\n\t\t\tid=\"infoq-nl\"\n\t\t\n\n\t\n\t\n>\n\t<h2 class=\"heading\">\n\t\t<strong>The InfoQ</strong> Newsletter\n\t</h2>\n\t<p class=\"intro\">A round-up of last week&#x2019;s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers.\n\t\t\n\t\t\t<a target=\"_blank\" href=\"https://assets.infoq.com/newsletter/regular/en/newsletter_sample/newsletter_sample.html\">View an example</a>\n\t\t\n\t\t\n\t</p>\n\t<ul class=\"newsletter__features\">\n\t\t<li>Get a quick overview of content published on a variety of innovator and early adopter technologies</li>\n\t\t<li>Learn what you don&#x2019;t know that you don&#x2019;t know</li>\n\t\t<li>Stay up to date with the latest information from the topics you are interested in</li>\n\t</ul>\n\t<div class=\"newsletter__subscribe\">\n\t\t<form class=\"form gdpr\" name=\"footerNewsletterForm\" id=\"footerNewsletterForm\" action=\"#\" onsubmit=\"footerNewsletter.saveSubscription(); return false;\">\n\t\t\t<div class=\"field newsletter__mail input__text input__no-label input__medium email\">\n\t\t\t\t<label for=\"email-newsletter-infoq\" class=\"label field__label\">Enter your e-mail address</label>\n\t\t\t\t<input id=\"email-newsletter-infoq\" name=\"footerNewsletterEmail\" placeholder=\"Enter your e-mail address\" class=\"input field__input\" type=\"email\"/>\n\t\t\t\t<input type=\"text\" name=\"emailH\" id=\"input_email_h\" aria-required=\"false\" style=\"display:none !important\" tabindex=\"-1\" autocomplete=\"off\"/>\n\t\t\t\t<input type=\"hidden\" id=\"fnt\" name=\"fnt\" value=\"AIALBlliZNA2IwUp\"/>\n\t\t\t\t<input type=\"hidden\" id=\"footerNewsletterType\" name=\"footerNewsletterType\" value=\"regular\"/>\n\t\t\t\t<input type=\"hidden\" id=\"cmpi\" name=\"cmpi\" value=\"1\"/>\n\t\t\t</div>\n\t\t\t<div class=\"hidden\">\n\t\t\t\t<span class=\"input__select field country\">\n\t\t\t\t\t<label for=\"input-simple-newsletter-country\" class=\"label field__label\">Select your country</label>\n\t\t\t\t\t<select id=\"input-simple-newsletter-country\" class=\"select field__input\">\n\t\t\t\t\t\t<option value=\"\" class=\"select__option\">Select a country</option>\n\t\t\t\t\t</select>\n\t\t\t\t\t<p class=\"input__message field__desc\"></p>\n\t\t\t\t</span>\n\t\t\t\t<span class=\"input__checkbox field hidden\">\n\t\t\t\t\t<input type=\"checkbox\" id=\"gdpr-consent-simple-nl\">\n\t\t\t\t\t<label for=\"gdpr-consent-simple-nl\" class=\"label\"><span>I consent to InfoQ.com handling my data as explained in this <a href=\"https://www.infoq.com/privacy-notice\">Privacy Notice</a>.</span></label>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t<input type=\"submit\" role=\"button\" value=\"Subscribe\" class=\"button button__medium button__red\" onclick=\"return footerNewsletter.validateEmail('Invalid email address');\"/>\n\t\t</form>\n\t\t<p class=\"meta\">\n\t\t\t<a href=\"/privacy-notice/\" target=\"_blank\">We protect your privacy.</a>\n\t\t</p>\n\t\t\n\t\t<span class=\"success\" style=\"display:none;\" id=\"footerNewsletterMessage\"></span>\n\t</div>\n\t<script type=\"text/javascript\">\n\t\tvar footerNewsletter = new Newsletter('Enter your e-mail address',\n\t\t\t\t'email-newsletter-infoq', 'footerNewsletterType','footerNewsletterMessage', 'fnt', 'input_email_h', 'input-simple-newsletter-country', 'cmpi','footer_except_homepage');\n\t</script>\n</div>\n\n\n    \n        \n        \n    \r\n\r\n\r\n\r\n\r\n\n\n\n\n\n\n\n\n\n    \n    \n    \n    \n    \n    <div data-col=\"1/2\" data-bg=\"certification\" class=\"event__container\" style=\"padding-right: 20px;\">\n        <a href=\"https://certification.qconferences.com/?utm_source=infoq&amp;utm_medium=referral&amp;utm_campaign=largefooterad_onlinecohorts26\" target=\"_blank\" class=\"qconplus__events-slider\" style=\"\">\n            <div>\n                <div class=\"logo-certification\"></div>\n            </div>\n            <p class=\"intro\" style=\"margin-bottom: 0;color: white !important;\">\n                <b>InfoQ Online Certification Programs</b>\n                <br>For Senior Engineers, Architects, and Technical Leaders\n            </p>\n            <ul style=\"margin-bottom: 0;\">\n                <li style=\"color: white !important;\"><b>Architect</b> with Luca Mezzalira | September 14</li>\n                <li style=\"color: white !important;\"><b>Engineering Leadership</b> with Michelle Brush | September 18</li>\n                <li style=\"color: white !important;\"><b>AI Security &amp; Privacy Engineering</b> with Katharine Jarmul | October 14</li>\n                <li style=\"color: white !important;\"><b>AI-Assisted Engineering</b> with Zichuan Xiong & Premanand Chandrasekaran | October 19</li>\n            </ul>\n            <br>\n            <p class=\"intro\" style=\"margin-bottom: 0;color: white !important;\">As your role becomes more senior, the work changes. You're no longer just implementing decisions; you're shaping the systems, trade-offs, and technical direction other teams depend on.<br>These 5-week online programs give you a structured way to work through real decisions from your current role with senior peers from other companies.</p>\n            <strong class=\"button button__green cta__button\">RESERVE YOUR PLACE</strong>\n            <small style=\"color: white;\"><br>Live online. 4 hours a week, for 5 weeks.</small>\n        </a>\n    </div>\n\n\n\n\n\n\n\t\t\t</div>\n\t\t</section>\n\t\n\t<section data-nosnippet class=\"section container footer__subfooter align__left\">\n\t\t<div class=\"container__inner columns\">\n\t\t\t <div data-col=\"1/4\" class=\"columns footer__links-wrap\">\n\t\t\t\t  <div class=\"footer__links\">\n\t\t\t\t\t\t\n\r\n\r\n\r\n\r\n\r\n\n\n\n<a href=\"/\" class=\"nuxt-link-exact-active active\" title=\"Home\">Home</a>\n\n\n    <a href=\"/reginit.action\" class=\"emphasis\" title=\"Create account\">Create account</a>\n    <button aria-label=\"Log In\" class=\"login\" data-ref=\"mainLogin\">Log In</button>\n\n\n<a rel=\"noreferrer noopener\" href=\"http://qconferences.com/\" target=\"_blank\" title=\"QCon Conferences\">QCon Conferences</a>\n<a rel=\"noreferrer noopener\" href=\"https://events.infoq.com/\" target=\"_blank\">Events</a>\n\n    <a href=\"/write-for-infoq/\" title=\"Write for InfoQ\">Write for InfoQ</a>\n    <a href=\"/infoq-editors/\" title=\"InfoQ Editors\">InfoQ Editors</a>\n    <a href=\"/about-infoq/\" title=\"About InfoQ\">About InfoQ</a>\n    <a href=\"https://c4media.com/\" target=\"_blank\" title=\"About C4Media\">About C4Media</a>\n    \n        <a rel=\"noreferrer noopener\" href=\"https://get.infoq.com/infoq-mediakit/\" title=\"Media Kit\" target=\"_blank\">\n            Media Kit\n        </a>\n        <a href=\"https://devmarketing.c4media.com/?utm_source=infoq\" title=\"InfoQ Developer Marketing Blog\" target=\"_blank\">InfoQ Developer Marketing Blog</a>\n    \n    <a rel=\"noreferrer noopener\" href=\"https://c4media.com/diversity\" title=\"Diversity\" target=\"_blank\">Diversity</a>\n\n\t\t\t\t  </div>\n\n\t\t\t</div>\n\t\t\t<div data-col=\"1/4\" class=\"events__list\">\n\t\t\t\t<h4 class=\"heading footer__heading\">Events</h4>\n                                <ul class=\"qcons__list no-style\">\n                                    \n\n                                    \n                                    \n                                    \n                                    \n                                    \n                                    \n                                    \n                                    \n\t\t\t\t\t\t\t\t\t<li><span class=\"icon event__type conference\"></span>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"qcon__detail\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"heading\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a rel=\"noreferrer noopener\" href=\"https://certification.qconferences.com/architecture?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortarchitecture26\" target=\"_blank\">Online InfoQ Architect Certification</a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"meta date\">September 14, 2026</span>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t<li><span class=\"icon event__type conference\"></span>\n\t\t\t\t\t\t\t\t\t\t<div class=\"qcon__detail\">\n\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"heading\">\n\t\t\t\t\t\t\t\t\t\t\t\t<a rel=\"noreferrer noopener\" href=\"https://certification.qconferences.com/ai-security-privacy?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortaisecurity26\" target=\"_blank\">Online InfoQ AI Security & Privacy Engineering Program</a>\n\t\t\t\t\t\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"meta date\">October 14, 2026</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t<li><span class=\"icon event__type conference\"></span>\n\t\t\t\t\t\t\t\t\t\t<div class=\"qcon__detail\">\n\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"heading\">\n\t\t\t\t\t\t\t\t\t\t\t\t<a rel=\"noreferrer noopener\" href=\"https://certification.qconferences.com/ai-assisted-engineering?utm_source=infoq&utm_medium=referral&utm_campaign=footer_onlinecohortaiassistedengineering26\" target=\"_blank\">Online InfoQ AI-Assisted Engineering Certification</a>\n\t\t\t\t\t\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"meta date\">October 19, 2026</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</li>\n                                    <li><span class=\"icon event__type conference\"></span>\n                                        <div class=\"qcon__detail\">\n                                            <h5 class=\"heading\">\n                                                <a rel=\"noreferrer noopener\" href=\"https://qconsf.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qsf26\" target=\"_blank\">QCon San Francisco</a>\n                                            </h5>\n                                            <span class=\"meta date\">November 16-20, 2026</span>\n                                        </div>\n                                    </li>\n\t\t\t\t\t\t\t\t\t<li><span class=\"icon event__type conference\"></span>\n\t\t\t\t\t\t\t\t\t\t<div class=\"qcon__detail\">\n\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"heading\">\n\t\t\t\t\t\t\t\t\t\t\t\t<a rel=\"noreferrer noopener\" href=\"https://newyork.qcon.ai/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qainy26\" target=\"_blank\">QCon AI New York</a>\n\t\t\t\t\t\t\t\t\t\t\t</h5>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"meta date\">December 15-16, 2026</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</li>\n                                    <li><span class=\"icon event__type conference\"></span>\n                                        <div class=\"qcon__detail\">\n                                            <h5 class=\"heading\">\n                                                <a rel=\"noreferrer noopener\" href=\"https://qconlondon.com/?utm_source=infoq&utm_medium=referral&utm_campaign=footer_qlondon27\" target=\"_blank\">QCon London 2027</a>\n                                            </h5>\n                                            <span class=\"meta date\">April 13-16, 2027</span>\n                                        </div>\n                                    </li>\n                                </ul>\n\t\t\t</div>\n\t\t\t<div data-col=\"1/4\" class=\"footer__social-wrap\">\n\t\t\t\t<h4 class=\"heading text-left footer__heading\">Follow us on </h4>\n\t\t\t\t<div class=\"social__links columns social__links__row\">\n                            \n                                \n                                        <a href=\"https://www.youtube.com/infoq\"><span class=\"icon icon__large icon__social icon__youtube\"></span><div><span class=\"social__count\">Youtube</span><span class=\"social__followers\">232K Followers</span></div></a>\n                                        <a href=\"http://www.linkedin.com/company/infoq\"><span class=\"icon icon__large icon__social icon__linkedin\"></span><div><span class=\"social__count\">Linkedin</span><span class=\"social__followers\">26K Followers</span></div></a>\n\t\t\t\t\t\t\t\t\t\t<a rel=\"noreferrer noopener\" href=\"https://www.instagram.com/infoqdotcom/\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__instagram\"></span><div><span class=\"social__count\">Instagram</span><span class=\"social__followers\">New</span></div></a>\n                                        <a href=\"#\" id=\"footerNewsletterRssLink\"><span class=\"icon icon__large icon__social icon__rss\"></span><div><span class=\"social__count\">RSS</span><span class=\"social__followers\">19K Readers</span></div></a>\n                                        <a rel=\"noreferrer noopener\" href=\"http://twitter.com/infoq\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__twitter\"></span><div><span class=\"social__count\">X</span><span class=\"social__followers\">57.1k Followers</span></div></a>\n                                        <a rel=\"noreferrer noopener\" href=\"https://www.facebook.com/InfoQ-75911537320\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__fb\"></span><div><span class=\"social__count\">Facebook</span><span class=\"social__followers\">21K Likes</span></div></a>\n                                        <a rel=\"noreferrer noopener\" href=\"https://bsky.app/profile/infoq.com\" target=\"_blank\"><span class=\"icon icon__large icon__social icon__bluesky\"></span><div><span class=\"social__count\">Bluesky</span><span class=\"social__followers\">New</span></div></a>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                                \n                                \n                                \n                                \n\t\t\t\t</div>\n\t\t\t</div>\n            <div data-col=\"1/4\" class=\"footer__stayin-wrap\">\n                <h4 class=\"heading text-left footer__heading\">Stay in the know</h4>\n                <div class=\"stayIn_panel_container\">\n                    <a href=\"/podcasts/\" class=\"stayIn_panel\" target=\"_blank\" rel=\"noreferrer noopener\"><span>The InfoQ Podcast</span><picture><source srcset=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7IndlYnAiOiB7ICJxdWFsaXR5Ijo4MH19fQ==\" type=\"image/webp\"><source srcset=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==\" type=\"image/webp\"><img src=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QuanBnIiwiZWRpdHMiOiB7ImpwZWciOiB7ICJxdWFsaXR5Ijo4MH19fQ==\" loading=\"lazy\" width=\"65px\" height=\"64px\" alt=\"The InfoQ Podcast Logo - Stay in the know\"></picture></a>\n                    <a href=\"/podcasts/#engineering_culture\" class=\"stayIn_panel\" target=\"_blank\" rel=\"noreferrer noopener\"><span>Engineering Culture Podcast</span><picture><source srcset=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsid2VicCI6IHsgInF1YWxpdHkiOjgwfX19\" type=\"image/webp\"><source srcset=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19\" type=\"image/webp\"><img src=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLXBvZGNhc3QtZW5naW5lZXJpbmctY3VsdHVyZS5qcGciLCJlZGl0cyI6IHsianBlZyI6IHsgInF1YWxpdHkiOjgwfX19\" loading=\"lazy\" width=\"65px\" height=\"64px\" alt=\"Engineering Culture Podcast Logo - Stay in the knoww\"></picture></a>\n                    <a href=\"/software-architects-newsletter/\" class=\"stayIn_panel\" target=\"_blank\" rel=\"noreferrer noopener\"><span>The Software Architects' Newsletter</span><picture><source srcset=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJ3ZWJwIjogeyAicXVhbGl0eSI6ODB9fX0=\" type=\"image/webp\"><source srcset=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=\" type=\"image/webp\"><img src=\"https://imgopt.infoq.com/eyJidWNrZXQiOiAiYXNzZXRzLmluZm9xLmNvbSIsImtleSI6ICJ3ZWIvZm9vdGVyL2luZm9xLWFyY2hpdGVjdC1uZXdzbGV0dGVyLmpwZyIsImVkaXRzIjogeyJqcGVnIjogeyAicXVhbGl0eSI6ODB9fX0=\" loading=\"lazy\" width=\"65px\" height=\"64px\" alt=\"The Software Architects' Newsletter Logo - Stay in the know\"></picture></a>\n                </div>\n            </div>\n\t\t\t\n\t\t</div>\n\t</section>\n\t<section data-nosnippet class=\"container footer__bottom section white align__left\">\n\t\t<div class=\"container__inner columns\">\n\t\t\t<div data-col=\"2/3\" class=\"column\">\n\t\t\t\t<div class=\"footer__contact contact columns\">\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t<span data-col=\"1/6\">\n\t\t\t\t\t\t\tGeneral Feedback\n\t\t\t\t\t\t\t<a href=\"mailto:feedback@infoq.com\">feedback@infoq.com</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span data-col=\"1/6\">\n\t\t\t\t\t\t\tAdvertising\n\t\t\t\t\t\t\t<a href=\"mailto:sales@infoq.com\">sales@infoq.com</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span data-col=\"1/6\">\n\t\t\t\t\t\t\tEditorial\n\t\t\t\t\t\t\t<a href=\"mailto:editors@infoq.com\">editors@infoq.com</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span data-col=\"1/6\">\n\t\t\t\t\t\t\tMarketing\n\t\t\t\t\t\t\t<a href=\"mailto:marketing@infoq.com\">marketing@infoq.com</a>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"column\" data-col=\"1/3\">\n\t\t\t\t<p class=\"footer__more\">\n\t\t\t\t\tInfoQ.com and all content copyright &#169; 2006-2026 C4Media Inc.<br/>\n\t\t\t\t\t\n\t\t\t\t\t\t<a href=\"/privacy-notice\" target=\"_blank\">Privacy Notice</a>, <a href=\"/terms-and-conditions \" target=\"_blank\">Terms And Conditions</a>, <a href=\"/cookie-policy \" target=\"_blank\">Cookie Policy</a>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</footer>\n                <!--\t#######\t\tSITE END\t#########\t -->\n            \n        </div>\n\n\n        \n            <div class=\"intbt\">\n                <a href=\"/int/bt/\" title=\"bt\">BT</a>\n            </div>\n        \n\n        \r\n\r\n\r\n\r\n\r\n\r\n<script type=\"text/javascript\">\r\n  $.when(humanDetectionAsync()).then(\r\n      function(status) {\r\n          $.getScript(\"/scripts/__hd.ifq?hdt=AIALBlliZNA2IwUp&ha=\" + status);\r\n      }\r\n  );\r\n</script>\r\n<script type=\"text/javascript\">\r\n\r\n    var pageFullyLoaded = false;\r\n    // this event is fired by frontend once all the necessary things have been done(mobile display, moving vcr boxes around when needed...)\r\n    infoq.event.on('loaded', function(e) {\r\n        pageFullyLoaded = true;\r\n    });\r\n\r\n    infoq.event.on('pageWidthChanged', function(e) {\r\n        // re-execute tracking vcr impressions when this event happens (it only happens when elements are added/removed from page)\r\n        // doTrackVcrImpressions takes into account the data-trk-impr=\"true\" if =false the element was already tracked.\r\n        // this is needed when switching from mobile to desktop or when layout on mobile changes and desktop version is displayed. New elements become visible.\r\n        Tracker.safeExec(Tracker.doTrackVcrImpressions);\r\n\r\n        // these 2 need to be called also because we might be on a content page. In case we are not nothing happens\r\n        VCR.doTrackingCustomRightbar();\r\n        VCR.doTrackingCustomRightbarForPresentations()\r\n    });\r\n\r\n    //check to see if error page\r\n    if(window.device !== undefined) {\r\n        var intervalImpressions = setInterval(function() {\r\n            var shouldTrack = false;\r\n\r\n            // no vcr widgets on index pages\r\n            if(window.isIndexPage) {\r\n                if(window.sponsoredPodcastDone === undefined || window.sponsoredPodcastDone) {\r\n                    shouldTrack = true;\r\n                }\r\n            } else\r\n            //on homepage, bottom widget + 2 native widgets\r\n            if(InfoQConstants.pageType == \"HOMEPAGE\" && window.finishedVcrOptional1 && window.finishedRelatedVcr && (window.finishedVcrOptional2 === undefined || window.finishedVcrOptional2)) {\r\n                shouldTrack = true;\r\n            } else\r\n            // rightbar widgets + native widgets + content vcr widgets\r\n            if((InfoQConstants.pageType == \"NEWS_PAGE\" || InfoQConstants.pageType == \"ARTICLE_PAGE\")\r\n                    && ((window.finishedRightbarVcr || window.finishedRightbarVcr === undefined) && window.contentVcrFinished)) {\r\n                shouldTrack = true;\r\n            } else if ((InfoQConstants.pageType == \"PRESENTATION_PAGE\")\r\n                    && (window.contentVcrFinished || window.contentVcrFinished  === undefined)\r\n                    && (window.finishedRightbarVcr || window.finishedRightbarVcr  === undefined)\r\n            ) {\r\n                shouldTrack = true;\r\n            } else\r\n            // native widgets + content widgets\r\n            if(window.contentVcrFinished && (window.finishedVcrOptional1 || window.finishedVcrOptional1 === undefined)\r\n                    && (window.finishedVcrOptional2 || window.finishedVcrOptional2 === undefined)) {\r\n                shouldTrack = true;\r\n            }\r\n\r\n            // we start tracking only after the page is fully loaded, frontend signals that they finished everything related to page display.\r\n            if(shouldTrack && pageFullyLoaded) {\r\n                clearInterval(intervalImpressions);\r\n                Tracker.safeExec(Tracker.doTrackVcrImpressions);\r\n\r\n                // start tracking viewable impressions also only after everything is ready\r\n                function callbackRouter(entries, observer) {\r\n                    var targets = new Array();\r\n                    entries.forEach(function (entry) {\r\n                        var target = entry.target;\r\n                        if (target.dataset.trkView === 'false') return;\r\n                        if (entry.intersectionRatio > 0) {\r\n                            target.dataset.trkView = false;\r\n                            targets.push(target);\r\n                        }\r\n                    });\r\n                    Tracker.doTrackViewableImpressions(targets);\r\n                }\r\n                var elementsForTrackingViewableImpressions = document.querySelectorAll('[data-trk-view=\"true\"]')\r\n                var observer = new IntersectionObserver(callbackRouter, { threshold: 0.3 });\r\n                elementsForTrackingViewableImpressions.forEach(observer.observe.bind(observer));\r\n            }\r\n\r\n        }, 500);\r\n    }\r\n    $(document).ready(function () {\r\n        // desktop notifications widget\r\n        Tracker.encodeNotificationLinks($(\".f_notificationWidget\"));\r\n        // mobile notifications widget\r\n        Tracker.encodeNotificationLinks($(\".h_notifications\"));\r\n        // desktop notifications page\r\n        Tracker.encodeNotificationLinks($(\".notification-page\"));\r\n        // mobile notifications page\r\n        Tracker.encodeNotificationLinks($(\".notifications_page\"));\r\n    });\r\n</script>\n        \r\n\r\n\r\n\r\n\r\n\n\n<script type=\"text/javascript\">\n    if(window.location.hash){\n        var hash = window.location.hash.substring(1);\n        if(hash == 'subscribe'){\n            $('html,body').animate({scrollTop: $('.ftxt3 > .newsletter').offset().top}, 'slow');\n        }\n    }\n</script>\n<script type=\"text/javascript\">\n\tvar newsletterSubscriptionURL ='/newsletter/subscribe.action';\n\tDynamicLinks.updateRssLinks('3405691582');\n\n\tContentSummary.setSelectedTab('en');\n\t//when user enters the main content area show default topics in the topics bar\n\t$(\"#content-wrapper\").mouseenter(function() {\t\n\t        showDefaultTopics();\n\t});\n\t\n\t\n\tBookmarks.contentTitle = \"Google and Industry Partners Announce Agentic Resource Discovery Specification for AI Agents\";\n\tBookmarks.apiUrl = '/widgets/bookmark.action';\n    Bookmarks.isContentBookmarked = \"false\";\n</script>\n<script type=\"text/javascript\"> \nvar $buoop = {vs:{i:6,f:1,o:10.1,s:1}} \n$buoop.ol = window.onload; \n$(document).ready(function() {\n\t try {if ($buoop.ol) $buoop.ol();}catch (e) {} \n\t var e = document.createElement(\"script\"); \n\t e.setAttribute(\"type\", \"text/javascript\"); \n\t e.setAttribute(\"src\", \"https://cdn.infoq.com/statics_s2_20260916065603/scripts/lib/browser-update-org/update.js\");\n\t document.body.appendChild(e); \n});\n</script>\n        \n\n        \n            \n            <script>\n                !function(f,b,e,v,n,t,s)\n                {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n                        n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n                    if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n                    n.queue=[];t=b.createElement(e);t.async=!0;\n                    t.src=v;s=b.getElementsByTagName(e)[0];\n                    s.parentNode.insertBefore(t,s)}(window,document,'script',\n                        'https://connect.facebook.net/en_US/fbevents.js');\n                fbq('init', '842388869148196');\n                fbq('track', 'PageView');\n            </script>\n            <noscript>\n                <img height=\"1\" width=\"1\" src=\"https://www.facebook.com/tr?id=842388869148196&ev=PageView&noscript=1\"/>\n            </noscript>\n            \n        \n\n            <script type='text/javascript'>\n                try {\n                    mixpanel.track('page viewed', {\n                        'page name' : document.title,\n                        'url' : window.location.pathname\n                    });\n                }\n                catch(err) {\n                }\n            </script>\n    </body>\n</html>\n<!-- s2 -->\n","snapshot_chars":199807,"live_check":"changed"},{"url":"https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/","committed_hash":"sha256:96ebeda12b64855ea2b4e6e7ec53118e69d66cd60d5cd7c41f10fcf3a393dcc1","committed_hash_short":"sha256:96ebeda1…a393dcc1","mime_type":"text/html","committed_at":"2026-09-18T10:00:23.661287+00:00","content_snapshot":"<!DOCTYPE html>\n<html lang=\"en-US\">\n<head>\n    <meta charset=\"UTF-8\">\n\n    <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n    <link rel=\"pingback\" href=\"https://www.helpnetsecurity.com/xmlrpc.php\">\n\n\t<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />\n\n\t<!-- This site is optimized with the Yoast SEO plugin v28.3 - https://yoast.com/product/yoast-seo-wordpress/ -->\n\t<title>Google&#039;s open standard for AI agents to discover and verify tools - Help Net Security</title>\n\t<meta name=\"description\" content=\"Google&#039;s Agentic Resource Discovery is an open specification for finding and verifying AI tools, skills, and agents across the web.\" />\n\t<link rel=\"canonical\" href=\"https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/\" />\n\t<meta property=\"og:locale\" content=\"en_US\" />\n\t<meta property=\"og:type\" content=\"article\" />\n\t<meta property=\"og:title\" content=\"Google&#039;s open standard for AI agents to discover and verify tools - Help Net Security\" />\n\t<meta property=\"og:description\" content=\"Google&#039;s Agentic Resource Discovery is an open specification for finding and verifying AI tools, skills, and agents across the web.\" />\n\t<meta property=\"og:url\" content=\"https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/\" />\n\t<meta property=\"og:site_name\" content=\"Help Net Security\" />\n\t<meta property=\"article:published_time\" content=\"2026-06-18T05:45:00+00:00\" />\n\t<meta property=\"og:image\" content=\"https://img.helpnetsecurity.com/wp-content/uploads/2026/05/27143607/magnify-1500.webp\" />\n\t<meta property=\"og:image:width\" content=\"1456\" />\n\t<meta property=\"og:image:height\" content=\"816\" />\n\t<meta property=\"og:image:type\" content=\"image/webp\" />\n\t<meta name=\"author\" content=\"Anamarija Pogorelec\" />\n\t<meta name=\"twitter:card\" content=\"summary_large_image\" />\n\t<meta name=\"twitter:creator\" content=\"@helpnetsecurity\" />\n\t<meta name=\"twitter:site\" content=\"@helpnetsecurity\" />\n\t<meta name=\"twitter:label1\" content=\"Written by\" />\n\t<meta name=\"twitter:data1\" content=\"Anamarija Pogorelec\" />\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" />\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" />\n\t<script type=\"application/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\/\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/#article\",\"isPartOf\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/\"},\"author\":{\"name\":\"Anamarija Pogorelec\",\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/#\\/schema\\/person\\/f68064e32be1c6a9d49db33095d51e23\"},\"headline\":\"Google&#8217;s open standard for AI agents to discover and verify tools\",\"datePublished\":\"2026-06-18T05:45:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/\"},\"wordCount\":589,\"image\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/img.helpnetsecurity.com\\/wp-content\\/uploads\\/2026\\/05\\/27143607\\/magnify-1500.webp\",\"keywords\":[\"agentic AI\",\"AI\",\"Google\",\"Google Cloud\"],\"articleSection\":[\"News\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/\",\"url\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/\",\"name\":\"Google's open standard for AI agents to discover and verify tools - Help Net Security\",\"isPartOf\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/img.helpnetsecurity.com\\/wp-content\\/uploads\\/2026\\/05\\/27143607\\/magnify-1500.webp\",\"datePublished\":\"2026-06-18T05:45:00+00:00\",\"author\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/#\\/schema\\/person\\/f68064e32be1c6a9d49db33095d51e23\"},\"description\":\"Google's Agentic Resource Discovery is an open specification for finding and verifying AI tools, skills, and agents across the web.\",\"breadcrumb\":{\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/#primaryimage\",\"url\":\"https:\\/\\/img.helpnetsecurity.com\\/wp-content\\/uploads\\/2026\\/05\\/27143607\\/magnify-1500.webp\",\"contentUrl\":\"https:\\/\\/img.helpnetsecurity.com\\/wp-content\\/uploads\\/2026\\/05\\/27143607\\/magnify-1500.webp\",\"width\":1456,\"height\":816,\"caption\":\"magnify\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/2026\\/06\\/18\\/google-agentic-resource-discovery\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\/\\/www.helpnetsecurity.com\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google&#8217;s open standard for AI agents to discover and verify tools\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/#website\",\"url\":\"https:\\/\\/www.helpnetsecurity.com\\/\",\"name\":\"Help Net Security\",\"description\":\"Daily information security news with a focus on enterprise security.\",\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\/\\/www.helpnetsecurity.com\\/#\\/schema\\/person\\/f68064e32be1c6a9d49db33095d51e23\",\"name\":\"Anamarija Pogorelec\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/ab2f8049ac769165f4d2a4b7f7b62190c805d1085b5d552b5e2c2fb473b3e76d?s=96&d=mm&r=g\",\"url\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/ab2f8049ac769165f4d2a4b7f7b62190c805d1085b5d552b5e2c2fb473b3e76d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\/\\/secure.gravatar.com\\/avatar\\/ab2f8049ac769165f4d2a4b7f7b62190c805d1085b5d552b5e2c2fb473b3e76d?s=96&d=mm&r=g\",\"caption\":\"Anamarija Pogorelec\"},\"url\":\"https:\\/\\/www.helpnetsecurity.com\\/author\\/anamarijapogorelec\\/\"}]}</script>\n\t<!-- / Yoast SEO plugin. -->\n\n\n<link rel='dns-prefetch' href='//fonts.googleapis.com' />\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"Help Net Security &raquo; Feed\" href=\"https://www.helpnetsecurity.com/feed/\" />\n<link rel=\"alternate\" type=\"application/rss+xml\" title=\"Help Net Security &raquo; Comments Feed\" href=\"https://www.helpnetsecurity.com/comments/feed/\" />\n<link rel=\"alternate\" title=\"oEmbed (JSON)\" type=\"application/json+oembed\" href=\"https://www.helpnetsecurity.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.helpnetsecurity.com%2F2026%2F06%2F18%2Fgoogle-agentic-resource-discovery%2F\" />\n<link rel=\"alternate\" title=\"oEmbed (XML)\" type=\"text/xml+oembed\" href=\"https://www.helpnetsecurity.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.helpnetsecurity.com%2F2026%2F06%2F18%2Fgoogle-agentic-resource-discovery%2F&#038;format=xml\" />\n<style id=\"wp-img-auto-sizes-contain-inline-css\">\nimg:is([sizes=auto i],[sizes^=\"auto,\" i]){contain-intrinsic-size:3000px 1500px}\n/*# sourceURL=wp-img-auto-sizes-contain-inline-css */\n</style>\n<style id=\"classic-theme-styles-inline-css\">\n/*! This file is auto-generated */\n.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}\n/*# sourceURL=/wp-includes/css/classic-themes.min.css */\n</style>\n\n<style id=\"global-styles-inline-css\">\n:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}\n/*# sourceURL=global-styles-inline-css */\n</style>\n\n<link rel='stylesheet' id='hns26-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A300%2C300i%2C400%2C400i%2C500%2C500i%2C700%2C700i&#038;subset=latin%2Clatin-ext&#038;display=swap' media='all' />\n<link rel='stylesheet' id='hns26-style-css' href='https://www.helpnetsecurity.com/wp-content/themes/hns26/style.1788972404.css?ver=7.0.4' media='all' />\n<link rel=\"https://api.w.org/\" href=\"https://www.helpnetsecurity.com/wp-json/\" /><link rel=\"alternate\" title=\"JSON\" type=\"application/json\" href=\"https://www.helpnetsecurity.com/wp-json/wp/v2/posts/375127\" /><link rel=\"EditURI\" type=\"application/rsd+xml\" title=\"RSD\" href=\"https://www.helpnetsecurity.com/xmlrpc.php?rsd\" />\n<meta name=\"generator\" content=\"WordPress 7.0.4\" />\n<link rel='shortlink' href='https://www.helpnetsecurity.com/?p=375127' />\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<link rel=\"icon\" href=\"https://www.helpnetsecurity.com/wp-content/themes/hns26/favicon.ico\" sizes=\"32x32\">\n<link rel=\"icon\" href=\"https://www.helpnetsecurity.com/wp-content/themes/hns26/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"apple-touch-icon\" href=\"https://www.helpnetsecurity.com/wp-content/themes/hns26/apple-touch-icon.png\">\n<script><!-- MTM -->\r\n\r\n  var _paq = window._paq = window._paq || [];\r\n  _paq.push(['disableCookies']);\r\n  _paq.push(['trackPageView']);\r\n  _paq.push(['enableLinkTracking']);\r\n  _paq.push(['trackAllContentImpressions']);\r\n  (function() {\r\n    var u=\"https://helpnetsecurity.matomo.cloud/\";\r\n    _paq.push(['setTrackerUrl', u+'matomo.php']);\r\n    _paq.push(['setSiteId', '1']);\r\n    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];\r\n    g.type='text/javascript'; g.async=true; g.src='//cdn.matomo.cloud/helpnetsecurity.matomo.cloud/matomo.js'; s.parentNode.insertBefore(g,s);\r\n  })();\r\n\r\n<!-- End MTN --></script>  <style>\n.mkin0nvje > a {\n  text-decoration: none;\n}\n.mkin0nvje img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n  margin: auto;\n  border: 0;\n}\n.mkin0nvje[data-l7kn78=i6xi18d] > a,\n.mkin0nvje[data-l7kn78=hycck2sc] > a {\n  font-size: 16px;\n  display: inline-block;\n}\n.mkin0nvje:not(.n90c0gyb) {\n  overflow: hidden !important;\n  height: 0 !important;\n  padding: 0 !important;\n}\naside[data-l7kn78]:empty {\n  display: none!important;\n}\n.entry-content .temp_position {\n  margin-bottom: 28px !important;\n}\n.hero .mkin0nvje > div > div {\n  margin-top: 0 !important;\n}\n.homepage-secondary .mbw.n90c0gyb {\n  padding-top: 10px;\n}\n.rarpd5urhd .modal-content {\n  position: relative;\n}\n.rarpd5urhd .modal-content .close {\n  position: absolute;\n  top: -30px;\n  right: 0;\n  width: 30px;\n  height: 30px;\n  background-color: white;\n  border: none;\n}\n.rarpd5urhd .modal-content .madman,\n.rarpd5urhd .modal-content div[data-id] {\n  margin: 0 auto !important;\n}\n  </style>\n<link rel=\"icon\" href=\"https://img.helpnetsecurity.com/wp-content/uploads/2019/09/09093400/cropped-hns2-32x32.png\" sizes=\"32x32\" />\n<link rel=\"icon\" href=\"https://img.helpnetsecurity.com/wp-content/uploads/2019/09/09093400/cropped-hns2-192x192.png\" sizes=\"192x192\" />\n<link rel=\"apple-touch-icon\" href=\"https://img.helpnetsecurity.com/wp-content/uploads/2019/09/09093400/cropped-hns2-180x180.png\" />\n<meta name=\"msapplication-TileImage\" content=\"https://img.helpnetsecurity.com/wp-content/uploads/2019/09/09093400/cropped-hns2-270x270.png\" />\n<meta property=\"article:tag\" content=\"agentic AI\">\n<meta property=\"article:tag\" content=\"AI\">\n<meta property=\"article:tag\" content=\"Google\">\n<meta property=\"article:tag\" content=\"Google Cloud\">\n\n\t<meta property=\"article:tag\" content=\"agentic AI\"><meta property=\"article:tag\" content=\"AI\"><meta property=\"article:tag\" content=\"Google\"><meta property=\"article:tag\" content=\"Google Cloud\">\n</head>\n\n\n<body class=\"wp-singular post-template-default single single-post postid-375127 single-format-standard wp-theme-hns26 post-category-4 \">\n\n        <noscript>\n            <style>\n                #wrapper *:not(#noScriptAlert) {\n                    opacity: 0.75;\n                }\n                #noScriptAlert {\n                    display: block;\n                }\n            </style>\n        </noscript>\n\t\n<div id=\"wrapper\" class=\"main-wrapper\">\n    <header id=\"mainHeader\" class=\"main-header\">\n        <nav class=\"d-flex align-items-center justify-content-between flex-wrap main-nav\" id=\"mainNav\">\n            <a class=\"logo d-inline-block d-lg-block\" href=\"https://www.helpnetsecurity.com/\" rel=\"home\"\n               title=\"Help Net Security - Daily information security news with a focus on enterprise security.\">\n                <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1200\" height=\"72\" viewbox=\"0 0 1200 72.34\">\n                    <path\n                        fill=\"#fdcc08\"\n                        d=\"M0 0v72.34h72.34V0H0Zm53.66 39.11H39v14.66h-4.68V39.11H19.66v-4.68h14.66V19.77H39v14.66h14.66v4.68Z\" />\n                    <g fill=\"#fff\">\n                        <path\n                            d=\"M104.82 8.36h4.17V34.6h49.65V8.36h4.17v58.91h-4.17V37.9h-49.65v29.37h-4.17V8.36ZM175.98 8.36h51.19v3.3h-47.02v23.43h45.11v3.3h-45.11v25.58h47.56v3.3h-51.74V8.36ZM237.07 8.36h4.18v55.62h42.48v3.3h-46.66V8.36ZM291.44 8.36h33.76c9.08 0 19.7 2.89 19.7 16.34 0 9.9-6.17 16.67-20.33 16.67h-28.95v25.91h-4.17V8.36Zm4.17 29.71h28.86c7.99 0 16.25-2.89 16.25-13.2 0-13.2-11.71-13.2-17.25-13.2H295.6v26.4ZM369.92 8.36h15.61l38.58 44.23h.18V8.36h13.07v58.91h-15.34l-38.85-44.23h-.18v44.23h-13.07V8.36ZM452.89 8.36h56.27v9.24H466.5v14.85h40.93v9.24H466.5v16.34h43.39v9.24h-57V8.36ZM540.11 17.6h-24.33V8.36h62.27v9.24h-24.33v49.67H540.1V17.6ZM644.58 25.61c-.72-4.04-4.08-6.85-14.07-6.85-7.26 0-11.26 1.9-11.26 5.78 0 1.9 1.64 3.14 4.82 3.63 5.35.91 22.05 3.14 28.4 4.04 12.07 1.9 19.33 6.44 19.33 16.75 0 19.97-28.5 20.13-37.39 20.13-21.96 0-37.94-3.55-39.12-19.97h25.6c.45 4.46 3.35 7.26 14.52 7.26 5.44 0 11.34-1.15 11.34-6.19 0-3.05-2.72-4.21-10.26-5.28l-21.6-2.97c-13.35-1.73-18.52-7.84-18.52-16.67 0-7.67 5.27-18.73 33.67-18.73 23.61 0 37.58 5.2 39.03 19.06h-24.51ZM682.7 8.36h64.9v12.71h-43.29v10.65h40.57v12.21h-40.57v10.64h43.29v12.71h-64.9V8.36ZM837.38 44.58c-2.64 12.79-10.26 24.51-41.03 24.51-27.51 0-40.76-10.89-40.76-31.27s12.62-31.27 40.76-31.27c19.88 0 36.03 4.04 40.84 24.51h-24.05c-1.27-4.29-4.45-11.3-16.7-11.3-13.52 0-17.97 8.33-17.97 18.07s3.99 18.07 17.97 18.07c9.81 0 15.52-4.37 16.97-11.3h23.97ZM847.73 8.36h21.6v34.9c0 9.57 4.91 12.62 14.8 12.62s14.79-3.05 14.79-12.62V8.36h21.61v38.12c0 16.26-13.44 22.61-36.4 22.61s-36.4-6.35-36.4-22.61V8.36ZM934.95 8.36h51.92c15.97 0 21.69 6.6 21.69 16.42 0 7.92-4.53 12.13-10.34 13.45v.16c4.08 1.24 7.17 4.21 7.8 10.56 1 11.55 1.36 15.43 4.09 18.32h-23.69c-1.18-2.56-1.27-6.02-1.27-8.75 0-9.24-3.37-10.89-8.81-10.89h-19.79v19.64h-21.6V8.36Zm21.6 26.07h20.79c5.35 0 8.07-2.47 8.07-6.52s-2.72-6.35-8.07-6.35h-20.79v12.87ZM1021.54 8.36h21.61v58.91h-21.61V8.36ZM1052.13 8.36h69.17v13.2h-23.78v45.71h-21.6V21.56h-23.78V8.36Z\" />\n                        <path\n                            d=\"m1149.63 48.71-28.78-40.35h25.05l14.52 25 14.52-25h25.05l-28.77 40.35v18.56h-21.6V48.71Z\" />\n                    </g>\n                </svg>\n            </a>\n            <a href=\"https://www.helpnetsecurity.com/gsearch\"\n               class=\"btn-squared btn-squared--search d-flex d-lg-none\">\n                <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"512\" height=\"512\" viewbox=\"0 0 512 512\">\n                    <path\n                        fill=\"currentColor\"\n                        d=\"M508.5 468.9 387.1 347.5c-2.3-2.3-5.3-3.5-8.5-3.5h-13.2c31.5-36.5 50.6-84 50.6-136C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c52 0 99.5-19.1 136-50.6v13.2c0 3.2 1.3 6.2 3.5 8.5l121.4 121.4c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17zM208 368c-88.4 0-160-71.6-160-160S119.6 48 208 48s160 71.6 160 160-71.6 160-160 160z\" />\n                </svg>\n            </a>\n            <button\n                id=\"mainNavToggle\"\n                class=\"btn-squared btn-squared--bars d-flex d-lg-none\"\n                type=\"button\"\n                aria-controls=\"mainNavSupportedContent\"\n                aria-expanded=\"false\"\n                aria-label=\"Toggle navigation\">\n                <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"448\" height=\"512\" viewbox=\"0 0 448 512\">\n                    <path\n                        fill=\"currentColor\"\n                        d=\"M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z\" />\n                </svg>\n            </button>\n            <div\n                class=\"d-none d-lg-flex justify-content-lg-center align-items-lg-center\"\n                id=\"mainNavSupportedContent\">\n\n\t\t\t\t\n\t\t\t\t\t<ul id=\"mainNavPrimary\" class=\"d-flex flex-column flex-lg-row main-nav__primary\"><li id=\"menu-item-38762\" class=\"menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-38762\"><a href=\"https://www.helpnetsecurity.com/view/news/\">News</a></li>\n<li id=\"menu-item-88693\" class=\"menu-item menu-item-type-taxonomy menu-item-object-category menu-item-88693\"><a href=\"https://www.helpnetsecurity.com/view/features/\">Features</a></li>\n<li id=\"menu-item-320971\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-320971\"><a href=\"https://www.helpnetsecurity.com/tag/ciso/\">CISO</a></li>\n<li id=\"menu-item-322882\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-322882\"><a href=\"https://www.helpnetsecurity.com/tag/artificial-intelligence/\">AI</a></li>\n<li id=\"menu-item-222621\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-222621\"><a href=\"https://www.helpnetsecurity.com/view/video/\">Videos</a></li>\n<li id=\"menu-item-187123\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-187123\"><a href=\"https://www.helpnetsecurity.com/tag/product-showcase/\">Product showcase</a></li>\n<li id=\"menu-item-83372\" class=\"menu-item menu-item-type-taxonomy menu-item-object-category menu-item-83372\"><a href=\"https://www.helpnetsecurity.com/view/industry-news/\">Industry news</a></li>\n<li id=\"menu-item-339426\" class=\"menu-item menu-item-type-taxonomy menu-item-object-category menu-item-339426\"><a href=\"https://www.helpnetsecurity.com/view/reviews/\">Reviews</a></li>\n<li id=\"menu-item-75939\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-75939\"><a href=\"/tag/w/\">Whitepapers</a></li>\n<li id=\"menu-item-42255\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-42255\"><a href=\"/all-events/\">Events</a></li>\n<li id=\"menu-item-38765\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-38765\"><a href=\"https://www.helpnetsecurity.com/newsletter/\">Newsletters</a></li>\n</ul>\n\t\t\t\t\n                <ul id=\"mainNavSecondary\" class=\"d-flex main-nav__secondary\">\n                    <li class=\"d-none d-lg-block\">\n                        <a href=\"https://www.helpnetsecurity.com/gsearch\"\n                           class=\"btn-squared btn-squared--search\">\n                            <svg\n                                xmlns=\"http://www.w3.org/2000/svg\"\n                                width=\"512\"\n                                height=\"512\"\n                                viewbox=\"0 0 512 512\">\n                                <path\n                                    fill=\"currentColor\"\n                                    d=\"M508.5 468.9 387.1 347.5c-2.3-2.3-5.3-3.5-8.5-3.5h-13.2c31.5-36.5 50.6-84 50.6-136C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c52 0 99.5-19.1 136-50.6v13.2c0 3.2 1.3 6.2 3.5 8.5l121.4 121.4c4.7 4.7 12.3 4.7 17 0l22.6-22.6c4.7-4.7 4.7-12.3 0-17zM208 368c-88.4 0-160-71.6-160-160S119.6 48 208 48s160 71.6 160 160-71.6 160-160 160z\" />\n                            </svg>\n                        </a>\n                    </li>\n                    <li class=\"nav-item nav-item--twitter\">\n                        <a href=\"https://twitter.com/helpnetsecurity\" class=\"btn-squared btn-squared--twitter\">\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"512\" height=\"512\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\"/></svg>\n                        </a>\n                    </li>\n                    <li class=\"nav-item nav-item--linkedin\">\n                        <a\n                            href=\"https://www.linkedin.com/company/helpnetsecurity\"\n                            class=\"btn-squared btn-squared--linkedin\">\n                            <svg\n                                xmlns=\"http://www.w3.org/2000/svg\"\n                                width=\"512\"\n                                height=\"512\"\n                                viewbox=\"0 0 512 512\">\n                                <path\n                                    fill=\"currentColor\"\n                                    d=\"M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z\" />\n                            </svg>\n                        </a>\n                    </li>\n                </ul>\n            </div>\n        </nav>\n    </header>\n\n\t<aside id=\"dfwkzjdy_i6xi18d\" data-l7kn78=\"i6xi18d\" class=\"mkin0nvje npvqbuc_i6xi18d\"></aside>\n\t<div id=\"noScriptAlert\">Please turn on your JavaScript for this page to function normally.</div>\n\t\n\n<div class=\"main-wrapper__in\">\n\n    \n    <section id=\"mainContent\" class=\"main-content\">\n        <div class=\"row g-0\">\n            <div class=\"col main-primary\">\n                <main id=\"main\" class=\"main\">\n\t\t\t\t\t<article\n    class=\"article\"\n    id=\"entrySingle\"\n    data-id=\"375127\" class=\"entry entry--single entry--page post-375127 post type-post status-publish format-standard has-post-thumbnail hentry category-news tag-agentic-ai tag-artificial-intelligence tag-google tag-google-cloud\">\n    <section class=\"row row-cols-1 row-cols-sm-2 article-meta mb-1\">\n\n        \n        <div class=\"col mb-2\">\n            <div class=\"d-flex align-items-center author-block\">\n                <div class=\"flex-shrink-0 relative\">\n                        <img loading=\"lazy\" decoding=\"async\" alt=\"Anamarija Pogorelec\" src=\"https://img.helpnetsecurity.com/wp-content/uploads/2024/04/16092207/anamarija_pogorelec-100x100.jpg\" class=\"avatar avatar-45\" height=\"45\" width=\"45\">                </div>\n                <div class=\"flex-grow-1 ms-2\">\n                    <div class=\"author-byline\">\n                        <a href=\"https://www.helpnetsecurity.com/author/anamarijapogorelec/\" title=\"Author archive: https://www.helpnetsecurity.com/author/anamarijapogorelec/\">Anamarija Pogorelec</a>, Senior Staff Writer, Help Net Security\n                                            </div>\n                    <time class=\"time entry-date\" pubdate datetime=\"2026-06-18T07:45:00+02:00\" title=\"June 18, 2026\">June 18, 2026</time>                </div>\n            </div>\n        </div>\n        <div class=\"col mb-2\">\n            <div class=\"d-flex align-items-center justify-content-end share\">\n    <span><strong>Share</strong></span>    <a href=\"https://www.facebook.com/sharer/sharer.php?u=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/&amp;title=Google&#8217;s open standard for AI agents to discover and verify tools\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools on Facebook\" class=\"btn-squared facebook\">\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"264\"\n            height=\"512\"\n            viewbox=\"0 0 264 512\">\n            <path\n                fill=\"currentColor\"\n                d=\"M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229\" />\n        </svg>\n    </a>\n    <a href=\"https://twitter.com/intent/tweet?url=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/&text=Google%E2%80%99s+open+standard+for+AI+agents+to+discover+and+verify+tools\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools on Twitter\" class=\"btn-squared twitter\">\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"512\" height=\"512\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\"/></svg>\n    </a>\n    <a href=\"https://www.linkedin.com/shareArticle?mini=true&url=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/&title=Google&#8217;s open standard for AI agents to discover and verify tools&source=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools on LinkedIn\" class=\"btn-squared linkedin\">\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"448\"\n            height=\"512\"\n            viewbox=\"0 0 448 512\">\n            <path\n                fill=\"currentColor\"\n                d=\"M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z\" />\n        </svg>\n    </a>\n    <a href=\"mailto:?subject=Google&#8217;s open standard for AI agents to discover and verify tools&amp;body=Check out this site I came across: https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools via E-mail\" class=\"btn-squared email\">\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"512\"\n            height=\"512\"\n            viewbox=\"0 0 512 512\">\n            <path\n                fill=\"currentColor\"\n                d=\"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\" />\n        </svg>\n    </a>\n    <a href=\"https://google.com/preferences/source?q=www.helpnetsecurity.com\"\n       title=\"Add Help Net Security as a preferred source on Google\" class=\"btn-squared google-preferred-source\">\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 -960 960 960\">\n            <path d=\"m489-460 91-55 91 55-24-104 80-69-105-9-42-98-42 98-105 9 80 69zm19 260h224q-7 26-24 42t-44 20L228-85q-33 5-59.5-15.5T138-154L85-591q-4-33 16-59t53-30l46-6v80l-36 5 54 437zm-148-80q-33 0-56.5-23.5T280-360v-440q0-33 23.5-56.5T360-880h440q33 0 56.5 23.5T880-800v440q0 33-23.5 56.5T800-280zm0-80h440v-440H360zM218-164\"/>\n        </svg>\n    </a>\n</div>\n            </div>\n    </section>\n\n    <h1 id=\"entryTitle\" class=\"title mb-5\">Google&#8217;s open standard for AI agents to discover and verify tools</h1>\n    <aside id=\"dfwkzjdy_znp63frj\" data-l7kn78=\"znp63frj\" class=\"mkin0nvje npvqbuc_znp63frj\"></aside>\n    <div class=\"mb-5 line-height-1 content\" id=\"entryContent\">\n        <p><a href=\"https://www.helpnetsecurity.com/2026/06/18/research-ai-coding-agent-oversight/\">AI agents</a> depend on tools, skills, and other agents spread across many teams, organizations, and platforms. These capabilities live in separate systems with their own registries, and an agent working in one environment has limited means to locate and connect to a resource hosted somewhere else.</p>\n<p>Google addressed this gap with Agentic Resource Discovery, an open <a href=\"https://agenticresourcediscovery.org/\" target=\"_blank\">specification</a> for publishing, discovering, and verifying AI capabilities across the web. It allows tools and services to be shared and connected across organizations regardless of their underlying framework, protocol, or provider.</p>\n<p><a href=\"https://img2.helpnetsecurity.com/posts2026/Agentic_Resource_Discovery.webp\" target=\"_blank\"><img decoding=\"async\" src=\"https://img2.helpnetsecurity.com/posts2026/Agentic_Resource_Discovery.webp\" class=\"aligncenter\" alt=\"Agentic Resource Discovery\" title=\"Agentic Resource Discovery\"></a></p>\n<h3>The problem ARD targets</h3>\n<p>An operations agent investigating a production incident illustrates the case for the specification. Resolving the issue could require the agent to query observability systems, search engineering documentation, review deployment history, open support tickets, and consult specialized troubleshooting agents. Many platforms already run custom registries for such capabilities, and those registries stay fragmented and siloed within specific ecosystems. ARD supplies a standard way for agents to discover capabilities across organizational boundaries and establish trust in what they find.</p>\n<p>&#8220;For this ecosystem to scale, agents need reliable answers to three questions: Where does the right capability live? Which capability should I actually use? And how do I verify it’s safe to connect to?&#8221; Google Software Engineers <a href=\"https://developers.googleblog.com/announcing-the-agentic-resource-discovery-specification/\" target=\"_blank\">explained</a>.</p>\n<h3>Catalogs and registries</h3>\n<p>ARD relies on two building blocks. An organization publishes a catalog that describes its available capabilities, hosted as an ai-catalog.json file at a well-known path under the organization&#8217;s own domain. Ownership of that domain serves as the cryptographic foundation for identity and trust. A catalog can list MCP servers, A2A agents, OpenAPI tools, or nested catalogs.</p>\n<p>Registries operate as search engines for the agentic web. They crawl published catalogs, index the contents, and make them searchable. When an agent submits a discovery request, a registry returns matching capabilities along with the metadata needed to verify the publisher before any connection occurs.</p>\n<p>The ARD workflow moves through four stages. A provider publishes its catalog at a well-known path on its domain. An agent that needs a capability either queries a registry with a plain-language intent or fetches a catalog directly from a known partner&#8217;s domain. Publishers can attach verifiable trust metadata for production environments, letting the agent or registry confirm the publisher&#8217;s cryptographic identity before connecting. The agent then loads the capability, interacts with it through its native protocol or API, and returns the result to the user.</p>\n<h3>Support in Gemini Enterprise Agent Platform</h3>\n<p>Google Cloud backs the specification through Agent Registry in Gemini Enterprise Agent Platform, which forms part of the federated network. Agent Registry provides hosted support for searching, discovering, and hosting agentic resources, including agents, skills, <a href=\"https://www.helpnetsecurity.com/2025/10/29/proximity-open-source-mcp-security-scanner/\">MCP servers</a>, and other tools. Users can onboard capabilities directly onto it, and authenticated publisher onboarding is planned.</p>\n<p>Agent Registry also carries enterprise governance functions. It assigns globally unique namespaced URNs, enforces agentic egress policies, and pins tools and specifications. It manages secure resources using Agent Identity to verify the trust manifest, the cryptographic layer that proves agent authenticity and meets compliance standards such as HIPAA. Native ARD support will reach Agent Platform in the coming months.</p>\n<h3>Availability</h3>\n<p>The ARD specification is available now under the Apache 2.0 license and builds on the AI Catalog data model from the AI Catalog Working Group under the Linux Foundation. Developers can publish a catalog using the <a href=\"https://agenticresourcediscovery.org/how_to_publish/#step-1-create-the-manifest-ai-catalogjson\" target=\"_blank\">quickstart guide</a>, read the schemas and federation model, or contribute through the project&#8217;s <a href=\"https://github.com/ards-project/ard-spec\" target=\"_blank\">GitHub</a> repository.</p>\n<p><img decoding=\"async\" src=\"https://img2.helpnetsecurity.com/posts/divider.gif\" class=\"aligncenter\"></p>\n<p><strong>Download: <a href=\"https://helpnet.short.gy/cjp1xo\" target=\"_blank\">The IT and security field guide to AI adoption</a></strong></p>\n<div class=\"hnst-tag-specific-content\">\n</div><!--/.hnst-tag-specific-content-->\n        <div class=\"clearfix\"></div>\n        <div class=\"hnst-tag-specific-content\"></div>\n        <div class=\"clearfix\"></div>\n    </div>\n\n    \n    \n        <div class=\"tags\">\n            <div class=\"tags-title\">More about</div>\n            <ul>\n            <li><a href=\"https://www.helpnetsecurity.com/tag/agentic-ai/\" rel=\"tag\" title=\"agentic AI\">agentic AI</a></li>\n<li><a href=\"https://www.helpnetsecurity.com/tag/artificial-intelligence/\" rel=\"tag\" title=\"AI\">AI</a></li>\n<li><a href=\"https://www.helpnetsecurity.com/tag/google/\" rel=\"tag\" title=\"Google\">Google</a></li>\n<li><a href=\"https://www.helpnetsecurity.com/tag/google-cloud/\" rel=\"tag\" title=\"Google Cloud\">Google Cloud</a></li>\n            </ul>\n        </div>\n\n    \n    <div class=\"share-source d-flex align-items-center justify-content-center share-source--stacked flex-column\">\n    <a href=\"https://google.com/preferences/source?q=https://www.helpnetsecurity.com\" title=\"Add Help Net Security as a preferred source on Google\" class=\"share-source__badge\" style=\"--share-source-badge-height: 70px;\">\n        <img src=\"https://www.helpnetsecurity.com/wp-content/themes/hns26/assets/images/social/google_preferred_source_badge_dark_en.png\" srcset=\"https://www.helpnetsecurity.com/wp-content/themes/hns26/assets/images/social/google_preferred_source_badge_dark_en.png 1x, https://www.helpnetsecurity.com/wp-content/themes/hns26/assets/images/social/google_preferred_source_badge_dark_en@2x.png 2x\" width=\"338\" height=\"107\" alt=\"Add Help Net Security as a preferred source on Google\" loading=\"lazy\">\n    </a>\n<div class=\"d-flex align-items-center justify-content-end share justify-content-center share--colored share--bottom\">\n    <span><strong>Share</strong></span>    <a href=\"https://www.facebook.com/sharer/sharer.php?u=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/&amp;title=Google&#8217;s open standard for AI agents to discover and verify tools\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools on Facebook\" class=\"btn-squared facebook\">\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"264\"\n            height=\"512\"\n            viewbox=\"0 0 264 512\">\n            <path\n                fill=\"currentColor\"\n                d=\"M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229\" />\n        </svg>\n    </a>\n    <a href=\"https://twitter.com/intent/tweet?url=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/&text=Google%E2%80%99s+open+standard+for+AI+agents+to+discover+and+verify+tools\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools on Twitter\" class=\"btn-squared twitter\">\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"512\" height=\"512\" viewBox=\"0 0 512 512\"><path fill=\"currentColor\" d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\"/></svg>\n    </a>\n    <a href=\"https://www.linkedin.com/shareArticle?mini=true&url=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/&title=Google&#8217;s open standard for AI agents to discover and verify tools&source=https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools on LinkedIn\" class=\"btn-squared linkedin\">\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"448\"\n            height=\"512\"\n            viewbox=\"0 0 448 512\">\n            <path\n                fill=\"currentColor\"\n                d=\"M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z\" />\n        </svg>\n    </a>\n    <a href=\"mailto:?subject=Google&#8217;s open standard for AI agents to discover and verify tools&amp;body=Check out this site I came across: https://www.helpnetsecurity.com/2026/06/18/google-agentic-resource-discovery/\" title=\"Share Google&#8217;s open standard for AI agents to discover and verify tools via E-mail\" class=\"btn-squared email\">\n        <svg\n            xmlns=\"http://www.w3.org/2000/svg\"\n            width=\"512\"\n            height=\"512\"\n            viewbox=\"0 0 512 512\">\n            <path\n                fill=\"currentColor\"\n                d=\"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\" />\n        </svg>\n    </a>\n    <a href=\"https://google.com/preferences/source?q=www.helpnetsecurity.com\"\n       title=\"Add Help Net Security as a preferred source on Google\" class=\"btn-squared google-preferred-source\">\n        <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" fill=\"currentColor\" viewBox=\"0 -960 960 960\">\n            <path d=\"m489-460 91-55 91 55-24-104 80-69-105-9-42-98-42 98-105 9 80 69zm19 260h224q-7 26-24 42t-44 20L228-85q-33 5-59.5-15.5T138-154L85-591q-4-33 16-59t53-30l46-6v80l-36 5 54 437zm-148-80q-33 0-56.5-23.5T280-360v-440q0-33 23.5-56.5T360-880h440q33 0 56.5 23.5T880-800v440q0 33-23.5 56.5T800-280zm0-80h440v-440H360zM218-164\"/>\n        </svg>\n    </a>\n</div>\n</div>\n    \n</article>\n                </main>\n            </div>\n\n\t\t\t<div class=\"col main-secondary\">\n\n\t\n\n\t\n\t\n    <section class=\"bg-grey-dark\">\n        <h2 class=\"section-title section-title--small d-flex align-items-end text-white\">\n            <span class=\"section-title__icon\">\n                <i class=\"bg-white\">\n                    <svg\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        viewBox=\"0 0 384 512\"\n                        width=\"24\"\n                        height=\"24\">\n                        <path\n                            fill=\"#313131\"\n                            d=\"M376 232H216V72c0-4.42-3.58-8-8-8h-32c-4.42 0-8 3.58-8 8v160H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h160v160c0 4.42 3.58 8 8 8h32c4.42 0 8-3.58 8-8V280h160c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z\" />\n                    </svg>\n                </i>\n            </span>\n\n            <span class=\"section-title__text\">\n                <strong>Featured</strong>\n                news\n            </span>\n        </h2>\n        <ul class=\"list-group text-white font-size-6 line-height-3 p-4\">\n\t\t\t                <li><a href=\"https://www.helpnetsecurity.com/2026/09/17/cisco-ise-vulnerability-exploited-cve-2026-76460/\" title=\"Unauthenticated attackers are bypassing Cisco ISE&#8217;s management interface (CVE-2026-76460)\"\n                       rel=\"bookmark\">Unauthenticated attackers are bypassing Cisco ISE&#8217;s management interface (CVE-2026-76460)</a></li>\n\t\t\t                <li><a href=\"https://www.helpnetsecurity.com/2026/09/17/ai-antivirus-renewal-scam-fake-pages/\" title=\"Scammers leave AI fingerprints all over fake antivirus renewal page\"\n                       rel=\"bookmark\">Scammers leave AI fingerprints all over fake antivirus renewal page</a></li>\n\t\t\t                <li><a href=\"https://www.helpnetsecurity.com/2026/09/17/frederic-bull-gremlin-ai-in-cybersecurity-gap/\" title=\"The AI security question leaders should be asking instead\"\n                       rel=\"bookmark\">The AI security question leaders should be asking instead</a></li>\n\t\t\t        </ul>\n\n\t\t\n<!-- CACHED ON: 17.09.2026 22:07:44 -->\n\t\t\t\t\t<footer id=\"custom_html-3\" class=\"widget_text widget__footer widget_custom_html spotlight\"><div class=\"widget_text spotlight-content\"><div class=\"textwidget custom-html-widget\"><a href=\"https://helpnet.short.gy/zGN2Fs\" target=\"_blank\">Download: 2026 Credential Risk Report</a></div></div></footer>\t\t\n    </section>\n\n\t<aside id=\"dfwkzjdy_4orna0\" data-l7kn78=\"4orna0\" class=\"mkin0nvje npvqbuc_4orna0 n90c0gyb\"><div id=\"ly2ptt_x6w25vt_psuk1_384345\"><div id=\"x6w25vt_psuk1_384345\" data-l7kn78-u=\"4orna0\" data-7e2ve=\"psuk1\" data-55z1rl=\"wo8l7g\" data-q87rniv7=\"34974\" data-371vpe=\"s24ey1\" data-ms1v0p=\"Mzg0MzQ1fDE3ODk2NzYyMDd8d0d3Rklyekk.22b3a18b87220a8e\"><a target='_blank' href='/fua201r7/36adc504276b969c/YzJ8Mzg0MzQ1fDE3ODk2NzYyMDd8aHR0cHM6Ly9oZWxwbmV0LnNob3J0Lmd5L1FueWlwbQ'><img src='https://img.helpnetsecurity.com/wp-content/uploads/2026/09/11090248/2026-87-enzoic-r2.webp' loading='lazy' decoding='async' alt=''></a></div></div></aside>\n\t\n\t\n        <section>\n\n\t\t\t\n                <h2\n                    class=\"section-title section-title--small d-flex align-items-end border-top-4 border-light-red mb-3\">\n                    <span class=\"section-title__icon\">\n                        <i class=\"bg-light-red\">\n                            <svg\n                                xmlns=\"http://www.w3.org/2000/svg\"\n                                viewBox=\"0 0 384 512\"\n                                width=\"24\"\n                                height=\"24\">\n                                <path\n                                    fill=\"#fff\"\n                                    d=\"M376 232H216V72c0-4.42-3.58-8-8-8h-32c-4.42 0-8 3.58-8 8v160H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h160v160c0 4.42 3.58 8 8 8h32c4.42 0 8-3.58 8-8V280h160c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z\" />\n                            </svg>\n                        </i>\n                    </span>\n\n                    <span class=\"section-title__text\">\n                        <strong><strong>Resources</strong></strong>\n                    </span>\n                </h2>\n\n\t\t\t\n            <ul class=\"list-group px-sm-0 font-size-4\">\n\n\t\t\t\t\n                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/07/28/download-the-high-performance-team-playbook/\" title=\"Download: The High-Performance Team Playbook\"\n                           rel=\"bookmark\">Download: The High-Performance Team Playbook</a>\n                    </li>\n\n\t\t\t\t\n                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/06/03/simplify-security-management-with-cis-securesuite-platform/\" title=\"Simplify security management with CIS SecureSuite Platform\"\n                           rel=\"bookmark\">Simplify security management with CIS SecureSuite Platform</a>\n                    </li>\n\n\t\t\t\t\n                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/05/12/tines-download-ai-adoption-guide/\" title=\"Download: The IT and security field guide to AI adoption\"\n                           rel=\"bookmark\">Download: The IT and security field guide to AI adoption</a>\n                    </li>\n\n\t\t\t\t\n            </ul>\n        </section>\n\n\t\n\t<aside id=\"dfwkzjdy_77ksjox\" data-l7kn78=\"77ksjox\" class=\"mkin0nvje npvqbuc_77ksjox\"></aside>\n</div>\n\n        </div>\n\n\t\t\n\t        <section class=\"dont-miss mb-5\">\n            <h2\n                class=\"section-title border-top-4 border-grey-dark d-flex align-items-end align-items-md-center mb-4\">\n            <span class=\"section-title__icon\">\n                <i class=\"bg-grey-dark\">\n                    <svg\n                        xmlns=\"http://www.w3.org/2000/svg\"\n                        viewBox=\"0 0 384 512\"\n                        width=\"24\"\n                        height=\"24\">\n                        <path\n                            fill=\"#fff\"\n                            d=\"M376 232H216V72c0-4.42-3.58-8-8-8h-32c-4.42 0-8 3.58-8 8v160H8c-4.42 0-8 3.58-8 8v32c0 4.42 3.58 8 8 8h160v160c0 4.42 3.58 8 8 8h32c4.42 0 8-3.58 8-8V280h160c4.42 0 8-3.58 8-8v-32c0-4.42-3.58-8-8-8z\" />\n                    </svg>\n                </i>\n            </span>\n                <span class=\"section-title__text\"><strong>Don't</strong> miss</span>\n            </h2>\n            <ul class=\"list-group list-group--horizontal font-size-4\">\n\t\t\t\t                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/09/17/cisa-guidance-for-implementing-cyber-decoys/\" title=\"CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys\"\n                           rel=\"bookmark\">CISA wants critical infrastructure orgs and smaller security teams to start using cyber decoys</a>\n                    </li>\n\t\t\t\t                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/09/17/cisco-ise-vulnerability-exploited-cve-2026-76460/\" title=\"Unauthenticated attackers are bypassing Cisco ISE&#8217;s management interface (CVE-2026-76460)\"\n                           rel=\"bookmark\">Unauthenticated attackers are bypassing Cisco ISE&#8217;s management interface (CVE-2026-76460)</a>\n                    </li>\n\t\t\t\t                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/09/17/ai-antivirus-renewal-scam-fake-pages/\" title=\"Scammers leave AI fingerprints all over fake antivirus renewal page\"\n                           rel=\"bookmark\">Scammers leave AI fingerprints all over fake antivirus renewal page</a>\n                    </li>\n\t\t\t\t                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/09/17/fake-ai-trading-agent-research/\" title=\"Fake AI trading agent steals crypto wallet passwords\"\n                           rel=\"bookmark\">Fake AI trading agent steals crypto wallet passwords</a>\n                    </li>\n\t\t\t\t                    <li>\n                        <a href=\"https://www.helpnetsecurity.com/2026/09/17/frederic-bull-gremlin-ai-in-cybersecurity-gap/\" title=\"The AI security question leaders should be asking instead\"\n                           rel=\"bookmark\">The AI security question leaders should be asking instead</a>\n                    </li>\n\t\t\t\t            </ul>\n        </section>\n\n\t\n<!-- CACHED ON: 17.09.2026 22:07:44 -->\n<div class=\"mb-4\">\n\t<aside id=\"dfwkzjdy_hycck2sc\" data-l7kn78=\"hycck2sc\" class=\"mkin0nvje npvqbuc_hycck2sc\"></aside></div>\n\n    </section>\n\n    <aside id=\"dfwkzjdy_e5j9ek\" data-l7kn78=\"e5j9ek\" class=\"mkin0nvje npvqbuc_e5j9ek\"></aside>\n</div><!--/.main-wrapper__in -->\n\n<aside id=\"dfwkzjdy_jjvx1z\" data-l7kn78=\"jjvx1z\" class=\"mkin0nvje npvqbuc_jjvx1z n90c0gyb\"><div id=\"ly2ptt_x6w25vt_noolny_384317\"><div id=\"x6w25vt_noolny_384317\" data-l7kn78-u=\"jjvx1z\" data-7e2ve=\"noolny\" data-55z1rl=\"wo8l7g\" data-ms1v0p=\"Mzg0MzE3fDE3ODk2NzYyMDd8ZlhEUkU2Nlg.ea63ca4d518e3cc1\"><a target='_blank' href='/fua201r7/a17a388d89331b6c/YzJ8Mzg0MzE3fDE3ODk2NzYyMDd8aHR0cHM6Ly9oZWxwbmV0LnNob3J0Lmd5L1RHQldJYg' rel='nofollow'></a></div></div></aside></div><!-- /#wrapper -->\n\n\n\n<style>\n.mjl-form-text {\n    margin-top: .25rem;\n    font-size: 14px;\n    color: rgba(0,0,0,.65);\n}\n.mjl-form {\n    line-height: 1.2 !important;\n    font-size: 1rem !important;\n}\n.mjl-form a {\n    color: black !important;\n}\n.mjl-form .hns-newsletter__wrapper {\n    max-width: 600px;\n}\n.ml-response-message:not(:empty) {\n    text-align: center;\n    padding: 16px;\n    color: #ffffff;\n}\n.ml-response-message--error {\n    background-color: #fa7e82;\n}\n.ml-response-message--success {\n    background-color: #00cb79;\n}\n.ml-response-message--warning {\n    background-color: #fda700;\n}\n.article .mjl-form .hns-newsletter {\n    padding-top: 0;\n}\n.article .mjl-form .hns-newsletter__top {\n    display: none;\n}\n.article .mjl-form .hns-newsletter__bottom,\n.article .mjl-form .hns-newsletter__body {\n    background-color: #ffffff;\n}\n.article .mjl-form .container {\n    padding-left: 0;\n    padding-right: 0;\n}\n.article .mjl-form .hns-newsletter__wrapper {\n    max-width: 100%;\n}\n</style>\n<form class=\"mc4wp-form mailerlite-subscription-form mjl-form\" method=\"post\" data-name=\"Newsletter form\">\n    <div class=\"ml-response-message\"></div>\n    <div class=\"mc4wp-form-fields\">\n        <div class=\"hns-newsletter\">\n            <div class=\"hns-newsletter__top\">\n                <div class=\"container\">\n                    <div class=\"hns-newsletter__wrapper\">\n                        <div class=\"hns-newsletter__title\">\n                            <i>\n                                <svg class=\"hic\">\n                                    <use href=\"#hic-plus\" xlink:href=\"#hic-plus\"></use>\n                                </svg>\n                            </i>\n                            <span>Cybersecurity news</span>\n                        </div>\n                    </div>\n                </div>\n            </div>\n            <div class=\"hns-newsletter__bottom\">\n                <div class=\"container\">\n                    <div class=\"hns-newsletter__wrapper\">\n                        <div class=\"hns-newsletter__body\">\n                                                    <div class=\"row row-cols-1 row-cols-sm-2\">\n                                                                    <div class=\"col\">\n                                        <div class=\"form-check form-control-lg\">\n                                            <input class=\"form-check-input\" type=\"checkbox\" name=\"groups[]\" value=\"145500480814974741\" id=\"ml_group_1_footer\" aria-describedby=\"ml_group_1_footerDescBlock\">\n                                            <label class=\"form-check-label text-nowrap\" for=\"ml_group_1_footer\">HNS Daily</label>\n                                                                                            <div id=\"ml_group_1_footerDescBlock\" class=\"mjl-form-text\">\n                                                    Daily newsletter sent Monday-Friday                                                </div>\n                                                                                    </div>\n                                    </div>\n                                                                    <div class=\"col\">\n                                        <div class=\"form-check form-control-lg\">\n                                            <input class=\"form-check-input\" type=\"checkbox\" name=\"groups[]\" value=\"145500471051683485\" id=\"ml_group_2_footer\" aria-describedby=\"ml_group_2_footerDescBlock\">\n                                            <label class=\"form-check-label text-nowrap\" for=\"ml_group_2_footer\">HNS Newsletter</label>\n                                                                                            <div id=\"ml_group_2_footerDescBlock\" class=\"mjl-form-text\">\n                                                    Weekly newsletter sent on Mondays                                                </div>\n                                                                                    </div>\n                                    </div>\n                                                                    <div class=\"col\">\n                                        <div class=\"form-check form-control-lg\">\n                                            <input class=\"form-check-input\" type=\"checkbox\" name=\"groups[]\" value=\"145500489465726883\" id=\"ml_group_3_footer\" aria-describedby=\"ml_group_3_footerDescBlock\">\n                                            <label class=\"form-check-label text-nowrap\" for=\"ml_group_3_footer\">InSecure Newsletter</label>\n                                                                                            <div id=\"ml_group_3_footerDescBlock\" class=\"mjl-form-text\">\n                                                    Editor&#039;s choice newsletter sent twice a month                                                </div>\n                                                                                    </div>\n                                    </div>\n                                                                    <div class=\"col\">\n                                        <div class=\"form-check form-control-lg\">\n                                            <input class=\"form-check-input\" type=\"checkbox\" name=\"groups[]\" value=\"145500495787591675\" id=\"ml_group_4_footer\" aria-describedby=\"ml_group_4_footerDescBlock\">\n                                            <label class=\"form-check-label text-nowrap\" for=\"ml_group_4_footer\">Cybersecurity news alerts</label>\n                                                                                            <div id=\"ml_group_4_footerDescBlock\" class=\"mjl-form-text\">\n                                                    Periodical newsletter released for important security events and breaking news                                                </div>\n                                                                                    </div>\n                                    </div>\n                                                                    <div class=\"col\">\n                                        <div class=\"form-check form-control-lg\">\n                                            <input class=\"form-check-input\" type=\"checkbox\" name=\"groups[]\" value=\"145500502267791040\" id=\"ml_group_5_footer\" aria-describedby=\"ml_group_5_footerDescBlock\">\n                                            <label class=\"form-check-label text-nowrap\" for=\"ml_group_5_footer\">Cybersecurity jobs</label>\n                                                                                            <div id=\"ml_group_5_footerDescBlock\" class=\"mjl-form-text\">\n                                                    Weekly newsletter listing new cybersecurity job positions                                                </div>\n                                                                                    </div>\n                                    </div>\n                                                                    <div class=\"col\">\n                                        <div class=\"form-check form-control-lg\">\n                                            <input class=\"form-check-input\" type=\"checkbox\" name=\"groups[]\" value=\"145500528950904817\" id=\"ml_group_6_footer\" aria-describedby=\"ml_group_6_footerDescBlock\">\n                                            <label class=\"form-check-label text-nowrap\" for=\"ml_group_6_footer\">Open source</label>\n                                                                                            <div id=\"ml_group_6_footerDescBlock\" class=\"mjl-form-text\">\n                                                    Monthly newsletter focusing on open source cybersecurity tools                                                </div>\n                                                                                    </div>\n                                    </div>\n                                                            </div><!--/.row -->\n                                                </div>\n                        <div class=\"input-group mb-3\">\n                            <input aria-label=\"Please enter your e-mail address\" aria-required=\"true\" type=\"email\" class=\"form-control border-dark\" name=\"fields[email]\" placeholder=\"Please enter your e-mail address\" autocomplete=\"email\" required>\n                            <button class=\"btn btn-dark rounded-0\" type=\"submit\">Subscribe</button>\n                        </div>\n                        <div class=\"form-check\">\n                            <input class=\"form-check-input ml_terms\" type=\"checkbox\" name=\"AGREE_TO_TERMS\" value=\"true\" id=\"ml_terms_footer\" required=\"\">\n                            <label class=\"form-check-label\" for=\"ml_terms_footer\">\n                                <span>I have read and agree to the\n                                    <a href=\"https://www.helpnetsecurity.com/newsletter/\" target=\"_blank\" rel=\"noopener\" class=\"d-inline-block\">terms &amp; conditions</a>\n                                </span>\n                            </label>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</form>\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    document.querySelectorAll(\".mailerlite-subscription-form\").forEach((form) => {\n        const submitButton = form.querySelector(\"button[type='submit']\");\n        const messageElement = form.querySelector(\".ml-response-message\");\n\n        if (!form || !messageElement) {\n            console.error(\"Form or message element not found:\", form);\n            return;\n        }\n\n        form.addEventListener(\"submit\", function (event) {\n            event.preventDefault();\n\n            messageElement.classList.remove(\"ml-response-message--error\", \"ml-response-message--success\", \"ml-response-message--warning\");\n            messageElement.innerHTML = \"\";\n\n            const termsCheckbox = form.querySelector(\".ml_terms\");\n            if (!termsCheckbox || !termsCheckbox.checked) {\n                messageElement.classList.add(\"ml-response-message--error\");\n                messageElement.innerHTML = \"You must agree to the terms & conditions.\";\n                return;\n            }\n\n            submitButton.disabled = true;\n            submitButton.innerHTML = \"Processing...\";\n\n            const formData = new FormData(form);\n            formData.append(\"action\", \"custom_mailerlite_subscription\");\n            formData.append(\"security\", mailerlite_ajax_object.security);\n\n            const selectedGroups = [];\n            form.querySelectorAll('input[name=\"groups[]\"]:checked').forEach((checkbox) => {\n                selectedGroups.push(checkbox.value);\n            });\n\n            console.log(\"selectedGroups\", selectedGroups);\n\n            formData.append(\"groups\", JSON.stringify(selectedGroups));\n            formData.append(\"termsaccepted\", \"true\");\n\n            fetch(mailerlite_ajax_object.ajax_url, {\n                method: \"POST\",\n                body: formData,\n            })\n                .then((response) => response.json())\n                .then((response) => {\n                    // console.log(\"API Response:\", response);\n\n                    submitButton.disabled = false;\n                    submitButton.innerHTML = \"Subscribe\";\n\n                    const responseMessage = response.data?.message || \"Unexpected error. Please try again.\";\n                    messageElement.innerHTML = responseMessage;\n\n                    messageElement.classList.add(\"ml-response-messages\"); // Keep base class\n\n                    if (response.success) {\n                        messageElement.classList.add(\"ml-response-message--success\");\n                        form.reset();\n                        return;\n                    }\n\n                    if (response.data?.existing) {\n                        messageElement.classList.add(\"ml-response-message--warning\");\n                        return;\n                    }\n\n                    messageElement.classList.add(\"ml-response-message--error\");\n                })\n                .catch((error) => {\n                    // console.error(\"Error:\", error);\n                    messageElement.classList.add(\"ml-response-message--error\");\n                    messageElement.innerHTML = \"Something went wrong. Please try again.\";\n                    submitButton.disabled = false;\n                    submitButton.innerHTML = \"Subscribe\";\n                });\n        });\n    });\n});\n</script>\n<footer id=\"mainFooter\" class=\"main-footer\">\n    <div class=\"footer-top\">\n        <div class=\"container\">\n            <div class=\"row justify-content-between align-items-center\">\n                <div class=\"col-auto footer-brand-col\">\n                    <a\n                        class=\"logo d-inline-block d-lg-block\"\n                        href=\"https://www.helpnetsecurity.com/\"\n                        rel=\"home\"\n                        title=\"Help Net Security - Daily information security news with a focus on enterprise security.\">\n                        <svg\n                            xmlns=\"http://www.w3.org/2000/svg\"\n                            width=\"1200\"\n                            height=\"72\"\n                            viewbox=\"0 0 1200 72.34\">\n                            <path\n                                fill=\"#fdcc08\"\n                                d=\"M0 0v72.34h72.34V0H0Zm53.66 39.11H39v14.66h-4.68V39.11H19.66v-4.68h14.66V19.77H39v14.66h14.66v4.68Z\" />\n                            <g fill=\"#fff\">\n                                <path\n                                    d=\"M104.82 8.36h4.17V34.6h49.65V8.36h4.17v58.91h-4.17V37.9h-49.65v29.37h-4.17V8.36ZM175.98 8.36h51.19v3.3h-47.02v23.43h45.11v3.3h-45.11v25.58h47.56v3.3h-51.74V8.36ZM237.07 8.36h4.18v55.62h42.48v3.3h-46.66V8.36ZM291.44 8.36h33.76c9.08 0 19.7 2.89 19.7 16.34 0 9.9-6.17 16.67-20.33 16.67h-28.95v25.91h-4.17V8.36Zm4.17 29.71h28.86c7.99 0 16.25-2.89 16.25-13.2 0-13.2-11.71-13.2-17.25-13.2H295.6v26.4ZM369.92 8.36h15.61l38.58 44.23h.18V8.36h13.07v58.91h-15.34l-38.85-44.23h-.18v44.23h-13.07V8.36ZM452.89 8.36h56.27v9.24H466.5v14.85h40.93v9.24H466.5v16.34h43.39v9.24h-57V8.36ZM540.11 17.6h-24.33V8.36h62.27v9.24h-24.33v49.67H540.1V17.6ZM644.58 25.61c-.72-4.04-4.08-6.85-14.07-6.85-7.26 0-11.26 1.9-11.26 5.78 0 1.9 1.64 3.14 4.82 3.63 5.35.91 22.05 3.14 28.4 4.04 12.07 1.9 19.33 6.44 19.33 16.75 0 19.97-28.5 20.13-37.39 20.13-21.96 0-37.94-3.55-39.12-19.97h25.6c.45 4.46 3.35 7.26 14.52 7.26 5.44 0 11.34-1.15 11.34-6.19 0-3.05-2.72-4.21-10.26-5.28l-21.6-2.97c-13.35-1.73-18.52-7.84-18.52-16.67 0-7.67 5.27-18.73 33.67-18.73 23.61 0 37.58 5.2 39.03 19.06h-24.51ZM682.7 8.36h64.9v12.71h-43.29v10.65h40.57v12.21h-40.57v10.64h43.29v12.71h-64.9V8.36ZM837.38 44.58c-2.64 12.79-10.26 24.51-41.03 24.51-27.51 0-40.76-10.89-40.76-31.27s12.62-31.27 40.76-31.27c19.88 0 36.03 4.04 40.84 24.51h-24.05c-1.27-4.29-4.45-11.3-16.7-11.3-13.52 0-17.97 8.33-17.97 18.07s3.99 18.07 17.97 18.07c9.81 0 15.52-4.37 16.97-11.3h23.97ZM847.73 8.36h21.6v34.9c0 9.57 4.91 12.62 14.8 12.62s14.79-3.05 14.79-12.62V8.36h21.61v38.12c0 16.26-13.44 22.61-36.4 22.61s-36.4-6.35-36.4-22.61V8.36ZM934.95 8.36h51.92c15.97 0 21.69 6.6 21.69 16.42 0 7.92-4.53 12.13-10.34 13.45v.16c4.08 1.24 7.17 4.21 7.8 10.56 1 11.55 1.36 15.43 4.09 18.32h-23.69c-1.18-2.56-1.27-6.02-1.27-8.75 0-9.24-3.37-10.89-8.81-10.89h-19.79v19.64h-21.6V8.36Zm21.6 26.07h20.79c5.35 0 8.07-2.47 8.07-6.52s-2.72-6.35-8.07-6.35h-20.79v12.87ZM1021.54 8.36h21.61v58.91h-21.61V8.36ZM1052.13 8.36h69.17v13.2h-23.78v45.71h-21.6V21.56h-23.78V8.36Z\" />\n                                <path\n                                    d=\"m1149.63 48.71-28.78-40.35h25.05l14.52 25 14.52-25h25.05l-28.77 40.35v18.56h-21.6V48.71Z\" />\n                            </g>\n                        </svg>\n                    </a>\n                </div>\n                <div class=\"col-auto footer-copy-col\">\n                    © Copyright 1998-2026 by\n                    <a href=\"https://www.helpnetsecurity.com/\" rel=\"home\"\n                       title=\"Help Net Security - Daily information security news with a focus on enterprise security.\">Help Net Security</a>\n                </div>\n                <div class=\"col-auto footer-small-links footer-small-links-col\">\n                    <a href=\"https://www.helpnetsecurity.com/privacy-policy/\">Read our privacy policy</a>\n                    <span class=\"delimiter\">|</span>\n                    <a href=\"https://www.helpnetsecurity.com/about-us/\">About us</a>\n                    <span class=\"delimiter\">|</span>\n                    <a href=\"https://www.helpnetsecurity.com/advertise/\">Advertise</a>\n                </div>\n                <div class=\"col-auto footer-follow-us-col\">\n                    <div class=\"d-flex align-items-center footer-follow\">\n                        <span>Follow us</span>\n                        <a href=\"https://twitter.com/helpnetsecurity\" class=\"btn-squared btn-squared--twitter me-0\">\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"512\" height=\"512\" viewBox=\"0 0 512 512\">\n                                <path fill=\"currentColor\"\n                                      d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\" />\n                            </svg>\n                        </a>\n                        <a\n                            href=\"https://www.linkedin.com/company/helpnetsecurity\"\n                            class=\"btn-squared btn-squared--linkedin me-0\">\n                            <svg\n                                xmlns=\"http://www.w3.org/2000/svg\"\n                                width=\"512\"\n                                height=\"512\"\n                                viewbox=\"0 0 512 512\">\n                                <path\n                                    fill=\"currentColor\"\n                                    d=\"M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z\" />\n                            </svg>\n                        </a>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</footer>\n\n<script type=\"speculationrules\">\n{\"prefetch\":[{\"source\":\"document\",\"where\":{\"and\":[{\"href_matches\":\"/*\"},{\"not\":{\"href_matches\":[\"/wp-*.php\",\"/wp-admin/*\",\"/wp-content/uploads/*\",\"/wp-content/*\",\"/wp-content/plugins/*\",\"/wp-content/themes/hns26/*\",\"/*\\\\?(.+)\"]}},{\"not\":{\"selector_matches\":\"a[rel~=\\\"nofollow\\\"]\"}},{\"not\":{\"selector_matches\":\".no-prefetch, .no-prefetch a\"}}]},\"eagerness\":\"conservative\"}]}\n</script>\n<div class=\"modal fade rarpd5urhd\" id=\"jjkomp1z2\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\" style=\"display: none;\">\n    <div class=\"modal-dialog modal-dialog-centered\" role=\"document\">\n        <div class=\"modal-content\">\n            <button type=\"button\" class=\"close\" id=\"lttn803c06\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>\n            <div class=\"modal-body\" style=\"padding:0;\"><aside id=\"dfwkzjdy_ic0kl5\" data-l7kn78=\"ic0kl5\" class=\"mkin0nvje npvqbuc_ic0kl5\"></aside></div>\n        </div>\n    </div>\n</div>\n<div class=\"modal-backdrop fade show\" id=\"n9kauroq3c\" style=\"display: none;\"></div>\n<script id=\"hns26-init-js-extra\">\nvar mailerlite_ajax_object = {\"ajax_url\":\"https://www.helpnetsecurity.com/wp-admin/axe-effect/\",\"security\":\"c08478fe06\"};\n//# sourceURL=hns26-init-js-extra\n</script>\n<script id=\"hns26-init-js\" src=\"https://www.helpnetsecurity.com/wp-content/themes/hns26/assets/js/ads.dist.js?ver=7.0.4\"></script>\n<style>#dfwkzjdy_i6xi18d{margin:auto;position:relative;box-sizing:border-box;cursor:auto;font-size:0px;padding:0 1rem 2rem 1rem;display:block;text-align:center;}#dfwkzjdy_znp63frj{margin:auto;-webkit-font-smoothing:antialiased;position:relative;box-sizing:border-box;text-align:center;display:block;padding:0em;overflow-x:visible;outline-color:transparent;}#x6w25vt_psuk1_384345{position:relative;display:block;margin:0 auto;max-width:300px;}#x6w25vt_psuk1_384345>a{display:block}#x6w25vt_psuk1_384345 img{display:block;width:100%;height:auto;aspect-ratio:auto 6/5}#dfwkzjdy_4orna0{text-align:center;-webkit-font-smoothing:antialiased;box-sizing:border-box;overflow-x:visible;margin:auto;position:relative;padding:2rem 0px;display:block;}#dfwkzjdy_77ksjox{display:block;margin:auto;position:relative;padding:2rem 0;box-sizing:border-box;text-align:center;}#dfwkzjdy_hycck2sc{display:block;margin:auto;position:relative;font-size:0rem;cursor:auto;padding:2rem 0px;text-align:center;overflow-x:visible;box-sizing:border-box;}#dfwkzjdy_e5j9ek{position:initial;padding:0rem;-webkit-font-smoothing:antialiased;outline-color:transparent;display:block;margin:auto;text-align:center;box-sizing:border-box;}#x6w25vt_noolny_384317>a{background:#ffffff url(https://img.helpnetsecurity.com/wp-content/uploads/2026/09/10104618/2026-17-airia-wallp1.webp) no-repeat fixed 50% 0;width:100%;height:100%;position:fixed;display:block;top:0;left:0;z-index:-1;}#x6w25vt_noolny_384317{position:relative;display:block;margin:0 auto;max-width:100%;}#x6w25vt_noolny_384317>a{display:block}#x6w25vt_noolny_384317 img{display:block;width:100%;height:auto;aspect-ratio:auto 1/1}#dfwkzjdy_jjvx1z{overflow-x:visible;position:relative;box-sizing:border-box;margin:auto;padding:0px;display:block;text-align:center;}#dfwkzjdy_ic0kl5{cursor:auto;display:block;position:relative;outline-color:transparent;text-align:center;padding:0;margin:auto;box-sizing:border-box;}</style>\n<script>\n(() => {\nconst hnsP = {\"wallpaperAdDelay\":0,\"modalAdDelay\":0,\"modalBackdropTransparency\":92,\"u\":\"l7kn78\",\"a\":{\"dt\":\"data-7e2ve\",\"disp\":\"data-55z1rl\",\"tw\":\"data-q87rniv7\",\"mp\":\"data-371vpe\",\"cb\":\"data-vq0u3xw\",\"fb\":\"data-cmlsf\",\"vw\":\"data-ms1v0p\"},\"v\":{\"desktop\":\"noolny\",\"mobile\":\"hmt7gm\",\"advanced\":\"psuk1\",\"modal\":\"pqjcs\",\"w1\":\"e5j9ek\",\"w2\":\"jjvx1z\",\"mpAboveTitle\":\"qd5l7dn1\",\"mpBelowTitle\":\"x1lpaf\",\"mpBelowContent\":\"3aqr0u\",\"mpAfter3rd\":\"s24ey1\",\"mpInShortcode\":\"jk08c\",\"mpAfterHeader\":\"b070ph\"},\"m\":{\"id\":\"jjkomp1z2\",\"cl\":\"lttn803c06\",\"bd\":\"n9kauroq3c\"},\"cbm\":{\"nhg0hq7k\":\"onModalBoxReadyCountdown\"},\"to\":33855,\"vb\":\"\\/a9o7x2k2h\\/\"};\n!function(){const e=\"undefined\"==typeof hnsP?{}:hnsP;function t(){const e=(e,t)=>{const n={css:'link[rel=\"stylesheet\"]',js:\"script\"};if(!n[t])throw new Error('Invalid type. Use \"css\" or \"js\".');const i=document.querySelectorAll(n[t]),o=e.includes(\"/\");for(let t=0;t<i.length;t++){const n=i[t],r=new URL(n.href||n.src,window.location.origin);if(o){const t=new URL(e,window.location.origin);if(r.pathname===t.pathname)return!0;continue}if(r.pathname.split(\"/\").pop()===e)return!0}return!1};[{id:\"hnsSimpleGalleryJs\",url:\"/wp-content/themes/hns26/assets/libs/simple-lightbox/simple-lightbox.min.js\",defer:!0,location:\"footer\"}].map((t=>(t=>{if(e(t.url,\"css\"))return;const n=document.createElement(\"script\");n.setAttribute(\"type\",\"text/javascript\"),n.setAttribute(\"src\",t.url),n.setAttribute(\"id\",t.id);const i=t.location??\"header\";t.defer&&n.setAttribute(\"defer\",!0),void 0!==n&&(\"footer\"===i?document.body:document.getElementsByTagName(\"head\")[0]).appendChild(n)})(t)));document.addEventListener(\"DOMContentLoaded\",(t=>{[{id:\"hnsSimpleGalleryCss\",url:\"/wp-content/themes/hns26/assets/libs/simple-lightbox/simple-lightbox.min.css\"}].map((t=>(t=>{if(e(t.url,\"css\"))return;const n=document.createElement(\"link\");n.setAttribute(\"rel\",\"stylesheet\"),n.setAttribute(\"type\",\"text/css\"),n.setAttribute(\"href\",t.url),n.setAttribute(\"id\",t.id),void 0!==n&&document.getElementsByTagName(\"head\")[0].appendChild(n)})(t)))}))}window.addEventListener(\"load\",(function(){!function(){const e=document.getElementById(\"mainNavToggle\"),t=document.getElementById(\"mainNavSupportedContent\");e&&t&&e.addEventListener(\"click\",(function(){this.classList.toggle(\"active\"),this.setAttribute(\"aria-expanded\",this.classList.contains(\"active\").toString()),t.classList.toggle(\"open\")}))}()})),function(){const e=Array.from(document.querySelectorAll('article a[href$=\".jpg\"], article a[href$=\".jpeg\"], article a[href$=\".png\"], article a[href$=\".gif\"]'));Array.isArray(e)&&e.length&&(t(),window.addEventListener(\"load\",(t=>new SimpleLightbox(e))))}();const n=e.m||{},i=n.id?document.getElementById(n.id):null,o=n.cl?document.getElementById(n.cl):null,r=n.bd?document.getElementById(n.bd):null;function s(){r.style.display=\"none\",i.style.display=\"none\",i.classList.remove(\"show\")}o&&o.addEventListener(\"click\",(()=>s())),window.onclick=e=>{e.target===i&&s()},document.addEventListener(\"DOMContentLoaded\",(()=>{\"use strict\";const t=e.u;if(t){const n=\"data-\"+t+\"-u\",o=Array.from(document.querySelectorAll(\"[\"+n+\"]\")),s=function(){const e=document.getElementById(\"advertisement\");return!e||0===e.offsetHeight}(),l=e.a||{},d=e.v||{},a=e.modalBackdropTransparency,c=1e3*(parseInt(e.wallpaperAdDelay,10)||0),m=1e3*(parseInt(e.modalAdDelay,10)||0),u={postTitle:document.getElementById(\"entryTitle\"),postContent:document.getElementById(\"entryContent\"),mainHeader:document.getElementById(\"mainHeader\")},p=e=>{(e.parentElement||e).style.display=\"none\"},f=e=>{const t=l.fb?e.querySelector(\"template[\"+l.fb+\"]\"):null;t&&(s?e.innerHTML=t.innerHTML:t.remove())},h=t=>{const n=parseInt(t.getAttribute(l.tw),10),i=isNaN(n)?0:n-(e.to||0),o=t.getAttribute(l.mp);if(i&&o&&!(document.body.classList.contains(\"page-template-default\")||window.innerWidth>=i))if(t.classList.add(\"temp_position\"),o===d.mpAboveTitle&&u.postTitle)u.postTitle.insertAdjacentElement(\"beforebegin\",t);else if(o===d.mpBelowTitle&&u.postTitle)u.postTitle.insertAdjacentElement(\"afterend\",t);else if(o===d.mpBelowContent&&u.postContent)u.postContent.insertAdjacentElement(\"afterend\",t);else if(o===d.mpAfter3rd&&u.postContent){const e=document.querySelector(\"#entryContent > p:nth-child(4)\");e&&e.insertAdjacentElement(\"afterend\",t)}else if(o===d.mpInShortcode){const e=document.getElementById(\"position-\"+t.id);e&&e.appendChild(t)}else o===d.mpAfterHeader&&u.mainHeader&&u.mainHeader.insertAdjacentElement(\"afterend\",t)},y=t=>{i&&r&&setTimeout((()=>{var n;a&&r.classList.contains(\"show\")&&(r.style.backgroundColor=(n=a,`rgba(${0}, ${0}, ${0}, ${Math.min(Math.max(n,0),100)/100})`),r.style.opacity=\"1\"),r.style.display=\"block\",i.style.display=\"block\",i.classList.add(\"show\");const o=t.getAttribute(l.cb),s=o&&e.cbm?e.cbm[o]:null;if(s&&\"function\"==typeof window[s])try{window[s]()}catch(e){}}),m)},g=e=>{if(c<=0)return;const t=e.parentElement;t&&(t.style.visibility=\"hidden\",setTimeout((()=>{t.style.visibility=\"\"}),c))},b=242500,w=1e3,v=new Set,E=new Map;let A=null,L=null;const T=()=>{if(L&&(clearTimeout(L),L=null),!v.size||!e.vb)return;const t=JSON.stringify(Array.from(v));v.clear();let n=!1;if(navigator.sendBeacon)try{n=navigator.sendBeacon(e.vb,t)}catch(e){}if(!n&&window.fetch)try{fetch(e.vb,{method:\"POST\",body:t,keepalive:!0})}catch(e){}},B=()=>{L||(L=setTimeout((()=>{L=null,T()}),1e3))},I=e=>{e.timer&&(clearTimeout(e.timer),e.timer=null)},C=(e,t)=>{if(e.counted)return;const n=e.ratio>=e.threshold&&!document.hidden;n&&!e.timer?e.timer=setTimeout((()=>{e.counted=!0,e.timer=null,v.add(e.token),A&&A.unobserve(t),E.delete(t),B()}),w):!n&&e.timer&&I(e)};\"IntersectionObserver\"in window&&e.vb&&!navigator.webdriver&&(A=new IntersectionObserver((e=>{e.forEach((e=>{const t=E.get(e.target);t&&(t.ratio=e.intersectionRatio,C(t,e.target))}))}),{threshold:[0,.3,.5,1]}),document.addEventListener(\"visibilitychange\",(()=>{document.hidden?(E.forEach((e=>I(e))),T()):E.forEach(((e,t)=>C(e,t)))})),window.addEventListener(\"pagehide\",T));const S=e=>{if(!A)return;const t=e.getAttribute(l.vw);if(!t)return;const n=e.getBoundingClientRect(),i=n.width*n.height>=b?.3:.5;E.set(e,{token:t,threshold:i,ratio:0,timer:null,counted:!1}),A.observe(e)};o.forEach((e=>{const t=e.getAttribute(n)||\"\",i=e.getAttribute(l.dt)||\"all\",o=e.getAttribute(l.disp)||\"aside\";if(f(e),i===d.desktop||i===d.mobile){if(i!==(window.innerWidth>768?d.desktop:d.mobile))return void p(e)}i===d.advanced&&h(e),o===d.modal&&y(e),t!==d.w1&&t!==d.w2||g(e),S(e)}))}const n=document.getElementById(\"hns-review-badge__wrap\"),o=document.querySelector(\"#entryContent .mc4wp-form\");n&&o&&(o.insertAdjacentElement(\"beforebegin\",n),n.style.marginBottom=\"2.5rem\")}))}();})();\n</script>\n</body>\n</html>\n","snapshot_chars":85950,"live_check":"changed"}]}