Projects & Organizations

Pulsimo uses a hierarchical multi-tenant architecture with Organizations containing Projects containing Endpoints.

Resource Hierarchy

Organization (Company)
  └─ Project (Environment/Team)
      └─ Endpoints (Services)
          └─ Health Checks
              └─ Incidents

Organizations

An organization represents a company, team, or business entity. It's the top-level isolation boundary in Pulsimo.

Complete Isolation

Users in Org A cannot see data from Org B. Database-level isolation with organization_id ensures security.

Centralized Settings

Default check intervals, notification channels, branding, and feature flags at organization level.

User Management

Separate RBAC and permissions per organization with Owner, Admin, Member, and Viewer roles.

Billing & Limits

Usage tracking, endpoint limits, user limits, and retention policies per organization.

Creating an Organization

First Organization: Created automatically during registration. You become the Owner role with a default project created automatically.

Additional Organizations: Contact support for multi-org access. Each represents a separate billing entity with independent user base.

Projects

A project is a logical grouping of endpoints within an organization. Typically represents:

Environment

Production, Staging, Development, Testing

Team

Backend, Frontend, Infrastructure, Data

Application

E-commerce, CRM, Analytics, Payment System

Customer

For agencies managing multiple clients

Environment Separation

Best practice example for organizing projects by environment:

ProjectAlert PolicyCheck IntervalNotification
ProductionStrict (1 failure)10 secondsSlack + Email + PagerDuty
StagingModerate (3 failures)30 secondsSlack only
DevelopmentRelaxed (5 failures)60 secondsEmail summary only

Best Practices

📁 Organize by Environment: Create separate projects for Production, Staging, and Development with appropriate alert policies for each.

🎯 Clear Naming: Use descriptive project names like "production", "backend-staging", "frontend-dev" instead of "proj1" or "test".

🔐 Limit Access: Grant project-level permissions to restrict who can modify endpoints in sensitive environments like Production.