Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions docs/slo-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
toc_max_heading_level: 2
---

# Service Level Objective (SLO) Policy

We are committed to providing reliable, high-quality services to our customers.

## Incident Classification & Response Times

| Severity | Definition | Response Time | Resolution Time | Communication |
|----------|------------|---------------|-----------------|---------------|
| **Severity 1 (Critical)** | Complete service outage or critical functionality unavailable affecting multiple customers | 30 minutes | 4 hours | Immediate notification via email |
| **Severity 2 (High)** | Significant degradation of service or critical functionality unavailable for a subset of customers | 1 hour | 8 hours | Notification via email upon resolution |
| **Severity 3 (Medium)** | Minor service degradation or non-critical functionality unavailable | 4 hours | 24 hours | As needed |
| **Severity 4 (Low)** | Cosmetic issues or minor bugs with workarounds available | 1 business day | Best effort | As needed |

Comment on lines +11 to +17
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Clarify that response/resolution times are targets during support hours (not contractual).

Add a short note below the table to reduce legal risk and set expectations.

 | **Severity 4 (Low)** | Cosmetic issues or minor bugs with workarounds available | 1 business day | Best effort | As needed |
 
+Note: Response and resolution times are targets (not contractual guarantees) and apply during our support hours. We will communicate updates per the “Communication & Transparency” section.
+
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| Severity | Definition | Response Time | Resolution Time | Communication |
|----------|------------|---------------|-----------------|---------------|
| **Severity 1 (Critical)** | Complete service outage or critical functionality unavailable affecting multiple customers | 30 minutes | 4 hours | Immediate notification via email |
| **Severity 2 (High)** | Significant degradation of service or critical functionality unavailable for a subset of customers | 1 hour | 8 hours | Notification via email upon resolution |
| **Severity 3 (Medium)** | Minor service degradation or non-critical functionality unavailable | 4 hours | 24 hours | As needed |
| **Severity 4 (Low)** | Cosmetic issues or minor bugs with workarounds available | 1 business day | Best effort | As needed |
| Severity | Definition | Response Time | Resolution Time | Communication |
|----------|------------|---------------|-----------------|---------------|
| **Severity 1 (Critical)** | Complete service outage or critical functionality unavailable affecting multiple customers | 30 minutes | 4 hours | Immediate notification via email |
| **Severity 2 (High)** | Significant degradation of service or critical functionality unavailable for a subset of customers | 1 hour | 8 hours | Notification via email upon resolution |
| **Severity 3 (Medium)** | Minor service degradation or non-critical functionality unavailable | 4 hours | 24 hours | As needed |
| **Severity 4 (Low)** | Cosmetic issues or minor bugs with workarounds available | 1 business day | Best effort | As needed |
Note: Response and resolution times are targets (not contractual guarantees) and apply during our support hours. We will communicate updates per the “Communication & Transparency” section.
🤖 Prompt for AI Agents
In docs/slo-policy.md around lines 11 to 17, the response and resolution times
in the SLO table need a clarifying note stating they are target goals applicable
during defined support hours and are not contractual guarantees; add a single
short sentence immediately below the table (e.g., "These response and resolution
times are target service-level goals applicable during our published support
hours and do not constitute contractual commitments.") and ensure it references
where support hours are defined or link to the support-hours section.

## Incident Detection Procedures

We've set up several systems to identify incidents:

- **Real-time Monitoring**: We have observability and monitoring on our core infrastructure.
- **Error Tracking**: We use tools like Sentry to aggregate and produce notifications of errors.
- **Support Monitoring**: Our team watches support channels during business hours to catch issues you report.

## Communication & Transparency

### When Things Go Wrong

Here's what you can expect from us during an incident:

1. **First Update** (within our response time)
- We've found the problem and are working on it
- How bad it is and who's affected
- When you'll hear from us next
2. **Regular Updates**
- What's happening right now
- What we're doing to fix it
- Updated timeline if things change
3. **All Clear**
- Everything is back to normal
- Quick summary of what happened
- We'll do a full review and share lessons learned

### After We Fix It
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we remove these commitments


For serious incidents (Severity 1 & 2), we'll create a Root Cause Analysis that, upon request, will be shared with customers, including:

- **What Happened**: Step-by-step timeline of the incident
- **Who Was Affected**: How many customers and what services were impacted
- **Root Cause**: What actually caused the problem
- **How We'll Prevent It**: Specific steps we're taking to avoid this happening again
- **Lessons Learned**: What worked well and what we'll do better next time

## What's Not Covered

This SLO doesn't apply to:

- Beta or preview features (they're still experimental)
- Scheduled maintenance
- Issues outside our control (internet outages, AWS problems, etc.)
- Problems you caused (wrong configuration, hitting rate limits, etc.)
- Third-party service failures

## Need Help?

Here's how to reach us:

- **Support Portal**: [support.gruntwork.io](https://support.gruntwork.io) - Submit tickets and track issues
- **Email**: support@gruntwork.io - Direct email support
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Fix markdownlint MD034 (bare URL) for the email address.

Wrap the email in a mailto link (or angle brackets).

-- **Email**: support@gruntwork.io - Direct email support
+- **Email**: [support@gruntwork.io](mailto:support@gruntwork.io) - Direct email support
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- **Email**: support@gruntwork.io - Direct email support
**Email**: [support@gruntwork.io](mailto:support@gruntwork.io) - Direct email support
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

70-70: Bare URL used

(MD034, no-bare-urls)

🤖 Prompt for AI Agents
In docs/slo-policy.md around line 70 the email is written as a bare address
("**Email**: support@gruntwork.io - Direct email support") which triggers
markdownlint MD034; update the line to wrap the address as a mailto link or
enclose it in angle brackets, e.g. use <support@gruntwork.io> or
[support@gruntwork.io](mailto:support@gruntwork.io) so the email is not a bare
URL and the linter warning is resolved.

- **Slack**: Customer-specific channels (where available) - Real-time chat with our team
5 changes: 5 additions & 0 deletions sidebars/docs.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ const sidebar = [
type: "doc",
id: "support",
},
{
label: "SLO Policy",
type: "doc",
id: "slo-policy",
},
{
value: "Getting Started",
type: "html",
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
"baseUrl": ".",
"types": ["jest", "node"]
}
}
}