Skip to main content

[System Name] System Profile

Template Instructions

Replace all text in [brackets] with your content. Delete this callout when done.

System Overview

Purpose: [What this system does and why it exists]

Business Impact: [How this system supports business operations]

Users: [Who uses this system - internal teams, clients, public, etc.]

Status: 🟢 Active | 🟡 Limited Support | 🔴 Deprecated

Key Information

FieldValue
System Name[Name]
System Owner[Name, Email]
Technical Lead[Name, Email]
EnvironmentProduction / Staging / Development
CriticalityLow / Medium / High / Critical
Data ClassificationPublic / Internal / Confidential / Restricted
Business Hours[e.g., 24/7, Business hours only]
SLA Target[e.g., 99.9% uptime]

Tech Stack

Frontend

  • Framework: [e.g., Next.js 14, React 18]
  • Language: [e.g., TypeScript 5.x]
  • Key Libraries: [List major dependencies]

Backend

  • Framework: [e.g., Node.js, Express]
  • Language: [e.g., TypeScript, Python]
  • Database: [e.g., PostgreSQL 15, MongoDB 6]
  • Cache: [e.g., Redis 7]

Infrastructure

  • Hosting: [e.g., Vercel, AWS, DigitalOcean]
  • Domain: [e.g., example.com]
  • CDN: [e.g., Cloudflare, AWS CloudFront]
  • DNS Provider: [e.g., Cloudflare]

Third-Party Services

  • [Service 1] - [Purpose]
  • [Service 2] - [Purpose]
  • [Service 3] - [Purpose]

Deployment Information

Production Environment

URL: [https://example.com]

Deployment Method: [Git-based auto-deploy, Manual, CI/CD pipeline]

Hosting Platform: [Platform name with account details]

Environment Variables:

# Example structure - DO NOT include actual secrets
DATABASE_URL=[Location of actual value]
API_KEY=[Location of actual value]

Deployment Checklist:

  • [Step 1]
  • [Step 2]
  • [Step 3]

Staging Environment

URL: [https://staging.example.com]

Purpose: [Testing, QA, Client previews, etc.]

Differs from Production: [Any key differences]

Monitoring & Observability

Health Checks

Uptime Kuma:

  • Monitor Name: [Name in Uptime Kuma]
  • Check URL: [Health check endpoint]
  • Check Interval: [e.g., 60 seconds]
  • Alert Channels: [Slack, Email, etc.]

Key Metrics:

  • Response time threshold: [e.g., < 500ms]
  • Uptime SLA: [e.g., 99.9%]
  • Error rate threshold: [e.g., < 0.1%]

Analytics

PostHog:

  • Dashboard: [Link to PostHog dashboard]
  • Key Events: [List critical events tracked]

Other Analytics:

  • [Tool name]: [Purpose and link]

Logging

Location: [Where logs are stored - Vercel, CloudWatch, etc.]

Log Retention: [How long logs are kept]

Key Log Queries:

# Example useful log queries
grep "ERROR" logs.txt

Authentication & Authorization

Auth Method: [e.g., NextAuth.js, OAuth, API Keys]

Providers:

  • [Google OAuth]
  • [Email/Password]
  • [Other providers]

User Roles:

  • Admin: [Permissions]
  • User: [Permissions]
  • Guest: [Permissions]

Session Management:

  • Session duration: [e.g., 30 days]
  • Token storage: [e.g., HTTP-only cookies]

Database

Type: [PostgreSQL, MongoDB, etc.]

Hosting: [Managed service, Self-hosted]

Connection Details:

  • Host: [Location of connection string]
  • Backup Schedule: [Frequency and retention]
  • Backup Location: [Where backups are stored]

Schema Management:

  • ORM: [e.g., Prisma, Drizzle, Mongoose]
  • Migration Strategy: [How migrations are applied]

Key Collections/Tables:

  • [table_name] - [Purpose]
  • [table_name] - [Purpose]

Security

Secrets Management

Location: [Vercel env vars, .env.local, AWS Secrets Manager, etc.]

Access Control: [Who can view/edit secrets]

Rotation Policy: [How often secrets are rotated]

Security Headers

  • HTTPS enforced
  • HSTS enabled
  • CSP configured
  • CORS properly configured

Vulnerability Scanning

Tools:

  • [Dependabot, Snyk, etc.]

Scan Frequency: [Weekly, on PR, etc.]

Dependencies

Critical Dependencies

  • [Package name] - [Purpose] - [Version]
  • [Package name] - [Purpose] - [Version]

Dependency Updates

Strategy: [e.g., Automated PRs via Dependabot, Manual review]

Testing: [How updates are tested before deployment]

Runbooks

Common Operations

Restart Service:

# Commands to restart the service
[command]

Clear Cache:

# Commands to clear cache
[command]

Database Backup:

# Commands to backup database
[command]

Incident Response

Escalation Path:

  1. [First contact] - [Contact method]
  2. [Second contact] - [Contact method]
  3. [Final escalation] - [Contact method]

Emergency Procedures:

  • [Link to runbook for outage]
  • [Link to runbook for data breach]
  • [Link to rollback procedure]

Known Issues

Issue 1: [Issue Name]

Status: 🟡 Open / 🟢 Resolved / 🔴 Critical

Description: [What the issue is]

Workaround: [Temporary fix if available]

Tracking: [Link to GitHub issue, Jira ticket, etc.]

  • [SOP: Deployment Procedure]
  • [Runbook: Incident Response]
  • [ADR: [Related Architecture Decision]]
  • [API Documentation]

Contacts

RoleNameEmailSlack
System Owner[Name][Email]@[handle]
Technical Lead[Name][Email]@[handle]
On-Call[Rotation][Email][Channel]

Change Log

VersionDateAuthorChanges
1.0YYYY-MM-DD[Name]Initial profile

Review Schedule

  • Last Reviewed: [Date]
  • Next Review: [Date]
  • Review Frequency: [Quarterly, Semi-annually, etc.]