# TrackMyVend Service Level Agreement (SLA)

**Effective date:** 2026-04-21 · **Revision:** v1.0

This document defines the availability commitment, response times, and remedy terms TrackMyVend offers its paying customers. A plain-text copy is served at <https://trackmyvend.com/SLA.md> and linked from the public status page at <https://trackmyvend.com/status.html>.

---

## 1. Service availability

TrackMyVend commits to **99.9 % monthly uptime** for the production web application and API, measured as:

```
uptime_% = (total_minutes - unplanned_downtime_minutes) / total_minutes * 100
```

Where a month of 30 days has 43 200 minutes, **99.9 % allows up to 43 minutes of unplanned downtime per month.**

### What counts as "available"

The system is considered available when **all** of the following are true, as observed by our external monitors:

- The public landing (`/`) returns HTTP 200 (or a 302 to a locale subdirectory).
- The authenticated app (`/dashboard.html`) returns HTTP 200 to a valid session.
- `/api/health` returns HTTP 200.
- Round-trip latency from the monitor nodes in North America and Latin America is under 3 000 ms.

### What does NOT count as downtime

- Scheduled maintenance announced at least 48 h in advance.
- Outages of external dependencies explicitly outside the app boundary (Mapbox, the customer's own ISP, etc.). We'll disclose these in status-page notes but won't count them against the SLA.
- Force majeure events.

## 2. Availability tiers by plan

| Plan | Monthly uptime target | Response time (P0) | Credit cap per month |
|---|---|---|---|
| Starter | 99.5 % | 4 h business-hour | 10 % of that month's fee |
| Pro | **99.9 %** | 1 h business-hour | 25 % of that month's fee |
| Enterprise | 99.95 % | 15 min 24/7 | 50 % of that month's fee |

## 3. Incident severity

| Level | Definition | Example |
|---|---|---|
| **P0 — Critical** | Service unreachable for > 1 % of users OR data loss risk | Supabase outage; auth broken across the board |
| **P1 — High** | A core workflow is broken but sessions still work | Dashboard KPIs show wrong totals |
| **P2 — Medium** | A secondary feature is broken; workaround exists | Map export PDF fails |
| **P3 — Low** | Cosmetic / non-blocking | A chart label wraps oddly |

Response SLAs (from first customer report to first human response):

| Severity | Starter | Pro | Enterprise |
|---|---|---|---|
| P0 | 4 h (business hrs) | 1 h (business hrs) | **15 min (24/7)** |
| P1 | 1 business day | 4 h (business hrs) | 1 h (business hrs) |
| P2 | 2 business days | 1 business day | 4 h (business hrs) |
| P3 | 5 business days | 2 business days | 1 business day |

Business hours = 09:00–18:00 CST Monday–Friday, excluding Mexican public holidays.

## 4. Service credits (how we compensate downtime)

If we miss the monthly uptime target on a paid plan, the customer can request a service credit:

| Actual monthly uptime | Credit (% of monthly fee) |
|---|---|
| 99.0 % – 99.9 % | 10 % |
| 95.0 % – 99.0 % | 25 % |
| Below 95.0 % | 50 % (plan cap) |

Credits are applied to the next invoice. Customers must request the credit in writing (billing@trackmyvend.com) within 30 days of the incident.

## 5. How we measure availability

- External synthetic monitors (BetterStack / UptimeRobot) hit `/api/health` from **at least 3 geographic regions** every 60 seconds.
- Two consecutive failures are required before we mark an incident (reduces false positives from transient network blips).
- Monthly uptime is posted on <https://trackmyvend.com/status.html> within 5 business days of month-end.

## 6. Planned maintenance windows

When we need to push a breaking change:

- Announced at least **48 h in advance** on the status page, by email to active admins, and on our Slack Connect channels (if applicable).
- Scheduled between **02:00 – 06:00 CST** Tuesday or Thursday whenever possible.
- Never during Monterrey / São Paulo / Buenos Aires business hours if avoidable.

## 7. Exclusions

The SLA does not apply to:

- Beta features clearly labeled as such in the product.
- Sandbox / staging environments.
- Customer-owned hardware (the Nanolink IoT devices — they're covered by a separate hardware warranty).
- Downstream dependencies entirely outside our control (Mapbox tile outage, Supabase regional outage, etc.) — we will still publish these on the status page but they do not count against the uptime target.

## 8. Contact

- **Incident reporting:** soporte@trackmyvend.com
- **Status page:** <https://trackmyvend.com/status.html>
- **Billing / credits:** billing@trackmyvend.com
- **Enterprise escalation:** see your CSM's signature line

---

*TrackMyVend reserves the right to update this SLA with 30 days' advance notice. The current authoritative version lives at <https://trackmyvend.com/SLA.md>. Previous revisions are kept in the Git history of the website.*
