DeployOwl
DeployOwl

Privacy Policy.

Your data belongs to you. Here is how we keep it safe.

Effective Date: 15th July 2026 Last Updated: 15th July 2026

At DeployOwl, data sovereignty is not a marketing claim — it is a design constraint built into every layer of our infrastructure. This Privacy Policy describes, in precise technical and legal terms, how we collect, process, store, and delete data when you use our autonomous error tracking, resolution, edge security, and application deployment platform ("Service"). It applies to all users, organizations, and developers who interact with DeployOwl, whether through our web dashboard, our SDKs, our APIs, or our platform services.


1. Data Controller

DeployOwl operates as the data controller for all personal data processed through the Service. For any data protection enquiries, please contact: privacy@deployowl.com


2. What Data We Collect and Why

2.1 Account and Identity Data

When you register for DeployOwl, we collect:

  • Email address — used for authentication, alerts, and transactional communications.
  • Password hash — your password is never stored in plaintext. We store a cryptographic hash only.
  • Display name — optionally provided during registration.
  • Account status — whether your account is active or suspended.
  • Account creation timestamp — for internal auditing and data retention purposes.

We use this data to authenticate you, deliver critical service communications (such as billing alerts and error resolution notifications), and maintain the integrity of your account.

2.2 Organization and Team Data

If you create or join an organization workspace, we additionally collect:

  • Organization name and ID.
  • Member roles and statuses (e.g., owner, member, pending).
  • Email alert preferences per member.
  • Organization invitation records, including the inviter's identity, the invitee's email address, and the target project or organization.
  • Membership creation timestamps.

This data is used exclusively to enforce access control within your team workspace.

2.3 Project Data

For each project you create, we collect and store:

  • Project name, ID, and platform type (e.g., JavaScript).
  • A unique API key — used to authenticate your SDK and ingest error data.
  • Subscription tier — the plan associated with the project (free, pro, team).
  • Cloud provider and deployment configuration — including your selected provider (e.g., Vercel, Render, Cloudflare Workers, Docker, Fly.io, Railway, Google App Engine, or our own DeployWeb platform) and the status of CI/CD configuration.
  • Automation settings — such as whether autonomous fix generation and auto-merge are enabled, and your configured automation levels per environment (production, staging, other).
  • Notification preferences — including a Slack webhook URL, a notification email address, and whether email alerts are enabled.
  • Aggregate performance metrics — total errors fixed and estimated engineering hours saved.
  • Project context — optional documentation, URLs, or knowledge base content you configure to improve AI analysis accuracy.
  • Sandbox token — a temporary token used for DeployWeb provisioning workflows.

2.4 Error and Telemetry Data

This is the core of our Service. When your application sends data to DeployOwl via our SDK or API, we ingest and store:

  • Error messages and stack traces — the primary signal used to detect, group, and resolve issues.
  • Error environment context — including the environment name (production, staging, etc.).
  • End-user identifiers from your application — specifically, a user_id and user_email if you configure your SDK to pass them. You are solely responsible for ensuring that any end-user identifiers you pass to DeployOwl are lawful to share. If you pass personally identifiable information about your end-users, you act as a data controller and we act as your data processor under a sub-processing relationship.
  • Error grouping metadata — including first-seen and last-seen timestamps, occurrence counts, and status (open, resolved, ignored).
  • AI analysis results — the AI-generated diagnosis and recommendations stored per error group.
  • Pull request references — GitHub PR URLs and branch names created as part of autonomous fix generation.
  • Application performance metrics — CPU usage, memory usage, and event loop lag, sampled at ingestion time.

Retention: Error event data is retained for 7 days for solo/personal projects and 30 days for organization workspace projects. After this period, the raw error payloads are automatically and permanently purged by our scheduled maintenance worker. Error groups and AI insights that no longer have any associated raw events are also purged as orphaned records.

2.5 GitHub Integration Data

If you connect DeployOwl to your GitHub account or organization through our GitHub App ("DeployOwl App"):

  • GitHub Installation ID — the unique identifier assigned by GitHub when you install our App.
  • GitHub account login — your GitHub username or organization handle.
  • Repository metadata — the repository name, full name, default branch, and visibility (private or public) for repositories added to the installation.
  • Encrypted short-lived access token — a GitHub installation access token generated by our GitHub App, used to interact with your repositories on your behalf. This token has a short TTL and is refreshed as needed. It is stored encrypted at rest.
  • GitHub file cache — to avoid redundant API calls, we may cache the content and SHA of files we read from your repository. This cache is scoped to your installation and is invalidated when we detect changes via webhooks. It is permanently deleted when you disconnect your GitHub integration.

