Privacy Policy

Last updated: November 6, 2026

DownBad by Future Vision Concepts, LLC

Privacy Policy

Effective Date: February 1, 2025

Last Updated: November 6, 2026


DownBad is a service owned and operated by Future Vision Concepts, LLC, an Ohio Limited Liability Company ("Company," "we," "us," or "our"). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our uptime monitoring service at downbad.app (the "Service").

We are committed to protecting your privacy. As fellow indie developers, we understand the importance of data privacy and have designed our Service to collect only what's necessary to provide you with reliable monitoring.

Please read this Privacy Policy carefully. By using the Service, you agree to the collection and use of information in accordance with this policy.


1. Information We Collect

Collection begins before you have an account. If you run the free health check on our public site, we store what it records — see 1.9. We also kept a waitlist before sign-up opened, and it was deleted on October 21, 2026 — see 1.8. The rest of this section describes what we collect once an account exists.

1.1 Account Information

When you create an account, we collect:

  • Email address (required) — Used for authentication, notifications, and account communications
  • Display name (optional) — Used to personalize your experience
  • Avatar URL (optional) — Used for profile display
  • Passkeys (optional) — If you create a passkey, we store its public key and credential ID, the name it is given (at first, your browser and operating system, such as "Chrome on macOS"), its device type, whether it is backed up, a use counter, the ways your device can reach it (its transports), an identifier for the authenticator's model, the date it was created, and the date it last signed you in. DownBad never receives the private key, which stays with your device or the passkey provider that keeps your passkeys (such as iCloud Keychain or Google Password Manager), nor anything biometric, such as your fingerprint or face. Used to sign you in with that passkey; removing a passkey on your Account page deletes it
  • Sign-in providers (optional) — If you sign in with or connect GitHub, Google, or Microsoft, we store which provider it is, the ID that provider gives your account there, when it was connected, when you last signed in with it, and the sign-in tokens the provider returns: an access token, for Google and Microsoft the signed sign-in token that carries what the provider holds for you (your email address, whether the provider has verified it, and your name; for Google, your profile picture's address, language and Workspace domain; for Microsoft, your username there, your account's ID in your organization's directory, that directory's ID, and any other addresses it has verified), and, where the provider sends them, a refresh token, when the tokens expire, and the permissions they grant. Used to sign you in with that provider. Disconnecting a provider on your Account page deletes that record and keeps a note of which provider you disconnected and when, so that signing in with it again does not reconnect it on its own; connecting it again removes the note

1.2 Monitor Configuration Data

When you set up monitors, we collect the configuration details you provide:

  • URLs, domains, IP addresses, and ports you wish to monitor
  • Monitor names and descriptions
  • Check frequency and scheduling preferences
  • HTTP methods, headers, and expected responses
  • SSL certificate, DNS, and WHOIS monitoring parameters
  • Notification preferences and alert thresholds

1.3 Monitor Results and Performance Data

When our Service checks your monitored endpoints, we collect:

  • Success or failure status of each check
  • Response times and latency measurements
  • HTTP status codes and response headers
  • Error messages and diagnostic information
  • Timestamps of all monitoring activities
  • Geographic region from which checks were performed

Certificate details from an incident diagnosis. When a URL or SSL monitor's incident opens because the site's certificate is not trusted, we contact the monitored site again to work out why (for example, a missing intermediate certificate). We do this at most three times for one incident. We store the result with the incident:

  • About the probe: the host and port we contacted, when the diagnosis ran, and the cause we found, including the names of a missing issuer, a root or an authority where we record one
  • About every certificate the site sent: its subject and issuer names, which can contain an organisation name, a person's name or an email address, as the certificate prints them; the dates it is valid from and to; whether it had expired; and its SHA-256 fingerprint
  • About an issuer certificate we downloaded: the same details, and the address it came from, when it is the certificate we suggest you add to your chain or a cross-signed copy of a root. Other downloads are not stored; they leave a record of the address and whether the fetch worked, was refused or failed, with a short reason, such as that it timed out or the HTTP status it answered with
  • In the diagnosis job's record: the host and port to probe, and, if the diagnosis job itself fails, the error it recorded

The diagnosis is kept with the incident, including its archived copy after the incident is archived; the diagnosis job's record is removed when the incident is archived. To find an issuer certificate, we fetch from addresses named in the certificates we examine: the site's own certificates and certificates we have already downloaded. We make at most four such fetches per diagnosis. Those addresses are chosen by the certificates, not by us, and can be any public web host a certificate names. The requests go to plain http addresses and carry our user agent and no account or monitor data.

