Privacy Policy

Last updated: April 1, 2026

1. What We Collect

loopctl collects and stores the following data:

  • API key metadata: hashed API keys, role, last-seen timestamp
  • Project data: projects, epics, stories, acceptance criteria, and status transitions you create via the API
  • Audit log: immutable record of all state transitions including actor identity and timestamps
  • Agent metadata: agent IDs, labels, and registration timestamps
  • Request metadata: IP addresses (for rate limiting), request IDs

2. How We Use Your Data

Your data is used exclusively to:

  • Provide the loopctl service (state tracking, verification, audit)
  • Enforce rate limits and prevent abuse
  • Deliver webhook events you have subscribed to

We do not sell, share, or use your data for advertising or analytics.

3. Data Isolation

All tenant data is isolated using PostgreSQL Row-Level Security (RLS). Your data is invisible to other tenants at the database level. API keys are encrypted at rest using AES-256-GCM via Cloak.

4. Data Retention

Project data and audit logs are retained for the lifetime of your tenant account. Webhook delivery records are automatically cleaned up after 30 days. Idempotency keys expire after 1 hour.

5. Data Location

loopctl is hosted on Fly.io infrastructure in the Los Angeles (LAX) region. Database backups are managed by Fly.io's managed PostgreSQL service.

6. Your Rights

You may:

  • Access all your data via the REST API at any time
  • Export your data using the import/export API endpoints
  • Request deletion of your tenant and all associated data

7. Third-Party Services

loopctl uses the following third-party services:

  • Fly.io: hosting and managed PostgreSQL
  • GitHub: source code hosting and CI/CD
  • Google Fonts: Geist typeface delivery (on the landing page only)

8. Changes to This Policy

We may update this policy from time to time. Changes will be reflected in the "Last updated" date above.

9. Contact

For privacy-related questions, open an issue on the GitHub repository.