We access your repositories exclusively to: read source files for error context, create fix branches, open pull requests, and post status checks. We do not perform any write operations on your repository outside of these explicitly user-approved actions.

2.6 Edge Security Data (Owl Guard)

If you enable Owl Guard (our managed edge security layer), we additionally collect and process:

  • Visitor IP addresses — for threat scoring and geo-enforcement purposes.
  • Country of origin and ASN — derived from the visitor's IP, used to apply geo-blocking rules.
  • Bot score and threat score — computed scores used to classify traffic.
  • Security decision and reason — whether a request was allowed, challenged, or blocked, and the reason.
  • Request URL, method, and user agent — the HTTP metadata of the incoming request.
  • Request timestamp.

This data is stored in two places:

  1. Summary counters in our database (total requests, blocked, and challenged — aggregated over 7-day windows per project).
  2. Raw edge logs in Cloudflare R2 object storage, indexed per project and date.

Retention: Raw edge logs and security reports in R2 are retained for 7 days (solo projects) or 30 days (organization projects) and then permanently deleted.

You control what data is collected by configuring Owl Guard rules including geo-blocking, bypass paths, rate limits, bot thresholds, and custom domains. Your configuration is stored in a Cloudflare KV namespace scoped to your project.

2.7 Custom Domain Data

If you configure a custom domain for Owl Guard, we store:

  • Your custom domain name.
  • Its validation status and configuration.

If a domain is unverified within 48 hours of being added, it is automatically pruned from our system.

2.8 DeployWeb Deployment Data

If you use our DeployWeb serverless deployment platform, we process:

  • Your application source code and asset files, uploaded directly to our edge infrastructure and stored in R2 object storage under a scoped namespace (projects/{projectId}/).
  • Deployment job status and logs — tracking the current state of your deployment pipeline.
  • Scheduled serverless function definitions — if you configure cron-based serverless functions.
  • Migration history — if you use our AI-powered codebase migration tool, the repository content is processed transiently through our AI pipeline and the result is streamed back; it is not persistently stored beyond what your project configuration requires.

Retention: User-uploaded storage assets are retained until you delete them or delete your account. On account or project deletion, all assets under projects/{projectId}/ are permanently deleted from R2.

2.9 MCP (Model Context Protocol) Connections

If you configure external MCP server connections to enrich DeployOwl's AI context:

  • Connection name, server URL, and authentication headers — stored encrypted using AES-GCM with a platform-managed encryption key (BYOK_ENCRYPTION_SECRET).
  • Imported knowledge context — synthesized content fetched from your MCP resources, stored as project context records.
  • Sync metadata — last sync timestamp and resource counts.

2.10 Billing and Payment Data

We process billing data to manage your subscription and credit balance. This includes:

  • Subscription plan, status, and period dates — including active, canceled, or past_due states.
  • Credit balance and transaction history — including credits added, deducted, and reasons for each transaction.
  • Stripe Customer ID and Subscription ID — references to your records in Stripe, our primary payment processor. DeployOwl does not store full card numbers, CVC codes, or bank account details. All sensitive payment data is held exclusively by Stripe and Flutterwave.
  • Flutterwave Subscription ID — for users who pay via Flutterwave, an alternative payment processor.
  • Pending transaction references — temporary records held while a payment is being verified.
  • Lifetime tier — if applicable, your one-time purchase tier for lifetime access.

For billing enquiries, see Section 7.

2.11 Community Forum Data

If you use our Community Forum feature:

  • Post content and images — the text and optional image URLs of posts you submit.
  • Organization association — posts may be associated with your organization if you are a member.
  • Moderation metadata — flag counts, AI moderation status, and post visibility (active, hidden, deleted).
  • Creation timestamp.

Content you post publicly is visible to other platform users. Moderated or deleted content is retained with a deleted or hidden status for moderation audit purposes.

2.12 Internal Platform Audit Trail

All significant administrative actions performed by DeployOwl staff on user accounts are recorded in an internal audit log. This log captures the acting administrator's ID, the action type, the target user or entity, and a timestamp. This is a platform integrity and accountability measure, not shared with third parties.

2.13 Password Reset Tokens

If you request a password reset, we store a hashed reset token (the plaintext token is emailed to you and is single-use). The record includes your email, the token hash, an expiry timestamp, and a used flag. Expired and used tokens are not actively purged on a schedule — your current implementation should be reviewed to add a scheduled purge of used/expired reset tokens.

2.14 Admin OTP Records

Platform administrators authenticate using a time-limited OTP code. We store the OTP code and its expiry timestamp. These are overwritten on each new OTP request and are not long-lived.


3. How We Use Your Data

We use data collected from you for the following purposes:

