Build on Zero. Your AI, in any app.
This is the official SDK for Zero, our AI. An SDK is a kit of code you add to your app. Zero counts every call and keeps each account's data apart. Use it to add chat, a private knowledge base, and a custom persona to any server, browser, or mobile app. It needs no other packages, comes with types, and installs in one step.
npm i @zindexzero/sdkor in the browser: https://esm.sh/@zindexzero/sdk
Sign up
Make an account and send us your project at /start.
Get your keys
Once we approve it, make secret and publishable keys in your portal.
Install & build
Run npm i @zindexzero/sdk and add Zero to your app.
A few lines, anywhere
It's the same typed client on the server, in the browser, and in React Native. It picks the right path based on the key you give it.
Server (Node / TypeScript)
Keep a secret key on your server to use everything: chat and your private knowledge base.
import { Ziz } from "@zindexzero/sdk";
const ziz = new Ziz({ apiKey: process.env.ZIZ_KEY! }); // ziz_live_…
const { text } = await ziz.chat("Summarize this contract");
await ziz.docs.add({ text: "Internal policy…", title: "Policy" });Browser / Mobile (no secret)
Apps in a browser or on a phone can be picked apart, so they should never hold a secret key. Call our hosted proxy instead. It keeps the key for you, so your app sends nothing secret.
import { ZizHosted } from "@zindexzero/sdk";
// browser: your registered Origin is the gate
const zh = new ZizHosted({ client: "acme" });
const { text } = await zh.chat("Help me with my account");React / React Native
A small hook that keeps track of the chat for you: the messages, sending, and status. It works with any Zero client.
import { useZero } from "@zindexzero/sdk/react";
const { messages, send, status } = useZero(client);
// render messages; call send(text) on submitEverything in one client
Chat
One call to the Zero brain. It starts on a low-cost model and moves to a bigger one only for hard questions.
Private knowledge base
Upload your own documents, and answers draw only on them. Each account's files are locked away from every other account and never shared.
No-secret browser & mobile
Use a publishable key (one that's safe to show) or the hosted proxy. Either way, your app never carries a secret key.
Custom persona
Give your assistant its own role and voice for each key. Our safety rules still win, so it can't break the walls between accounts or speak for us.
Self-serve account tools
Sign in to manage keys, monthly limits, usage, and features from your code. You don't need a dashboard.
Test the walls yourself
Run npx @zindexzero/sdk proof. You'll watch one account's key try to read another account's data and fail.
Zero dependencies
It needs no other packages. It's plain modern JavaScript (ESM) that uses fetch. It runs in Node and browsers, comes with types, and loads from npm or any ESM CDN.
The full guide lives in the README
Our docs cover sign-in, attachments, the hosted proxy, account tools, and the full API reference. Installing takes one command, and a key takes a minute to make.