Trust
Security you can read before you connect anything
Awish is designed so you can see what it can reach, decide what it may do, and review what happened. Every control on this page is one we can evidence today; what we cannot evidence yet is not here.
11 controls are in place today, each one mapped to a verified fact. Where a protection belongs to a provider we rely on, we name the provider rather than borrow the badge.
Per-app permissions · Human approvals · Dedicated container per customer · Published DPA
Every control, with its evidence
This list is generated from our facts file and shows only what is verified. Nothing here is aspirational, and nothing missing is being hidden — it is simply not yet evidenced.
Per-app permissions
Connections are granted one app at a time, by the account holder, before a workflow runs — an automation given your inbox cannot reach your files.
Where this is statedApproval before sensitive actions
External messages, refunds and publishing hold for a person by default, in the channel you choose, and the decision is recorded with the run.
Revocable, one app at a time
Any connection can be declined at the prompt or withdrawn later, without touching the others. A withdrawn connection stops every workflow that used it.
Where this is statedA dedicated container per customer
Your workflows run in their own container with their own credentials and network identity — never in the same process or namespace as another customer’s.
Where this is statedWhatsApp replies only to you
The WhatsApp agent replies only to the account owner’s own number. That is enforced on our servers, not offered as a setting.
Where this is statedEncrypted transport, hardened headers
HTTPS throughout, a content-security policy and other security headers, and cross-origin requests restricted to an allow-list.
Where this is statedPassword and session hygiene
Passwords are hashed with bcrypt; sessions use a short-lived access token with a separate refresh token.
Where this is statedA published DPA
Written against GDPR, the UK GDPR and DPA 2018, and the CCPA/CPRA, with EU Standard Contractual Clauses and the UK Addendum. Public, not gated.
Where this is statedCoordinated disclosure
A published path for reporting a vulnerability, and a commitment not to pursue researchers who report in good faith.
Where this is statedCard data never reaches Awish
Payments are processed by Stripe, a PCI DSS Level 1 Service Provider. Card details go from your browser to Stripe directly; they are never sent to, processed by, or stored on Awish servers.
Where this is statedAn audited connection layer
App connections are established through Composio, which publishes its own audits, including a SOC 2 Type II report — that report is Composio’s, and we say so rather than borrow it.
Permission-first model
An automation can only reach an account you have connected. Connections are approved one app at a time, by you, before anything runs — you see which app is being requested and can decline it. Two concrete consequences: an automation that was granted Gmail cannot read your Drive, and the WhatsApp agent replies only to the phone number of the account owner. That last restriction is not a setting you could switch off by accident; it is enforced on the server for every request.
Permission decides what a workflow may reach. What it may do without asking is decided separately, by the approval gate. How human approvals work
What happens to a request
The path a request takes, end to end. This describes only the steps we can attest to.
The request“Publish the campaign update and let the team know.”
- Draft the update
- Publish itneeds approval
- Post to #team
Who controls what
A connected automation has four owners, and a certification held by one of them is not held by the others. Here is where each boundary sits.
You hold the accounts. Every connection Awish uses is one you granted, and the app you granted it in still applies its own permissions on top.
What the product enforces before, during and after a run. These are ours, and each one is evidenced.
- Connections granted one app at a time
- Sensitive actions wait for a person
- Each workspace runs in its own container
- Any connection can be withdrawn
- HTTPS throughout, with a restricted origin allowlist
- Passwords hashed, sessions short-lived
App connections are established through Composio, so a connected account is authorised there rather than handed to Awish as a password. Composio holds the audit below. Awish holds none of its own.
SOC 2 Type IIheld by ComposioTheir controls and subprocessors, kept currentWhatever the app allows the connection to do is the ceiling. Awish cannot exceed it, and removing the connection there removes it here.
Connection, transport and accounts
The site and the API are served over HTTPS. Our API sets hardened HTTP security headers (via Helmet), including a Content-Security-Policy that restricts which origins may load scripts and styles and which hosts the browser is allowed to connect to. Cross-origin access to the API is limited to an allowlist — awish.ai and www.awish.ai — so another site cannot call the API from your browser using your session.
Passwords are never stored. We keep only a bcrypt hash generated with a cost factor of 12, which is designed to be slow to brute-force and cannot be reversed back into your password — not by an attacker, and not by us. Sessions use a short-lived access token plus a separate refresh token, so a leaked access token expires on its own. Email verification is required, and phone verification gates the features that need it.
Isolation between customers
Each customer’s workflows run in a dedicated container with its own credentials and network identity, so one workspace cannot reach another.
Automation runtimes are not shared. Each customer's workflows execute in a dedicated, isolated container in our orchestration cluster, with its own credentials and its own network identity. One customer's workflow cannot read another customer's data or credentials, because it never runs in the same process or namespace.
- Access scoped per app
- Every approval kept on the record
- Each workspace in its own container
Payments — PCI DSS Level 1 (via Stripe)
Card payments are processed by Stripe, which is certified as a PCI DSS Level 1 Service Provider — the strictest tier of the payment card industry standard, covering how card numbers are captured, transmitted and stored. Concretely, this means your card details go from your browser to Stripe directly: they are never sent to, processed by, or stored on Awish servers. We keep only a Stripe customer reference and the subscription status. This is the one certification in this list that we inherit rather than hold ourselves, and we say so deliberately.
Data protection and your rights
Our Data Processing Agreement sets out how we handle personal data as a processor, and it is written against GDPR, the UK GDPR and Data Protection Act 2018, and the CCPA/CPRA. It covers international transfers through the EU Standard Contractual Clauses and the UK Addendum, obligations we impose on subprocessors, breach notification, and how we support access, correction, deletion and portability requests. The full text sits alongside our Privacy Policy, Terms of Service and Commercial Agreement.
Reporting a vulnerability
If you believe you have found a security issue, email support@awish.ai with enough detail to reproduce it. Please report it to us before disclosing it publicly, and we will confirm receipt and keep you updated while we investigate. We do not pursue researchers who report in good faith and avoid accessing other people's data.
support@awish.aiSecurity questions we get asked
What can an automation actually reach?
Only the accounts you have connected, and only the app each workflow was granted. Connections are approved one app at a time, by you, before anything runs — so an automation granted your inbox cannot reach your files. You can decline a request, and you can revoke a connection later.
Can Awish send a message or move money without me?
Sensitive actions are approval-gated by default. Sending an external message, issuing a refund and publishing all hold for a person, in the channel you choose. On WhatsApp there is a further limit: the agent replies only to the account owner’s own number, and that is enforced on our servers rather than being a setting.
Does my workflow run alongside other customers’?
No. Each customer’s workflows execute in a dedicated, isolated container in our orchestration cluster, with their own credentials and their own network identity. One customer’s workflow never runs in the same process or namespace as another’s.
Are my card details stored by Awish?
No. Card payments are processed by Stripe, which is certified as a PCI DSS Level 1 Service Provider. Card details go from your browser to Stripe directly; they are never sent to, processed by, or stored on Awish servers. We keep a Stripe customer reference and the subscription status.
Reviewing Awish for your team?
Tell us what your security review needs to cover and we will answer directly — including the questions this page does not yet answer.
This page describes the controls in place today.