1.4 Notification and Delivery Data

To deliver alerts and maintain service quality, we collect:

  • Email addresses of notification recipients you configure
  • Webhook URLs and configurations you provide
  • Notification delivery status and timestamps
  • Delivery failures and error details (for troubleshooting)

1.5 Audit and Security Logs

For security and compliance purposes, we automatically collect:

  • IP addresses used to access your account
  • Browser and device information (user agent)
  • Actions performed within your account
  • Timestamps of account activities

1.6 Local Storage and Preference Data

To personalize your experience and ensure the site renders correctly, we use functional cookies and browser localStorage to store:

  • UI theme selections and customizations
  • Display preferences and layout settings
  • Other temporary interface state necessary for site functionality

Signing in also keeps five values in your browser's localStorage. They describe this device, not your account, and none of them is sent to us except as stated:

  • Last sign-in method (db-last-sign-in-method) — Which way you last signed in on this device (email, password, passkey, or a provider such as GitHub, Google, or Microsoft), so the sign-in page can mark that option as "Last used". It stays in your browser and is never sent to us.
  • Provider sign-in in progress (db-sign-in-oauth-attempt) — Which provider you chose, written when you leave to sign in with it, so that the method can be recorded once you return signed in. It stays in your browser and is never sent to us. It is removed when a sign-in is recorded or you next open the sign-in or sign-up page; if you abandon the provider's sign-in, it stays until then.
  • Sign-in requester (db-sign-in-requester) — A random value created in your browser. It is sent when you ask for an email sign-in link from the sign-in or sign-up page, or ask for another after requesting a sign-in link, and when you sign up with a password. It is sent again from the email link's landing page, so that page can tell it is open in the browser that asked for the email (in any other browser the page shows a code to enter in the browser that asked), and when you finish with that page's button or the email's code, so that a password set at sign-up is kept only when its email is finished in the browser that signed up. Emails sent another way, such as a new one requested after a password sign-up, carry no such value, so their page always shows the code. The value itself is kept only in your browser. We store a one-way hash of it with the pending sign-in. A pending sign-in stops working 15 minutes after the email is sent, and is deleted when it is used, when a newer email is sent for the same address, or when expired sign-in records are cleared. The value is random and contains nothing about you or your account, but it stays the same for every sign-in email this browser asks for, until you clear your browser's storage.
  • Passkey offer due (db-passkey-offer-due) — Set when you sign in on this device some way other than a passkey, so the next signed-in page can offer to create one. It is removed once you answer the offer or sign in with a passkey, or without an offer when your account already has a passkey, this browser cannot create one, or you chose "Not now" in the last 30 days. It is never sent to us.
  • Passkey offer declined (db-passkey-offer-declined) — The date and time you last chose "Not now" on that offer, so this device does not offer again for 30 days. It is never sent to us, and is kept until you clear your browser's storage.

For authenticated users, your preferences are also stored in our database so they sync across devices. For unauthenticated visitors, preferences are stored only in your browser via functional cookies.

Functional cookies are strictly necessary for the site to operate correctly and do not require consent under GDPR or ePrivacy regulations.

1.7 Usage Measurement

To understand how people use our Service, we collect usage data through a first-party analytics system that we build and host ourselves. The surfaces this measurement covers are:

  • Our landing page and the free health check run from it
  • Our sign-up page
  • The signed-in pages of the customer app

Our other public pages (for example sign-in, privacy, and terms) are not covered. This measurement is limited to:

  • Page views — A visit to a measured page (landing, sign-up, or a signed-in page of the app)
  • Click events — Which elements and features are interacted with, and the order of those events within one visit
  • Referral source — How you arrived at our site (e.g., a link from another website)
  • General device information — Browser type and screen size, each reduced before storage to a broad family and a size band rather than the exact values your browser reports, and never used to identify individuals
  • A per-visit identifier — A value created in your browser's memory so events from one visit can be read in order, along with the time of each event. It is never written to your device and is replaced the moment you reload. It is sent with those events and stored beside them for the same short working window as the events themselves, and it connects to nothing outside that one visit

Events from the sign-up page and from signed-in pages are pseudonymous. They carry no account, user, or sign-in identifier, and we never link them to an account. For the short working window while individual events still exist, someone with access to both the measurement store and our service logs could in principle match an event to a person by timing — for example, matching a sign-up completion event to the account created a moment earlier, and then to that visit's other events through the per-visit identifier. Aggregate counts we keep after that window carry no visit identifier and cannot be matched that way. Events from the landing page alone, with no sign-up or signed-in activity in the same visit, remain anonymous.

