VIBE/AGENTS ← BACK TO SITE
// Security

Security, before there is anything to secure.

Last updated 12 September 2026

Vibe Agents is pre-launch. There is no live product, no account, and nothing here executes a trade or takes custody of anything — so most of what a security page usually describes does not exist yet. This page separates the part that does from the part that is still a plan, and never mixes the two in one sentence.

01Where we actually are

Vibe Agents is pre-launch. This website describes software we are building and lets you join a waitlist. There is no live product, no account, and nothing here executes a trade or takes custody of anything. The only thing on this site that actually runs is a prompt parser inside your browser that draws a diagram.

That makes a security page awkward to write honestly, so this one follows a single rule.

Every claim below is one of two things. A statement in the present tense is true of this website today and can be checked against the code we deploy. A statement in the future tense is design intent for software that does not exist yet. The two are never combined in a sentence, and nothing on this page is described as protecting money, because nothing here holds any.

Sections 02 to 04 are intent. Sections 05 and 06 describe the site as it stands. Section 09 collects what is not true yet into one list, so you do not have to work it out from what is missing.

02Non-custodial by design — intent, not yet a property

When the product launches it is intended to be non-custodial: a cell holds its own capital under limits you set, and Vibe Agents does not take custody of your funds or hold the keys to them. You would remain responsible for the limits you configure and the agents you choose to run.

Automated execution does not remove market risk. It acts faster, which can cut both ways — markets move against a strategy, infrastructure fails, and software contains defects. Non-custodial is a limit on us, not a protection for you: it would mean we cannot move your money. It would never mean your money is safe.

Today that is an intention, not a property you can verify. It stops being merely an intention when there is code to read and an independent audit of that code to read beside it. Section 04 is where we say when both arrive.

03The cell is meant to be the spending boundary

The intended model is small enough to state in four sentences. An agent has one job. Agents that share a goal form a swarm. A swarm lives in a cell. The cell is the only thing that can hold or move capital.

Limits would belong to the cell rather than to the agents inside it, and would be set before anything ran. None of the four below exists as code — each is a line in a design:

CEILING
The most capital the cell may put to work at all.
VENUE CAPS
How much of that may sit with any single venue.
ASSET ALLOWLIST
What the cell is permitted to touch, and nothing outside it.
DRAWDOWN FLOOR
The loss at which the cell stops instead of continuing.

Every action a swarm proposes is meant to be checked against those limits by the cell, before the action happens — not by the agent that proposed it. An agent asking for something outside the bounds is refused rather than trusted to police itself. That separation is the whole of the design, and it is why the cell, not the agent, is the thing worth auditing.

None of this is running code. Today the cell is a description on the home page and an animation on a canvas. The enforcement mechanism — what checks what, in what order, and what happens when a check fails — will be written down and audited before it is ever standing between anyone and their money. Until then it is a design, and designs are wrong until they have been tested.

04What we will publish, and when

Two documents do not exist yet and will: the detailed security model, and the reports from independent audits of the code.

The audit reports and the detailed security model will be published before public launch — not before they are true.

Independent audits will be commissioned before any code touches real capital, and the findings go out in full, including anything unresolved. Nothing is booked yet. No firm is engaged and nothing is signed. When that changes, it appears here first.

Published in full means a report you can check rather than a badge you have to trust:

On which gate applies to what, the stricter reading governs. Stage 1 — a single agent running on its own — is the stage that opens to the public first, so the audit and the security model are published before Stage 1 opens, not deferred to Stage 2. Swarm coordination is a separate body of code; it gets its own audit, published before Stage 2 opens.

No dates, deliberately. These are gates, not a calendar: a thing is published when it is true, and the stage opens after it is published. We are naming no firm, no date and no launch window, because we do not have any of them — and an invented date would be the least true sentence on this page.

05This website, today

Everything in this section is a statement about the site you are reading right now, and every one of them is checkable in what we deploy.

Four security-related response headers are set on every route by our own configuration. This is the complete list of ours, not a selection from it:

// vercel.json — every route, all of it
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
X-Frame-Options: SAMEORIGIN
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=()

Our host adds two more of its own on top, which you will see on any response: Strict-Transport-Security: max-age=63072000, telling your browser to reach this domain over HTTPS only, and Access-Control-Allow-Origin: *, which is its default for public static files and is why anything on this site can be read cross-origin — there is nothing here that is not already public.

