Read this before you click "Create stack". Written for the person who signs off, not for a lawyer. Every claim describes what the product does today.
Read role
Describe, list and get. Cannot change anything.
Marshal reads
Billing, resources, security settings, uptime.
Draft
One allowlisted fix, undo stated plainly.
You approve
Or you never install the fix role at all.
Waiting for youFix role acts
Only that action, only those permissions, logged.
Revoke
Delete the stack. Access ends at once.
How access works
How credentials are handled
The default connection is a cross-account role plus a unique External ID. There are no long-lived AWS credentials for us to hold, rotate, or lose.
If you paste access keys instead - the interface says why you should not - they are encrypted at rest before they are stored. Same for Datadog and Sentry tokens.
No API returns a stored secret, to anyone, including you. Webhook URLs are shown with the host only, and a failed delivery logs the type of error, never the address.
A Google Cloud connection keeps only the project and billing table identifiers.
The cluster agent is read-only, runs inside your cluster, and pushes metrics out. We get no credentials to your cluster at all.
In production Marshal refuses a default signing secret. The credential encryption key is also required: connection setup fails loudly before a secret can be stored if the deploy omitted it.
What we read, and what we never read
This is not a policy promise, it is what the permissions allow. The CloudFormation template lists every single permission it grants, and you read it before you install it.
The approval gate
Stop staging-worker-03
No application connection or customer dependency was observed. The disks survive and the instance can be started again. The open security group remains a separate finding.
This is the whole gate: Marshal writes the plan, a person presses the button. There is no path around it.
Marshal drafts the exact change, in plain language, with the dollar impact priced from your own bill and one sentence saying whether it can be undone. Then it stops.
A person with approval rights approves that specific action. Who proposed it and who approved it are both recorded. Fully automatic mode is refused by the API, not merely discouraged.
Marshal re-checks live state before touching anything and records every step. Each plan states whether it is reversible, can only recreate an equivalent from a snapshot, or is irreversible before approval.
The label comes from what the code can actually roll back, not from how safe an action feels. The matching sentence is appended to the plan you approve, so nobody ever approves without knowing which of these three it is.
Data handling
AI boundaries
Marshal's analyst answers questions about your own data. Its evidence tools are read-only. For an authorized approver it can also create a proposal record from the reviewed action catalog. It cannot approve that proposal or execute infrastructure changes; those gates live outside the model.
Still on our list
A trust page that only lists wins is not a trust page. We keep a written security analysis with the open items in it, and we would rather you heard them from us: encryption of stored credentials is moving from our current scheme to a managed-key envelope before general availability, session tokens are moving out of browser storage, and the formal SOC 2 work - retention, access reviews, an incident runbook, a penetration test - is in progress, not done. The technical controls described above are built today.
If you are evaluating Marshal for a security review, write to us and we will walk your team through the analysis line by line.
Report a vulnerability to hello@marshalcloud.com. Include what you found and how to reproduce it. We will confirm we received it, keep you updated while we fix it, and we will not come after anyone who reports in good faith.