A line the model can’t cross.
Storefront code, customer data and the core admin (the store, minus the agent layer) are yours, with a written export guarantee and no lock-in. And every AI surface we ship sees only what it needs to help: a name and business signals — never a contact number, address, payment detail or ID. That rule lives in the tools themselves, not on a policy page.
HMAC-SHA256 verified, timing-safe compare
AES-256-GCM — no key, no write, ever
Row-level security, deny-all by default
Rate-limited in the database, 5 / hour
Every question BarhaX or the crew answers passes the same server-side gate. It isn't a prompt instruction a clever ask could talk around; it's a check the tools themselves run before they ever emit a field. Here's exactly what makes it across, and what never does.
Two of these guard money. A webhook can’t be forged, and a payment can’t double-fire even if the network hiccups and retries the request. The third guards the gateway and courier credentials you hand us for your own accounts: encrypted the moment they’re saved, and if the encryption key is ever missing, the save simply fails — it never falls back to storing anything in the clear.
◆ razorpay.webhook → hmac_sha256(payload, secret) === signature · timingSafeEqual()
◆ payment.create → idempotency_key already seen → retried, not duplicated
◆ credentials.save → aes_256_gcm.encrypt(secret, KEY) → ciphertext stored
◆ credentials.save, no KEY set → write refused — fails safe, never plaintext
The database itself won't hand back a row unless a policy explicitly allows it. That's the house rule on every table we've ever shipped, applied at build time, so no one can leave it off by accident.
BarhaX and every agent in the crew work inside the same three limits, whichever store they're running in. There's no toggle for them at all, in any tier.
And whatever an agent reads to make a decision, it reads under the same bright line as BarhaX — a name and the signals it needs, nothing it shouldn’t have.
The setup fee buys a store you own outright. The subscription is for the AI that runs on top of it — and even that comes with a way out if our word alone isn't enough.
Own it. Even the exit.
Live in 7 days — or your next two months are free, and we keep building until you launch.
Your storefront code, customer data and domain leave with you if this ever isn’t working. And the AI never had more of your customers than a name to begin with.