She acts in your name.MariMarikeeps you in charge.

Mari knows the difference between you, a colleague and a stranger. Every action she takes is logged in plain sight.

Mari at the open door of her warm atelier with visitors at different distances along the garden path, the layered trust visualised by physical proximity
Six levels of peer trust

From owner to stranger, on one scale, evaluated on every message.

Every inbound message resolves into one of six trust levels: owner (unlimited, privacy-exempt), trusted (full access), known (50 messages per hour), from-your-contacts (20 per hour, cautious), unknown (5 per hour, brief and neutral), or blocked (no reply). Resolution is strict. The peer matches your channel's owner account, your channel-owner link, a session cache, or your contacts table. On a miss, default unknown. Trust auto-promotes on a connect (your verified contacts) and demotes on disconnect. The style and the rate limit per level are tunable.

Mari at a monitor with three side-by-side mode cards: Owner-Mode, Agent-Bot, Dedicated
Three modes she can run in

Owner, agent-bot, dedicated. Each mode has its own identity rules.

Mari runs in three explicit modes set per channel. Owner-mode (she sits inside your own Telegram or WhatsApp), she only watches and flags, never writes in your name. Agent-bot (her own bot in any chat), she answers, openly carries her AI marker, introduces as your assistant. Dedicated-account (her own full account), she identifies as an AI assistant by design. The planner's prompt itself differentiates style per mode. There is no fourth mode where she pretends to be you.

Mari holding a phone with a Telegram approval card showing Approve and Decline buttons
When stakes are real, she asks first

One Telegram card. Two buttons. A free-text reply that's read by a classifier.

Anytime a peer asks her to do something that touches your money, name, or a commitment, share contact, forward a message, book a meeting on your behalf, Mari pauses and surfaces one approval card to you in Telegram with two inline buttons (Approve, Decline) and a 4-hour window. Reply 'sure but use Signal' in free text, a classifier maps your intent to approve, decline, or clarify and can even modify parameters. Safe on double-tap. If you have several pending requests and your reply is ambiguous, she asks which one you meant.

Mari at a monitor showing two cards: AES-256 SSE-KMS at rest and mTLS TLS 1.3 in transit
Every secret, encrypted

AES-256 at rest. mTLS over TLS 1.3 between every service.

Everything in your database sits on KMS-encrypted disk. Your messenger session blobs, your WhatsApp credentials, your files, all KMS-encrypted in S3. Your workspace files (the per-agent identity files Mari uses) ride AES-256-GCM through Vault Transit encryption. Every internal call between Mari's services requires a mutually-authenticated TLS 1.3 connection, with per-service certificates from a Vault PKI Root and Intermediate, distributed through AWS Secrets Manager and rotated regularly. The wire and the disk are both opaque.

Mari at a monitor showing four isolated database silos, each owner-keyed with a lock icon
Per-owner isolation, triple-checked

Row-level policies, no-bypass service roles, app-layer checks on top.

Across the whole platform, every owner-scoped table carries a row-level policy that pins reads and writes to a per-transaction owner identity. Every database role any service uses is forbidden from bypassing that policy. The gateway can't read another owner's row, even if it wanted to. Files get a third belt: app-layer checks the owner against the session's owner before any download link is minted, on top of the policy and the storage key partition. A leak between owners has to defeat all three at once.

Owner sitting at a laptop typing his password into a live browser-debugger iframe; Mari standing aside, eyes politely averted
Passwords stay with you, forever

When a site wants a login, she hands you the live browser. You type. She resumes.

Mari hits a login wall in a task. She doesn't ask you for your password (she will never ask). She opens a live debugger iframe on her cloud browser session, notifies you, and you open the page in your home dashboard. You see the real login form, in real time, inside her cloud browser. You type your credentials directly into the form. The session cookies persist in your private browser profile. For credentials you've saved in your vault (envelope-encrypted with a per-owner key), Mari's browser layer pushes them straight into the page through low-level input events. The bytes never enter the language model's context.

