Run Stirrup across the whole company
Roles, an append-only audit log, promotion approvals and approval-gated AI, so your security team can review it and your operators can move.
- acme
- Settings
- Roles
- Members
- Roles
- API keys
- Environments
- Audit log
- Usage
- Billing
| Permission key | Owner | Admin | Member | Viewer | Analystcustom |
|---|---|---|---|---|---|
| sheets.edit | |||||
| scripts.publish | |||||
| endpoints.promote.prod | |||||
| contracts.enforce | |||||
| connections.manage | |||||
| juno.approve | |||||
| audit.export | |||||
| billing.manage |
Access you can explain to an auditor
Least privilege by default, roles built from permission keys, and one log of every change.
| Built-in roles | Owner, admin, member and viewer |
|---|---|
| Custom roles | Built from about 50 permission keys Team plan and up. Every role starts from least privilege. |
| API keys | Scopes, role ceilings and endpoint allowlists Per-key rate limits, IP rules, expiry and revocation. |
| Audit log | Append-only, with actor, time and diff Every mutation by a person, a script or Juno is recorded. |
| Export | The audit log and the contract violation log export for your auditors |
| Retention | Set by plan, up to 2 years, or custom on Enterprise See the plan table below for each tier. |
- acme
- Govern
- Audit log
| Time (UTC) | Actor | Action | Resource | Change |
|---|---|---|---|---|
| 14:02:11 | Finance lead | cell.update | revenue.sheet!C14 | 41,200 43,950 |
| 14:01:58 | Juno (approved by RM) | contract.update | orders.contract | maxAgeHours: 24 maxAgeHours: 6 |
| 13:58:40 | script:nightly-sync | connection.import | postgres/orders | synced 06:00 synced 13:58 |
| 13:55:02 | Admin (JK) | endpoint.promote | weekly-report | prod v14 prod v15 |
| 13:51:17 | Owner (AL) | role.assign | member DP | Viewer Analyst |
Change control and data safety
Promotions need approval before prod, and blocking contracts stop bad data before it reaches a dashboard.
- acme
- Scripts
- weekly-report
- Promote
- devv16
Tests passing
- stagingv15
Tests passing
- prodv14
Promotion to v15 awaiting approval
Diff v14 to v15 /api/run/acme/weekly-report
const rows = await stirrup.spreadsheets.query("revenue.grid", {
- sheet: "Q2",
+ sheet: "Q3",
});
+ if (!rows.length) return { status: 204 };| Environments | Dev, staging and prod with promotion approvals Team plan and up. Each promotion takes a version snapshot you can diff. |
|---|---|
| Endpoints | Versioned at /api/run/{org}/{slug} OpenAPI docs are generated from the published script. |
| Rollback | Return prod to an earlier version snapshot |
| Contracts in block mode | Failing rows are quarantined, with a reason per row Downstream dashboards and endpoints pause until the check clears. Business plan and up. |
| Script sandbox | V8 isolates with 64 MB of memory and a 10-second hard limit Imports come from a vetted npm allowlist. |
| Network access | None by default Capabilities are granted explicitly, scoped and logged. HTTP egress is allowlisted and private IPs are blocked. |
AI governance for Juno
Juno uses the same tools your team does, under the same permissions, approvals and audit log.
- Approvals with no skip setting
- Deletes, overwrites, write-backs, script runs, contract changes, deploys and promotions pause for approve or deny, with the blast radius shown. The flag lives in the tool layer.
- Scoped to the person using it
- Juno acts with the role permissions of the person who asked. It cannot reach anything that person cannot.
- Secrets stay out of context
- Credentials and secrets never enter prompts or model context. Nothing is trained on your content.
- Budgets and caps
- Each seat has daily and weekly token budgets with warnings near the cap. Team and up can set hard tool-call caps.
- Admin overrides
- At the cap, Juno waits for the reset or for an admin to grant an override. Overrides are on Business and up.
- Every action in the audit log
- Every Juno action is recorded in the same audit log as changes made by people and scripts.
Governance and support by plan
Business adds multiple organizations, blocking enforcement and admin overrides; Enterprise plans add custom retention and dedicated support.
| Feature | Team | Business | Scale | Enterprise | Enterprise Unlimited |
|---|---|---|---|---|---|
| Seats | 10 | 50 | 250 | 250+ | Unlimited |
| Custom roles | |||||
| Dev, staging and prod | |||||
| Contract enforcement | Warn | Warn + block | Warn + block | Warn + block | Warn + block |
| Multiple organizations | |||||
| Admin usage overrides | |||||
| API keys | 10 | 50 | Unlimited | Unlimited | Unlimited |
| Audit log retention | 90 days | 1 year | 2 years | Custom | Custom |
| Support | Priority email | Priority | Dedicated | Dedicated |
Multiple organizations keep subsidiaries or regions separate: each organization is isolated at the data layer, and people switch between them with the org switcher. A seat is one human login, including read-only viewers; service accounts, API keys, scheduled jobs, triggers and Juno do not take seats.
Security review and what is not built yet
We share what we have, and we say plainly what we do not offer today.
Procurement and security review
- 1
Request the security packet
Architecture notes, a data-flow overview and our subprocessors.
- 2
Send us your questionnaire
We fill it in and return it.
- 3
Meet your security team
We join a call to walk through anything the packet leaves open.
Stirrup is working toward SOC 2 Type II and does not hold a certification today. Read how we protect your data.
On the roadmap
These are planned and not shipped. If one is a requirement for you, tell sales and we will share the current status.
- SSO and SAMLNot available today.
- SCIM provisioningNot available today.
- Self-hostingNot available today. Stirrup runs as a hosted service.
Contact sales
Tell us about your rollout and we reply within one business day.
- Email sales
- [email protected]
- Security questions
- [email protected]
- Demos
- 30 minutes, on your stack
- Trials
- Never convert to paid automatically
Bring Stirrup to your security review
Start free with two seats, or talk to us about seats, plans and the security packet for your company.