Set the non-secret deployment context once. HayaSend turns it into
version-pinned, plan-first commands from bootstrap through removal.
No cloud connection
Your settings stay in this browser. This page cannot call AWS,
HayaSend, or any third party.
Deployment context
Where will HayaSend run?
Add the expected AWS account to generate runnable commands.
01
One-time trust boundary
Confirm identity. Bootstrap least privilege.
The CLI checks the authenticated account before it reads SES or
CloudFormation. Bootstrap creates a service role, artifact bucket,
and scoped operator policy; it does not attach the policy for you.
Plan · no AWS writes
Show the reviewed bootstrap apply command
Apply · creates IAM and S3 resources
02
CloudFormation + SAM
Review the stack before creating it.
Plan mode validates tools, identity, SES, the packaged template,
and the exact change set. Apply enables termination protection and
a retained-resource stack policy after deployment.
Plan · no AWS writes
Apply · executes reviewed change set
03
Domain + scoped credentials
Give applications only what they need.
Read the bootstrap token from an approved secret manager. Create
a dedicated sending subdomain, publish the returned DKIM records,
then issue an expiring application key with only
emails:send and emails:read.
1
Export HAYASEND_BASE_URL and an administrator key in your shell—never paste either into this page.
2
Run hayasend domains create, publish DNS, then run domains verify.
3
Run hayasend keys create with a mode-0600 token file and move it to your secret manager.
Use a controlled mailbox. Confirm the recipient ledger reaches a
terminal state, the mailbox receives the message, alarms remain
OK, and the job, DLQ, and scheduler DLQ return to zero.
API acceptedSES acceptedRecipient deliveredMailbox receivedQueues empty
Read-only deployment diagnostics
The CLI test command sends real email against an AWS
deployment. Choose the sender and controlled recipient in your
terminal; this page intentionally does not collect them.
05
Routine operating loop
Check health, drift, alarms, and sending readiness.
Run a fresh drift check after deployment, updates, and AWS
incidents. The status result separates infrastructure health from
SES send readiness and links the generated CloudWatch dashboard.
Plan every upgrade. Let alarms stop a bad rollout.
Ordinary upgrades are plan-first and reject removals or possible
replacements. Apply uses the configured canary strategy and rolls
Lambda traffic back when deployment alarms fire.
Plan · no AWS writes
Apply · canary protected
07
Guarded removal
See what remains before deleting the stack.
Cleanup first prints a deletion plan and every retained data
resource. The browser cannot execute it. CloudFormation deletion
still requires the exact stack name and a separate termination
protection acknowledgement.
Plan · no AWS writes
Reveal the destructive stack-removal command
This removes the running CloudFormation stack. Retained tables,
buckets, keys, and backup recovery points have a separate data
lifecycle and are not purged automatically.
Destructive · exact confirmations required
Need an accountable operator?
Keep the infrastructure. Add support when it matters.
Haya can review migration, AWS hardening, deliverability, upgrades,
rollback, and failure drills without moving message content into a
Haya-hosted send path.