What this analytics system does NOT collect:

  • IP addresses (not stored or logged)
  • Personal identifiers or account information on the event itself
  • Cross-site browsing behavior
  • Device fingerprints

If your browser sends the Do Not Track (DNT) or Global Privacy Control (Sec-GPC) signal, we honour it: our server discards each event on arrival and writes nothing, so none of the above is collected from you.

Our analytics use no cookies and no third-party services. All analytics data is processed and stored entirely on our own infrastructure. Events carry no identifier that outlives a single visit, and individual events are discarded within days, leaving only aggregate counts.

1.8 Waitlist Signups

Before sign-up opened to everyone, the public site let visitors leave an email address on a waitlist. The waitlist was closed when sign-up opened, and it was deleted on October 21, 2026. We no longer collect waitlist entries, and we hold none.

1.9 Anonymous Health Checks

The free health check on our public site looks up DNS records, SSL certificates, domain registration (WHOIS), email security records (MX, SPF, DKIM, DMARC), blacklist listings, and the endpoints it can find for the target you give it. Every run is stored, whether or not you are signed in. In the two modes that ask for an email address, the address you enter is what the stored run is filed under — it is the key we store the result against, and the key a repeat check is matched to. The domain-only mode stores no email address.

Each stored run holds:

  • The full findings of that run, across every lookup listed above
  • The target you entered — a domain, an email address, or both, depending on the mode
  • How long the run took, and whether the result came from cache
  • The date and time of the run

A stored run is attached to the identifier in your health check session cookie, or to your account if you are signed in. That identifier is a random value we generate and set in a first-party cookie on your device. The cookie is HttpOnly, so scripts on the page cannot read it, and SameSite=Lax, so it is not sent with requests made from other sites. It expires 30 days after it is set, and it is listed in 9.1 with our other cookies.

Results are reused for a short window, so checking the same target again does not re-run every lookup. Health checks you run before you sign up can be carried into your account if you create one.


2. How We Use Your Information

We use the information we collect to:

  • Provide the Service — Execute monitoring checks, deliver notifications, and display results
  • Maintain your account — Authenticate your identity and manage your subscription
  • Send notifications — Deliver alerts about your monitored endpoints via your configured channels
  • Improve the Service — Analyze aggregate usage patterns to understand how features are used and identify areas for improvement
  • Communicate with you — Send account-related updates, security notices, and service announcements
  • Ensure security — Detect and prevent fraud, abuse, and unauthorized access
  • Comply with legal obligations — Meet regulatory requirements and respond to lawful requests

We do not use your information for:

  • Behavioral advertising or ad targeting
  • Selling to third parties
  • Cross-website tracking
  • Building marketing profiles
  • Individual user profiling or identification through analytics

3. Legal Bases for Processing (GDPR)

If you are located in the European Economic Area (EEA), United Kingdom, or Switzerland, we process your personal data based on the following legal grounds:

PurposeLegal Basis
Providing the monitoring servicePerformance of contract
Sending service notificationsPerformance of contract
Account security and fraud preventionLegitimate interests
Service improvement and usage measurementLegitimate interests
Legal complianceLegal obligation
Marketing communications (if any)Consent

You may withdraw consent at any time for processing based on consent, without affecting the lawfulness of processing before withdrawal.


4. Data Sharing and Disclosure

4.1 Service Providers

We share data with the following categories of service providers who assist in operating our Service. We list them by category rather than by name:

Provider categoryPurposeData Shared
Managed database hosting providerManaged PostgreSQL database hostingAccount data, monitor configurations, results
Email delivery providerEmail deliveryRecipient email addresses, notification content
Cloud function (probe execution) providerProbe executors that re-run a failing check from other US regions, to confirm an outage before we alert youThe target and request configuration of that check — URL, host, domain or port, and the method, headers and body you configured
S3-compatible object storage providerData exports and archivesExported monitoring data
Payment processorPayment processing, through the hosted checkout and customer portal your browser is sent toPayment and subscription identifiers. Your card details go to the payment processor directly and never reach us
FVC Billing ServiceSubscription management — plans, checkout, and entitlements. Operated by Future Vision Concepts, LLC, the same company that operates DownBad, so this is not a third partyAccount identifier, account name, the account owner's email address, plan and subscription state
AI model provider used for automated service diagnosticsAutomated tools, including third-party AI services, that check whether a failing monitor's problem is on our side. Used only while Proactive troubleshooting is on for your accountThe details of a failed check needed to diagnose it — the monitor's target, the failure type and error, response status and timing, and our own service health data at the time