The peer trust scale

Six levels, one scale, evaluated on every message.

What a trust level actually means in practice. Tunable per owner in the admin panel.

LevelNameWhoRate limit
5OwnerYou, on any verified channelUnlimited
4TrustedPeople you explicitly trustUnlimited
3KnownPeople you've spoken to before50 / hour
2From your contactsIn your address book, not yet chatted20 / hour
1UnknownStrangers messaging cold5 / hour
0BlockedNo reply at all /
The approval flow

Six steps from a peer's ask to a logged decision.

Every sensitive action goes through the same six steps. You see the card, you decide, the trail is permanent.

A three-character living room tableau: a peer hands a folded note to Mari in the middle, the owner sits in an armchair holding a phone with two Approve and Decline buttons
Approval · One request6 steps, 4-hour window
01

Peer asks

A contact messages Mari with a sensitive request: share your phone, forward a thread, book a meeting on your behalf.

02

Notify owner

A pending row is logged with a 4-hour window and a single Telegram card is dispatched to you. Never batched, never silent.

03

Owner sees

Your card shows the peer, the ask, a short quote of context, and a link to your /requests dashboard for the full picture.

04

Decide

Tap Approve, tap Decline, or reply in free text ('sure but use Signal'). A classifier maps free text to approve, decline, or clarify and can modify parameters.

05

Resume or stop

On approve, Mari acts and tells the peer. On decline, she politely says no on your behalf. The status updates atomically, double-tap is harmless.

06

Audit

The whole exchange (the original ask, your decision, the resulting action) is permanently logged. You can rewind any time.

The controls you hold

Six dials, one panel, change anything at any time.

Nothing is on by default that you didn't choose. Every channel carries its own simple set of controls. Override per-contact when you need to. Kill the lights with one button if you ever want to.

DM policy per channel

Decide who can start a conversation with Mari on each channel: open to everyone, an allow-list, a block-list, or only you.

Group policy per channel

Let her join groups everywhere, only in the ones you pick, or keep her in private chats only.

Send policy per channel

Auto: she replies freely. Manual: she drafts each outgoing message and waits for your tap. Off: she stays silent.

Session overrides per contact

Pause Mari for one specific peer without disabling agents globally. Bind a different agent to that peer if you want a different voice.

Emergency disable all

One button in the admin panel turns every channel off in seconds. Re-enable just as fast.

Brute-force lockout

Five failed auth attempts in a minute lock the account for fifteen minutes. JWT rotation, JWKS hosted, owner identity never accepted from the client.

What she will never do alone

Autonomy with a fence. Six things she always asks first.

The list of actions that always require your tap is short, fixed, and enforced in the planner prompt itself, not a policy printed on a page.

  • She never writes a message in your name without your tap (only as her own self)
  • She never moves money, signs a contract, or accepts an offer on your behalf without explicit approval
  • She never deletes a file, account or chat thread autonomously
  • She never authenticates a new service. Every login is initiated by you
  • She never creates a Zoom or Meet link before the peer has confirmed (even if you say 'organize a zoom')
  • She never assumes a timezone when scheduling something time-sensitive. She asks instead
Coming next · Agent Passport

A passport for agents, so businesses can trust one.

Today, when an AI shows up on a hotel's booking site, the hotel sees an anonymous bot. We're building the third pillar of Mari: verified agents with registration numbers, owner bindings, and explicit access levels. So when Mari calls a business to book a flight, file a tax form, or schedule a doctor's visit, the business sees not 'a bot', but a verified agent of a specific person with defined rights.

One voice, a thousand hands.

Read every line. Then hand her the keys.

Connect Mari in five minutes. Pause her with one tap. Open the audit log at any time. Your first $10 in credits are on us.

Mari with her hand resting on a soft glowing boundary partition, the fence she works within