There is no Content-Security-Policy on this site today. That is easy to claim and easy to check, so we would rather tell you it is absent than let you assume it is not.

Two third parties are involved in loading this page: Vercel, which hosts it and keeps standard request logs as any host does, and Google Fonts, which serves the two typefaces — meaning Google sees your IP address when your browser asks for them. Both are described in our privacy policy, which is the single authority on data here. “No cookies” is not the same sentence as “no third-party requests”, and we are not going to let the shorter one stand in for it.

06The waitlist, specifically

One email address is the only thing this site ever asks you for. This is exactly what happens to it.

A signup record holds six things: the address; which button you signed up from; the address of the page you were on; the agent description you typed, if you came from the builder; the time; and the two-letter country code our host attaches to the request. Your IP address is not stored with the record. Our host keeps its own standard request logs, which include IP addresses — that is a separate thing from the record, and the privacy policy describes both.

Records live in our own storage on Vercel, not with a third-party form or marketing service. The storage path is derived from a keyed hash of your address — HMAC-SHA256 of the lowercased address under a secret held only in server-side configuration. That has two consequences, and they are the honest whole of it:

What that is not. The object is written to a public-read store at an unguessable path. It is not encrypted at rest, and we are not going to tell you it is. If you would rather the record did not exist, ask and it is deleted — the route is in our privacy policy, which is where data questions are answered rather than duplicated here.

The endpoint itself is deliberately small. It accepts POST, answers a preflight OPTIONS with an empty 204, and answers every other method with a 405. It refuses a write when a browser sends an Origin whose host is not ours. It stops reading a request body at 8 KB. It length-caps every field and strips control characters before storing anything. It rejects an address that does not look like an address. It carries a honeypot field no human ever sees, so a bot that fills it gets a cheerful 200 and nothing is written. If either server-side secret is missing it fails closed rather than storing anything, and errors come back as short generic codes while the underlying exception goes to our log, not to you.

There is no rate limiting on that endpoint, no web application firewall and no bot detection beyond the honeypot. That is a description of the current state, not a claim about its sufficiency.

07Reporting something

If you find a problem in this website or in /api/waitlist, email team@vibeagents.xyz. It is the address published everywhere else on this site and it reaches us directly. There is no security@ alias, no PGP key and no security.txt — a channel we do not yet watch properly would be worse than the one we do. X and Telegram are fine for everything else, but send a vulnerability by email and do not post it publicly before we have had a chance to fix it.

A useful report says what you found, where you found it, the steps to reproduce it, and what you believe it lets someone do.

What we commit to, limited to things we can actually keep:

We are not promising a remediation deadline. A fixed number of days for a fix is the kind of commitment that is easy to write and hard to honour, and we would rather keep the two above.

Safe harbour

Our terms of use, section 08, tell you not to attempt to break, overload, or gain unauthorised access to the site or its infrastructure. This is a narrow, deliberate exception to that clause, and nothing wider than what is written here.

If you research this site in good faith and stay inside these rules, we will not bring legal action against you over it, and we will not ask anyone else to:

Step outside those rules and this exception does not apply — section 08 of the terms does.

There is no bug-bounty programme and no payment. We do not run one, we are not committing to one today, and we do not want anyone spending a weekend here on the expectation of a reward. If that ever changes, this page will say so before anyone is invited to start.

08Impersonation and phishing

A pre-launch project with no live app and a waitlist of people expecting one is exactly the thing that gets impersonated. So, plainly:

If you see something claiming to be us, tell us at team@vibeagents.xyz. It is the fastest way to get it taken down, and it warns the next person.

09What is not true yet

Read this section as the price of the rest. Each line is something this page does not claim, written out so you never have to infer it from an absence.

Describing what our code does is not a warranty. The site is provided “as is” and “as available”, and section 09 of the terms of use still governs that.

The commitment: when any line above stops being true, this page changes — before the thing ships, not after. That is the same undertaking the privacy policy makes about data, and it is the only reason the rest of this page is worth reading.
HOME DOCS PRIVACY TERMS X ↗ TEAM@VIBEAGENTS.XYZ © 2026 LAS VIBRAS LTD · 13606260