The third-party providers above are contractually obligated to protect your data and use it only for the purposes we specify.

Proactive troubleshooting

Every account has a Proactive troubleshooting setting, on by default, under Settings. It reads:

When your monitors fail, DownBad may use automated tools, including third-party AI services, to check whether the problem is on our side and let you know.

Turn it off and we stop that automated review of your account's monitors, including sending any of your data to the AI model provider. It does not stop members of our team from looking at a failure in our admin tools when something is wrong, and it does not stop us from showing you a note when a problem we already know about is affecting your monitors.

4.2 Customer-Configured Integrations

If you configure webhook notifications, monitor data will be sent to the endpoints you specify. You are responsible for the privacy practices of any third-party services you integrate.

4.3 What We Do NOT Share

We do not:

  • Sell your personal information to anyone
  • Share data with advertising networks
  • Use third-party analytics or tracking services (no Google Analytics, no Facebook Pixel — our analytics are entirely self-hosted)
  • Provide data to data brokers

4.4 Legal Disclosures

We may disclose your information if required to:

  • Comply with applicable law, regulation, or legal process
  • Respond to lawful requests from public authorities
  • Protect the rights, property, or safety of our Company, users, or the public
  • Enforce our Terms of Service

4.5 Business Transfers

If we are involved in a merger, acquisition, or sale of assets, your information may be transferred as part of that transaction. We will notify you of any change in ownership or uses of your personal information.


5. International Data Transfers

Our Service is operated from the United States. If you access the Service from outside the United States, your information will be transferred to, stored, and processed in the United States.

For users in the EEA, UK, or Switzerland, we ensure appropriate safeguards for international transfers through:

  • Standard Contractual Clauses approved by the European Commission
  • Data processing agreements with our service providers
  • Technical and organizational security measures

6. Data Retention

We retain your information for as long as necessary to provide the Service and fulfill the purposes described in this policy:

Data TypeRetention Period
Account informationUntil you delete your account
Monitor configurationsUntil you delete them or your account
Monitor results30 days (Free tier) / 90 days (Paid tiers)
Notification history90 days
Data archives/exports365 days, then automatically deleted
Audit logs90 days
Email delivery records90 days
Usage measurement data90 days, then automatically deleted

After account deletion:

  • Your data will be retained for 30 days to allow for account recovery
  • After 30 days, all personal data will be permanently deleted
  • Anonymized, aggregated data may be retained for analytical purposes

7. Data Security

We implement appropriate technical and organizational measures to protect your personal information:

  • Encryption in transit — All data transmitted between you and our servers uses TLS encryption
  • Encryption at rest — Stored data is encrypted using industry-standard encryption
  • Access controls — Access to personal data is restricted to authorized personnel only
  • Infrastructure security — Our hosting providers maintain SOC 2 compliance and industry certifications
  • Regular security reviews — We periodically review and update our security practices

While we strive to protect your information, no method of transmission or storage is 100% secure. If you have reason to believe your interaction with us is no longer secure, please contact us immediately.


8. Your Privacy Rights

8.1 Rights for All Users

Regardless of your location, you can:

  • Access your data — View your account information and monitoring data in your dashboard
  • Export your data — Download your monitoring data in JSON or CSV format
  • Delete your account — Request deletion of your account and associated data
  • Update your information — Correct or update your account details

8.2 Additional Rights for EEA, UK, and Swiss Residents (GDPR)

If you are located in the European Economic Area, United Kingdom, or Switzerland, you have the following additional rights:

  • Right of access — Request a copy of the personal data we hold about you
  • Right to rectification — Request correction of inaccurate or incomplete data
  • Right to erasure — Request deletion of your personal data ("right to be forgotten")
  • Right to restrict processing — Request limitation of how we use your data
  • Right to data portability — Receive your data in a structured, machine-readable format
  • Right to object — Object to processing based on legitimate interests
  • Rights related to automated decision-making — We do not make solely automated decisions that significantly affect you

To exercise these rights, contact us at [email protected]. We will respond within 30 days.

You also have the right to lodge a complaint with your local data protection authority.

8.3 Additional Rights for California Residents (CCPA)

If you are a California resident, you have the following rights under the California Consumer Privacy Act (CCPA):

  • Right to know — Request information about the categories and specific pieces of personal information we collect, use, and disclose
  • Right to delete — Request deletion of your personal information
  • Right to opt-out of sale — We do not sell your personal information, so this right does not apply
  • Right to non-discrimination — We will not discriminate against you for exercising your privacy rights