PurposeLegal Basis
Providing the Service (error tracking, AI analysis, deployment, edge security)Performance of contract
Authenticating your account and maintaining session securityPerformance of contract
Sending transactional emails (error alerts, billing alerts, fix notifications)Performance of contract
Billing and subscription managementPerformance of contract / Legal obligation
Generating AI-powered code fixes and pull requestsPerformance of contract
Enforcing rate limits and preventing abuseLegitimate interest
Internal audit logging and platform integrityLegitimate interest
Improving the reliability and performance of our infrastructureLegitimate interest
Community moderationLegitimate interest
Sending product updates or announcementsLegitimate interest (with opt-out)

We do not use your data for advertising, sell it to third parties, or use it to build user profiles for purposes beyond operating the Service.


4. AI Processing

DeployOwl uses AI to analyze errors and generate code fixes. This is a core feature of the Service.

4.1 Default AI Processing (Cloudflare Workers AI)

By default, error analysis is performed using models hosted on Cloudflare Workers AI, which runs within Cloudflare's edge infrastructure. The models currently in use include:

  • bge-small-en-v1.5 (embeddings and semantic search)
  • llama-3.1-8b-instruct (general reasoning)
  • llama-3.2-11b-vision-instruct (multimodal context)
  • glm-4-32b (advanced code reasoning)

Processing occurs within Cloudflare's infrastructure. Cloudflare's data processing agreement governs their handling of data transiting their AI Gateway. We do not permit Cloudflare or any AI partner to use your proprietary code or error data to train their models.

4.2 Anthropic (Claude) — Secondary AI Provider

For certain synthesis and analysis tasks, we use the Anthropic Claude API (specifically claude-sonnet-4-5 or equivalent). Error context, stack traces, and relevant code snippets may be transmitted to Anthropic's API for processing. Anthropic does not use API inputs to train their models by default. See Anthropic's Privacy Policy for details.

4.3 Jina AI — Documentation Enrichment

When you provide a documentation URL for project context enrichment, we use the Jina AI Reader API to fetch and parse the content of that URL. The fetched content is stored as project context in our database. Jina AI acts as a transient processor. See Jina AI's Privacy Policy for details.

4.4 Bring Your Own Key (BYOK)

If you configure a custom AI provider (e.g., your own OpenAI, Anthropic, or other compatible API key), your key is encrypted using AES-GCM before being stored in our database. During analysis, the key is decrypted in memory within our secure Cloudflare Worker environment and used to make requests to your chosen provider. DeployOwl does not log the AI request or response payloads when using BYOK. All AI processing using BYOK is governed by your agreement with your chosen AI provider.


5. Third-Party Services and Subprocessors

We rely on the following subprocessors to deliver the Service. By using DeployOwl, you consent to data being processed by these parties as described:

SubprocessorRoleData Processed
Cloudflare (D1, R2, KV, Workers AI, PubSub)Core infrastructure, AI inference, object storage, edge KVAll platform data; processes on our behalf within Cloudflare's infrastructure
GitHubSource code integration via GitHub AppRepository metadata, file contents, PR operations (only for connected repos)
AnthropicAI language model APIError context, stack traces, code snippets (for AI analysis tasks)
Jina AIDocumentation URL parsingPublic or configured documentation URLs
StripePayment processingSubscription metadata; full payment card data held exclusively by Stripe
FlutterwaveAlternative payment processingSubscription metadata; full payment data held exclusively by Flutterwave
ResendTransactional email deliveryRecipient email address, email body (alerts, notifications, billing emails)

We do not engage subprocessors beyond this list without updating this policy.


6. Data Retention

Data TypeRetention Period
Account and profile dataUntil account deletion
Organization and team dataUntil organization deletion
Raw error event payloads7 days (solo) / 30 days (organization workspace) — auto-purged
Audit logs90 days (solo) / 365 days (organization) — auto-purged
Git Owl job status logs30 days (solo) / 90 days (organization) — auto-purged
Edge security logs (R2)7 days (solo) / 30 days (organization) — auto-purged
Security reports (R2)7 days (solo) / 30 days (organization) — auto-purged
GitHub file cacheUntil GitHub integration is disconnected
User-uploaded storage assetsUntil deleted by user or account deletion
AI insights (orphaned)Purged automatically when no parent errors exist
Temporary agent-provisioned accounts24 hours — auto-purged
Password reset tokensSingle-use; expired tokens should be treated as inactive
Credit transaction historyUntil account deletion
Billing subscription recordsAs required by applicable financial regulations (typically 7 years)
Community forum postsUntil deleted; moderation status retained for audit purposes
MCP connection credentialsUntil connection is deleted
Custom domain records (unverified)48 hours — auto-pruned

7. Billing and Financial Data

