<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Todd Schiller - Chrome Web Store</title><link href="https://toddschiller.com/" rel="alternate"></link><link href="https://toddschiller.com/feeds/tag/chrome-web-store.atom.xml" rel="self"></link><id>https://toddschiller.com/</id><updated>2026-08-21T00:00:00-04:00</updated><subtitle>Human ✘ Artificial Intelligence</subtitle><entry><title>This Week in Extensibility: Chrome Web Store caps extensions per publisher, the blogosphere discusses LLM-generated user extensions, and YC startup Vendo launches on HN</title><link href="https://toddschiller.com/blog/extensibility-radar-2026-08-21.html" rel="alternate"></link><published>2026-08-21T00:00:00-04:00</published><updated>2026-08-21T00:00:00-04:00</updated><author><name>Todd Schiller</name></author><id>tag:toddschiller.com,2026-08-21:/blog/extensibility-radar-2026-08-21.html</id><summary type="html">Week of August 14–21, 2026: Google caps how many extensions one publisher can list in the Chrome Web Store, an essay argues web apps should let users generate their own sandboxed extensions, and the open-source project Vendo ships a version of that pattern for SaaS customers.</summary><content type="html">&lt;!-- markdownlint-disable MD013 --&gt;
&lt;p&gt;This week, Google made a move to curb AI slop by capping how many
extensions a single publisher can list. At the same time, Jeremy Morrell's
essay &amp;quot;Extensible Software in the age of LLMs&amp;quot; made the blogosphere rounds
painting a future where app providers make their software &amp;quot;squishy&amp;quot;.&lt;/p&gt;
&lt;h2&gt;Governance: Chrome Web Store caps how many extensions a publisher can list&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Google set a per-publisher limit on how many extensions an account can list in
the Chrome Web Store, defaulting to two, and started retiring the Featured
badge.&lt;/strong&gt; The
&lt;a href="https://developer.chrome.com/blog/cws-review-updates-2026"&gt;August 20 announcement&lt;/a&gt;
says each publisher now has its own limit, set by the quality and usage of its
extensions, with a default of two. Publishers who already list more keep them and
can request an increase from the dashboard. The same post ends the Featured badge
later in 2026, closes new self-nominations right away, and changes ratings to
weight recent reviews more heavily.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; capping how many extensions one account can publish makes it
harder to flood the marketplace with AI slop. Dropping the
Featured badge removes a discovery signal Google says its own review standards
have made less useful. The cap is
individualized and existing extensions are grandfathered, so current publishers
are not forced to delist anything.&lt;/p&gt;
&lt;h2&gt;Idea: apps that generate extensions for their users&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Jeremy Morrell argued that web apps should become platforms for
user-generated, sandboxed extensions.&lt;/strong&gt; Because LLMs make custom
code cheap to produce, Jeremy's
&lt;a href="https://jeremymorrell.dev/blog/extensible-software-in-the-age-of-llms/"&gt;&amp;quot;Extensible Software in the age of LLMs&amp;quot; essay&lt;/a&gt;
contends the hard part is no longer writing code but running someone else's
safely. A user would describe what they want, the app would generate an
extension, and that extension would run sandboxed with narrow, explicitly granted
permissions rather than open access to the app's internals. Morrell points to
Cloudflare's isolated-code platform as the closest ready foundation and cites
Salesforce's two-decade practice of running customers' code in isolation as
precedent. The argument was
&lt;a href="https://news.ycombinator.com/item?id=49363668"&gt;picked up on Hacker News&lt;/a&gt; and
across other blogs this week.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vendo, an open-source project from the current Y Combinator batch, packages a
version of that pattern into a drop-in layer.&lt;/strong&gt; A software vendor adds
&lt;a href="https://github.com/runvendo/vendo"&gt;Vendo&lt;/a&gt; so its own customers can build features
on top of the product without source access. It turns the product's existing
interface into a set of actions an assistant can take as the signed-in user,
generates small custom interfaces that run in an isolated frame with no network
access of their own, and routes every action through one control point that can
require approval and keep an audit log. A customer can assemble live views of
their data, adjust the interface by describing the change, and set up automations
that span tools. Vendo
&lt;a href="https://news.ycombinator.com/item?id=49376038"&gt;launched this week as a Launch HN&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; the pattern inverts how extensibility usually works. Instead
of a vendor shipping a fixed plugin interface and waiting for developers to build
on it, the customer describes a need and gets a generated, permission-scoped
extension.&lt;/p&gt;
&lt;h2&gt;Infrastructure: the sandbox has to hold&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;The Bytecode Alliance patched a high-severity escape in Wasmtime, a runtime many
products use to run untrusted code in isolation.&lt;/strong&gt; A flaw let guest code read and
write files outside the directory it was granted, using paths and symbolic links
that ended in a trailing slash, rated 8.8 out of 10 in the
&lt;a href="https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-vqjp-4c8c-hfgg"&gt;security advisory&lt;/a&gt;.
The fix landed across four supported release lines and went into the
&lt;a href="https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.0"&gt;new major version&lt;/a&gt;,
along with a second, lower-severity fix that closed a way for guest code to make
the host allocate unlimited memory. That major version also changed the default so
sandboxed code cannot open network connections unless explicitly allowed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; user extensions rely on the assumption untrusted code can
be safely contained. A filesystem escape in a runtime that many sandboxes
build on shows how hard-won that containment is. Anyone running an affected
version should treat the update as urgent.&lt;/p&gt;
&lt;h2&gt;Standards: WebMCP tightens how a page hands tools to an agent&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;The WebMCP draft refined how a website exposes in-page actions to a user's
agent.&lt;/strong&gt; Work
&lt;a href="https://github.com/webmachinelearning/webmcp/commits/main"&gt;merged this week&lt;/a&gt;
defined how an agent invokes a tool a page has declared, let a page pass
structured input instead of plain text, and added a way to cancel a running tool
while keeping in-progress work alive when a page withdraws one. WebMCP lets a site
offer actions a user's own agent can call instead of scraping the page. It remains
a WebML CG draft.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Why it matters:&lt;/strong&gt; this is the interface that lets a page give a user's agent
real, typed actions instead of guesswork.&lt;/p&gt;
&lt;h2&gt;Also worth knowing&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;WebExtensions Working Group&lt;/strong&gt;: The group
worked through how to describe the browser extension namespace in a formal
interface definition and reviewed whether extensions should be able to control a
browser measurement API, per
&lt;a href="https://github.com/w3c/webextensions/pull/1063/files"&gt;draft minutes&lt;/a&gt; still in
review. No new capability came out of the call.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Salesforce detailed its Headless Experience Layer ahead of Dreamforce.&lt;/strong&gt; The
&lt;a href="https://www.salesforce.com/headless/agentic-experience-layer/"&gt;cross-cloud layer&lt;/a&gt;
is for building and rendering experiences across channels and bringing your own
front-end apps into Salesforce's own screens, including a no-code builder.&lt;/p&gt;
&lt;h2&gt;On the radar&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;August 25:&lt;/strong&gt; WebAssembly Community Group video call.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;August 27:&lt;/strong&gt; WebExtensions Community Group meeting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;September 15–17:&lt;/strong&gt; Dreamforce, where Salesforce is targeting general
availability for its Headless Experience Layer widgets, channels, and
micro-frontends.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;This Week in Extensibility is curated by Todd Schiller. Research, drafting, and
fact checking are AI-assisted.&lt;/em&gt;&lt;/p&gt;
</content><category term="Extensibility"></category><category term="extensibility"></category><category term="plugins"></category><category term="sandboxes"></category><category term="web standards"></category><category term="WebAssembly"></category><category term="WebMCP"></category><category term="MCP"></category><category term="Chrome Web Store"></category><category term="Salesforce"></category></entry></feed>