To exercise these rights, contact us at [email protected] or use the data export and account deletion features in your dashboard.

Categories of personal information collected in the preceding 12 months:

  • Identifiers (email address, name, IP address)
  • Internet activity (monitoring configurations, service usage)
  • Geolocation data (derived from IP address)

We do not sell personal information.


9. Cookies, Local Storage, and Analytics

9.1 Cookies We Use

We use a minimal set of cookies, all of which are strictly functional:

Cookie TypePurposeRequired
Authentication cookiesMaintain your logged-in sessionYes
Functional cookiesStore display preferences (theme, UI settings) for unauthenticated visitors to ensure the site renders correctlyYes
Passkey sign-in cookieHold a reference to the one-time challenge your device's passkey answer is checked against. Set each time a challenge is asked for: when you start creating a passkey or signing in with one, and, in a browser that can suggest passkeys in the email field, each time the sign-in page opens, every few minutes while it stays open, and when you return to the email field after an earlier request ended. Expires 5 minutes after it is set. Each challenge is also kept with our sign-in records, and deleted when a sign-in or new passkey succeeds with it, otherwise once it has expiredYes
Health check session cookieHold a random identifier so the health checks you run on our public site are stored together and can be carried into your account if you sign up; expires 30 days after it is setYes

All cookies we use are first-party (set by downbad.app) and strictly necessary for the site to function. No consent banner is required for these cookies under GDPR and ePrivacy regulations.

9.2 Local Storage

We use browser localStorage to persist UI preferences on your device. For authenticated users, preferences are synced to your account so they carry across devices.

We also use localStorage for the five sign-in values described in 1.6: the last sign-in method, a provider sign-in in progress, the sign-in requester, and whether to offer a passkey (due, or declined). They stay in your browser; only the sign-in requester is sent to us, as described there.

9.3 Self-Hosted Usage Measurement

We operate a first-party analytics system, built and hosted ourselves, to understand usage patterns in aggregate. The surfaces this measurement covers are our landing page (and the health check run from it), our sign-up page, and the signed-in pages of the customer app. Our analytics:

  • Do not use cookies of any kind
  • Do not store IP addresses
  • Do not track users across sites
  • Do not use third-party services — all data stays on our infrastructure
  • Never link an event to an account — events carry no account, user, or sign-in identifier; events from sign-up and signed-in pages are pseudonymous (they could in principle be matched to a person by timing while individual events still exist), and landing-page-only visits remain anonymous
  • Honour Do Not Track and Global Privacy Control — an event that arrives with either browser signal is discarded on arrival and nothing is written

Our usage measurement is limited to page views of those measured surfaces, click events (including the order of events within one visit), referral sources, general device information (browser type, screen size), the time of each event, and a per-visit identifier that is never written to your device, collected solely to improve the Service. Individual events are discarded within days; only aggregate counts are retained. This data is never sold, shared, or used for advertising.

9.4 What We Do NOT Use

We do not use:

  • Third-party analytics services (no Google Analytics, no Facebook Pixel, no Mixpanel)
  • Advertising or retargeting cookies
  • Cross-site tracking technologies
  • Device fingerprinting
  • Any cookie or tracking mechanism that requires user consent

9.5 Managing Browser Storage

You can clear cookies and localStorage through your browser settings. Note that clearing authentication cookies will require you to log in again, and clearing functional cookies or localStorage may reset your display preferences, remove the "Last used" marker on the sign-in page, and make an email sign-in link's page treat your browser as a different one and show a code.


10. Children's Privacy

DownBad is not directed to children under 13 (or under the minimum age required to consent to data processing in your country). We do not knowingly collect personal information from them. If we learn we have, we'll delete it. Parents can contact us at [email protected] to request deletion.


11. Changes to This Privacy Policy

We may update this Privacy Policy from time to time. When we make material changes, we will:

  • Update the "Last Updated" date at the top of this policy
  • Notify you by email (for registered users)
  • Post a notice on our website

Your continued use of the Service after changes become effective constitutes your acceptance of the revised policy. If you do not agree to the changes, you should stop using the Service and delete your account.

We encourage you to review this Privacy Policy periodically.


12. Contact Us

If you have questions, concerns, or requests regarding this Privacy Policy or our data practices, please contact us:

Privacy Inquiries:

General Legal Inquiries:

Company: Future Vision Concepts, LLC Ohio, United States

We aim to respond to all inquiries within 48 hours.


This Privacy Policy was last updated on November 6, 2026.

Questions? Contact us at privacy@downbad.app