← Blog
EngineeringApril 8, 2026Updated September 7, 20267 min read

Naïve and Paperclip: attribution, MIT, and what we actually build

How Naïve attributes the open-source software it builds on, why MIT-licensed code in a commercial product is the point of the license, and where the line sits between upstream code and the stack we built ourselves.

Dennis Zax· CTO, Naïve

TL;DR

  • Paperclip is credited by name in our Terms of Service, with the repository link, the MIT license, and the copyright line, plus a full copy of the license on our open-source licenses page.
  • Residual upstream strings in a minified bundle are what building on open source looks like. They are evidence of usage, not of concealment.
  • Naïve is not an orchestration wrapper. What we build is the company templates on usenaive.ai, the primitives they call, and Vetta, the managed agent that runs them across the harness, tools, and runtime layers.
  • Paperclip is no longer part of our stack. The attribution stays, and the same model applies to every open-source project we still build on, including the default harness.
  • Using MIT-licensed software commercially is the explicit intent of the MIT license. We comply with its terms, credit the projects, and publish our own templates as public repositories.

Attribution exists, and always has

When we first published this post in April 2026, a claim was circulating that Naïve provided "zero attribution" for Paperclip, the MIT-licensed agent orchestration framework an early version of our product was built on. That claim was false then and it is false now, so we are leaving this post up and keeping it current.

Section 7.4 of our Terms of Service says:

"The Service incorporates open source software components, including Paperclip, licensed under the MIT License. Copyright © 2025 Paperclip AI. Full license terms are available in the project repository and on our Open Source Licenses page. Nothing in these Terms restricts your rights under applicable open source licenses."

That section was in our Terms when the claim was made, and it is there today. It links to the Paperclip GitHub repository, names the license, and reproduces the copyright line. Our open-source licenses page carries the full MIT license text for Paperclip alongside the notices for the other upstream projects we ship. That is what the MIT license asks for: keep the copyright notice and the permission notice with the software. We did, and we still do.

Paperclip was the most visible dependency, but it was one of many. The licenses page lists the rest, and every open-source project we build on next goes on it too.

Residual strings are not a smoking gun

The other half of the claim was that leftover "Paperclip" references in our production bundle proved we were hiding something. They proved the opposite.

When you build on a large open-source project, string literals, CSS class names, and config defaults flow through from upstream. Not every internal identifier gets rebranded, because rebranding identifiers is work that produces nothing for users. Every large SaaS product ships hundreds of upstream references in its bundle. Open a minified bundle from any company you admire and you will find the names of the libraries they depend on.

Framing inherited artifacts as concealment misrepresents how software gets built. Those strings were evidence of usage, and the usage was disclosed in the one document every customer agrees to.

What Naïve builds today

The more useful question was never "did you use Paperclip". It was "what did you build". Here is the honest answer for the product as it exists now, which is different from the product that existed in April.

Naïve is company templates run by agents. A template lives in a blueprint, a public repository with a naive.config.ts in it: the agent team, their prompts, their tool allow-lists, their schedules, and the apps the company runs on. You clone it, claim it against your organization, and naive up provisions the whole thing:

naive template agency
cd agency
naive claim --key sk_...
naive up

naive up reconciles what the config declares (skills, identities, vaults, apps, agents) against what exists, and reports every resource as created, updated, unchanged, deleted, or refused. Re-running it is always safe. The naive CLI reference has the full surface.

The agents those templates provision run on Vetta, our managed agent for long-horizon tasks. Vetta is three layers, and we operate all of them:

LayerWhat it isWho chooses it
HarnessThe agent loop: assemble a turn, call the model, parse tool calls, decide what carries forwardYou, per agent, via the harness field
ToolsWhat the loop reaches for: a computer, a browser, storage, skills, identity, connections, MCP servers. Every call resolves allow / ask / deny and is priced before it runsYou, via the agent's tool policy
RuntimeDurable session state and scheduling, model routing and the completion window, budget enforcement, sandboxed micro-VMs, the ledgerNobody. Using Vetta is the runtime

The thesis behind that split is that the model is a commodity and everything around it decides the cost of a finished task. We optimise the three layers together, and we publish the result on the benchmark page. How Vetta works walks through each layer.

Underneath the agents sit the primitives, which is the part of Naïve that never had anything to do with orchestration:

None of this existed in Paperclip. None of it depends on which harness an agent runs on. That was true when we used Paperclip and it is true now.