DeployOwl uses a credit-based billing model. Credits are purchased through Stripe or Flutterwave. Subscription fees (e.g., Managed Edge at $39/month, OwlGuard Pro at $99/month, Organization Workspace at $10/month) are settled automatically by our billing engine on a monthly cycle.

  • We do not store raw card numbers, CVCs, sort codes, or bank account numbers. All sensitive payment instrument data is tokenized and held exclusively by Stripe and Flutterwave.
  • Payment references (e.g., payment_ref) and Stripe/Flutterwave subscription IDs are stored in our database for reconciliation and dispute resolution.
  • If a payment fails or credits are insufficient, services may be suspended. You will be notified by email.
  • All credit transactions are logged for your review in your billing dashboard.

8. Security

We implement multiple layers of security controls across our platform:

  • Encryption at rest: Data stored in Cloudflare D1 and R2 is encrypted at rest by Cloudflare's infrastructure. Sensitive fields (GitHub access tokens, BYOK API keys, MCP auth headers) are additionally encrypted at the application layer using AES-GCM.
  • Encryption in transit: All data in transit is encrypted via TLS 1.2 or higher.
  • Authentication: User sessions are managed via short-lived, signed JWTs. Admin access requires a time-limited OTP challenge in addition to credentials.
  • Service-to-service authentication: Internal worker-to-worker calls are authenticated using a shared INTERNAL_SERVICE_SECRET that is never exposed to the public.
  • Role-Based Access Control (RBAC): Access to projects and organizations is enforced at every API endpoint based on verified membership and role.
  • Rate limiting: All public API endpoints and edge services enforce per-key rate limits to prevent abuse.
  • API key scoping: Each project has a unique, non-guessable API key. SDK keys provide write-only error ingestion access and cannot read project data.
  • MCP token scoping: MCP tokens are hashed before storage and are scoped to a single project.

Despite these measures, no system is completely immune to attack. In the event of a data breach affecting your personal data, we will notify you in accordance with applicable law.


9. Your Rights

Depending on your jurisdiction, you may have the following rights regarding your personal data:

  • Right of Access: You may request a copy of the personal data we hold about you.
  • Right to Rectification: You may correct inaccurate data via your account settings.
  • Right to Erasure: You may delete your account at any time. Upon deletion, all associated data (projects, errors, organizations, GitHub tokens, storage assets, subscriptions) is permanently deleted via cascading database constraints and scheduled R2 cleanup. Billing records required by financial law are retained for the legally required period.
  • Right to Data Portability: You may export your error and project data via our API.
  • Right to Withdraw Consent: Where processing is based on consent, you may withdraw it at any time.
  • Right to Object: You may object to processing based on legitimate interest.
  • Right to Restrict Processing: You may request that we limit processing of your data in certain circumstances.

To exercise any of these rights, contact privacy@deployowl.com. We will respond within 30 days.


10. Account Suspension and Service Termination

If your account is suspended by DeployOwl (whether due to a Terms of Service violation or at your request), the following takes effect:

  • Access to the dashboard and API is immediately revoked.
  • Active sessions are terminated upon the next authentication check.
  • Managed Edge and Owl Guard security rules are updated to suspended status on the edge, ceasing enforcement on behalf of your project.
  • Automated AI fix pipelines and GitHub integrations are paused.
  • Your data is not immediately deleted upon suspension. It is retained for 30 days to allow for reinstatement or appeal before permanent deletion.

11. Children's Privacy

DeployOwl is a professional developer tool intended for users aged 18 and older. We do not knowingly collect personal data from anyone under the age of 18. If we become aware that we have collected data from a minor, we will delete it immediately.


12. International Data Transfers

DeployOwl's infrastructure runs on Cloudflare's global edge network. Data may be processed in data centers across multiple regions, including the United States, Europe, and Asia-Pacific. By using the Service, you consent to these transfers. Where applicable, we rely on Cloudflare's Standard Contractual Clauses and Data Processing Addendum to ensure GDPR-compliant data transfers.


13. Cookies and Local Storage

Our web dashboard uses:

  • JWTs stored in HTTP-only cookies — for authentication session management.
  • Browser localStorage — for UI state preferences (e.g., theme, last viewed project). This data never leaves your browser.

We do not use advertising cookies, third-party tracking pixels, or analytics SDKs that fingerprint users.


14. Changes to This Policy

We may update this Privacy Policy from time to time. When we do, we will update the Last Updated date at the top of this document. For material changes, we will notify registered users by email at least 14 days before the change takes effect. Continued use of the Service after the effective date constitutes acceptance of the updated policy.


15. Contact

For all privacy-related enquiries, data subject access requests, or concerns:

Email: privacy@deployowl.com

We are committed to resolving all enquiries promptly and transparently.