Soulvaya OS / Platform

Trust

Honest-State Architecture.

Most software lies a little — Soulvaya OS is built on a constitution: nothing claims to be sent, connected, or live unless it truly is.

📨Reminder → Maya ChenSENT · 6:59 PM
📨Review ask → Daniel R.SKIPPED · opted out
📨Welcome email → new leadQUEUED · email not yet connected

The log that never lies — sent, skipped, and honestly-queued, exactly as the product shows them.

The constitution

Five articles, enforced in code

These are not values on a poster; each one is an architectural mechanism.

📨

Truthful messaging

Sends are database records: sent, skipped, failed — with reasons. Until email or texting is connected, the system says “not sent” in plain sight.

🔌

Truthful integrations

Connection status comes from reality. Nothing renders a green dot it has not earned.

🖼

Truthful media

Atelier work is approval-gated and labeled; demo businesses are fictional and say so on every page.

Read the whole story →

Security & ownership

Locked down, and yours

Enterprise posture from day one — because the flagship demanded it.

🔐

Deny-by-default data

Client project data allows no anonymous access at all; every read and write flows through a service-role gate.

🗝

Write-only credential vaults

Your API keys can be used by your system but never read back out — not by the dashboard, not by us in passing.

📜

Ownership in writing

Your domain, socials, phone number, media, and every scrap of data are contractually yours. Exports on request; identity handover within 14 days if we ever part.

The posture

Numbers a CTO would ask for

0anonymous data policies
13launch-blocking QA checks
100%sends logged with truth
14days max identity handover

Proper names, real things

The trust machinery

The Launch Gate

Client review, deployment, and live status are server-refused while blocking checks stand open.

The Approval Ledger

Visuals and launch carry your recorded yes — an audit trail of consent.

PIN-Gated Portals

Project access is an unguessable link plus a hashed PIN; lost PINs re-issue, never recover.

Consent Flags

Photos carry rights confirmation; publishing without consent is a blocked state.

Demo-Honesty Labels

Every showcase is labeled fictional with AI-generated media — deception is a bug class here.

Honest Zero

Empty states show “—” and say why. A quiet week looks quiet; that is the deal.

And that is just the surface

Standing commitments

Your data

  • No anonymous reads
  • Server-side secrets only
  • Uploads in private storage
  • Exports on request
  • No selling data, ever
  • Single-tenant respect

Your clients

  • Opt-out honored instantly
  • No invented reviews
  • No dark patterns
  • Accessible targets (AA)
  • Plain-language forms
  • Every form lands somewhere

Your business

  • Identity accounts stay yours
  • Media ownership at handoff
  • No hostage domains
  • Honest status boards
  • Human support, same day
  • Approval before anything live

Every claim, and the check that proves it

We only say what a test enforces

This page is generated from the product's own claim registry. Each promise below names the automated check that proves it — the suite and the exact assertion. If a check is ever removed, the build fails and the claim comes down with it. Marketing cannot add a line here; only a passing check can. 17 claims, 17 gates.

Every third-party credential you give us is encrypted at rest with AES-256-GCM, under a key that exists only in the environment .

Every third-party credential you give us is encrypted at rest with AES-256-GCM, under a key that exists only in the environment — never in the database, never in the repository.

Proven by: tools/migration.test.mjs“the vault block exists where the reader/writer can see it”

If the encryption key is missing, we refuse to store the credential at all.

If the encryption key is missing, we refuse to store the credential at all. We never fall back to plain text.

Proven by: tools/migration.mutation.test.mjs“let the vault fall back to plain text when the key is missing”

Every autonomous action carries an undo window, stated in plain words .

Every autonomous action carries an undo window, stated in plain words — and where something genuinely cannot be undone, we say so instead of showing a button that lies.

Proven by: tools/migration.test.mjs“undo respects the stated window and is honest about what undo MEANS”

You can export everything .

You can export everything — clients, bookings, content, media, your AI configuration — as one bundle, at any time, without asking us.

Proven by: tools/a10-offboarding.test.mjs“the export reconciles before it is called ready”

Consent is checked at the moment of every send.

Consent is checked at the moment of every send. An imported phone number is never treated as permission, and STOP always wins.

Proven by: tools/governor.test.mjs“even P0 transactional is blocked by no consent”