Paperclip is no longer in our stack

We removed Paperclip from the product in the spring of 2026. We say this plainly because the honest version of an open-source story includes the part where you stop using something.

We chose Paperclip for the first version because it was MIT-licensed, well-engineered, and pointed in the direction we thought agent infrastructure was heading. We still respect the project and the people behind it. What changed is that the runtime layer became the thing we needed to own. A company that runs for months needs a session loop that wakes, takes one bounded turn, commits, and sleeps, so that an idle agent costs storage rather than a machine held hot. It needs a budget gate that refuses a call before it runs rather than reporting overspend the next morning. It needs tool policy that leaves a denied tool out of the model's view entirely. Those are runtime properties, and we built the runtime to have them.

Removing Paperclip did not remove the attribution. The Terms section is still there, the licenses page is still there, and they will stay until the last artifact of that code is gone from anything we ship. Attribution is a record of what you built on, not a marketing claim about what you use today.

We still build on open source

Nothing about that decision made us less dependent on open source. The default harness a Vetta agent runs on, pi, is an open-source coding agent under the MIT license. We name it in our documentation, and it carries the same obligation we met for Paperclip: keep the copyright notice and the license text with the software. We chose not to write our own agent loop for the default case for the same reason we chose Paperclip at the start: a well-engineered open project beats a hand-rolled one, and the license exists so that people can build on it. The harness documentation lists the loops an agent can run on, what each one holds while idle, and which capabilities it declares. We also ship our own loop, vetta, held to a small measured core and the only one that runs inside the session itself.

We also publish. The blueprint repositories our templates deploy from are public under github.com/usenaive. naive template clones one with the git history dropped, on purpose: the first commit of your company should be yours. You can read every prompt, every tool allow-list, and every schedule before an agent spends a cent under your organization. A template is not a black box you rent; it is code you own from the moment you clone it.

We believe the agent infrastructure layer should be composable and open. We say that as practitioners, not as a slogan. We build on MIT code, we credit it, and we publish the parts of our own work that others can build on.

What the MIT license is for

Using MIT-licensed software in a commercial product is not a grey area. It is the explicit purpose of the license. The MIT license grants permission to use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software, with one condition: keep the copyright notice and the permission notice. Every company shipping a Node application, a React frontend, or a Postgres client does exactly this thousands of times over.

Authors who choose MIT are choosing this outcome. The projects we build on chose it, and we are grateful for the foundation they provide. Compliance means honouring the one condition, which we do, and it means being honest about what is upstream and what is ours, which is what this post is for.

Where we stand

We are a small team building fast, and we will not get everything right. We welcome good-faith criticism, including about the code we shipped in April. But the narrative that we stripped attribution and presented someone else's work as our own was wrong on the facts. Attribution is in our Terms and on our licenses page. The product is company templates, the primitives underneath them, and a managed agent we built across every layer. And our commitment to open source is visible in what we build on and what we publish.

If you are weighing whether to run agents on a managed runtime or bring your own, hosted vs bring-your-own runtime covers the tradeoffs. Questions about this post can go to dennis@usenaive.ai.

FAQ

Is Naïve a fork of Paperclip?
No. Paperclip was one of several MIT-licensed open-source projects an early version of Naïve built on, used as an orchestration component. It is no longer part of the stack. What Naïve builds, the company templates, the primitives behind them, and the Vetta managed agent that runs them, was never part of Paperclip.
Where is Paperclip attributed?
In the open-source section of our Terms of Service at usenaive.ai/terms, with a direct link to the Paperclip repository, the MIT license name, and the copyright line. The full license text is reproduced on usenaive.ai/licenses, next to the notices for the other open-source software we ship.
What does Naïve build that Paperclip does not?
Company templates that provision a working agent team with one command, the primitives those teams call (company formation, KYC, domains, inboxes, phone numbers, virtual cards with hard caps, a real computer, connections, media and publishing), and Vetta: the managed agent with a durable session loop, USD budgets quoted before every call, completion windows, allow / ask / deny tool policy, identities, and a vault.
Does Naïve still build on open source?
Yes. The default harness a Vetta agent runs on is an open-source coding agent under the MIT license, and our company templates are public repositories anyone can clone, read, and run under their own organization.
Is using MIT-licensed software commercially a violation of open-source norms?
No. Commercial use is the explicit intent of the MIT license. The only obligations are to keep the copyright notice and the license text, which we do.