Three kill switches stop autonomous action immediately: one for the whole fleet, one for your account, one per class of action.

Three kill switches stop autonomous action immediately: one for the whole fleet, one for your account, one per class of action.

Proven by: tools/migration.test.mjs“agentAct checks IN ORDER”

The record of what your AI staff did is append-only.

The record of what your AI staff did is append-only. Nothing is edited after the fact, and every entry says what was done, why, on whose authority, whether you were told, and whether it can be undone.

Proven by: tools/migration.test.mjs“the log answers the five questions and is append-only by contract”

When two systems disagree about a fact, we show you both and ask.

When two systems disagree about a fact, we show you both and ask. We never silently pick a winner.

Proven by: tools/migration.test.mjs“a disagreement becomes a ROW, deduped against open conflicts”

Your AI staff start on Drafts: they prepare, you send.

Your AI staff start on Drafts: they prepare, you send. A higher rung is earned with evidence and confirmed by you — never switched on by us.

Proven by: tools/migration.test.mjs“four rungs as DATA, in plain words, default Drafts BY ABSENCE”

Deletion reaches your connectors, not just our tables: every permission you granted is revoked and named on a receipt, and where only you can complete it, we say so.

Deletion reaches your connectors, not just our tables: every permission you granted is revoked and named on a receipt, and where only you can complete it, we say so.

Proven by: tools/cs-lifecycle.test.mjs“every connector is named on the receipt with an outcome”

Permanent deletion is performed by a person, on a date you were told in advance.

Permanent deletion is performed by a person, on a date you were told in advance. No automation can do it.

Proven by: tools/a10-offboarding.test.mjs“the schema refuses a deletion with no human name”

You hear about an outage from us before you find it on a status page.

You hear about an outage from us before you find it on a status page. An incident stays off our public page until every affected client has been told.

Proven by: tools/cs-lifecycle.test.mjs“an incident with untold clients is NOT publishable, and says why”

We hold a blocking pre-launch checklist.

We hold a blocking pre-launch checklist. If it is not clear, your launch is refused — including when you are the one asking for it.

Proven by: tools/cs-lifecycle.test.mjs“the final approval is REFUSED while blocking steps are outstanding”

Where we cannot measure something, we print a dash and the reason.

Where we cannot measure something, we print a dash and the reason. We do not estimate a number and let it read as measured.

Proven by: tools/cs-lifecycle.test.mjs“the monthly report reads the plan or renders dash-with-reason”

What your customers tell you is read by every agent that writes to them.

What your customers tell you is read by every agent that writes to them. A stated boundary is the last thing dropped from a draft, never the first.

Proven by: tools/cs-lifecycle.test.mjs“the cut takes the least dangerous thing to forget”

When a draft drifts from your confirmed voice we flag it and show why.

When a draft drifts from your confirmed voice we flag it and show why. We never quietly rewrite you toward an average.

Proven by: tools/cs-lifecycle.test.mjs“drift is FLAGGED and the draft is returned exactly as written”

One client’s data never reaches another client’s output.

One client’s data never reaches another client’s output. Fleet figures are aggregates above a cohort floor, or nothing at all.

Proven by: tools/migration.test.mjs“the fleet cohort floor exists and below it we show NOTHING”

Generated from TRUST_CLAIMS by tools/build-trust-page.mjs; verified by tools/trust.test.mjs. Last generated 2026-07-30.

Questions, answered

Owners ask us.

Why make honesty the headline feature?

Because trust is the actual product. An owner who catches one fake “sent” never believes the dashboard again — so we made fake states architecturally impossible.

Is my data shared between clients?

No. Client project data is deny-by-default with service-gated access, and your delivered system runs on your own infrastructure with your own credentials.

What happens to my stuff if we part ways?

You keep everything: exports of your data, your media, and full control of identity accounts within 14 days. In writing.

Who can see my API keys?

Systems can use them; humans cannot browse them — vaults are write-only by design.

Is the AI allowed to improvise?

Within your approved facts, yes; beyond them, no. Unknowns route to a human — meet the staff.

Nothing fake. Ever.

Posted means posted. Dashes mean not yet. Honesty is engineered in.

Honesty is the luxury.

See it everywhere — in the demos, the brief, and the room you will run.