Security & trust

Security, stated plainly.

Where your data lives, who can reach it, which providers help us run Uptimecheck and how to report a problem. Only what the product does today.

At a glance Last reviewed

App, database and checks
Stockholm
Alert channel and flow secrets at rest
AES-256-GCM
Password hashing and authenticator codes
scrypt + 2FA
A backup is restored and checked
Every Sunday

Where your data lives

Hosted in Stockholm, Sweden

The app and its database run on our own server at UpCloud in Stockholm. Checks run from Stockholm too.

Backups kept in Stockholm and in the EU

The database is backed up every night: 14 days on the server and 30 days in Cloudflare R2 under EU jurisdiction. UpCloud also snapshots the whole server daily and keeps 7 days.

Encrypted in transit

The app, the API, status pages and this website are served over HTTPS, and server agents report to the app over HTTPS.

Secrets encrypted at rest

Alert channel settings such as webhook URLs, chat IDs and phone numbers, the secrets in multi-step flows and push subscriptions are encrypted with AES-256-GCM before they are stored. Flow secrets are masked in the API, the MCP server and the edit form.

Keys stored as hashes

API keys and probe tokens are stored only as SHA-256 hashes, so an API key is shown once, when it is created, and can be revoked at any time.

Signing in

Passwords hashed with scrypt

Passwords are at least 10 characters and stored as scrypt hashes, never in plain text. A reset link works once, for one hour, and setting a new password signs out every other device.

Two-factor authentication

Codes from an authenticator app, with one-time backup codes, on every plan. With two-factor on, sign-in links by email are no longer sent.

Four ways to sign in

Email and password, a one-time sign-in link by email that works for 15 minutes, Google or GitHub. Every account confirms its email address, and a provider account only joins an existing one when the provider says the address is verified.

Sessions you can end

A session lasts 30 days and is renewed while you use the app. Account lists every device that is signed in, and you can sign any of them out. Sign-in attempts are rate limited.

Workspaces and teams

Four roles

Owner: everything, including billing and deleting the workspace. Admin: members, projects and all monitoring. Member: monitors, status pages and alerts. Viewer: read-only. The server checks the role on every change.

Two-factor for the whole workspace

An owner or admin can require two-factor authentication. Members who sign in with a password then set up an authenticator app before they can open the workspace; Google and GitHub sign-ins rely on the provider’s own two-factor.

Audit log

Changes to monitors, members, billing and API keys, with who made them and when. Owners and admins can read it and export it as CSV.

API keys with scopes

Each key is read-only or read and write, belongs to one workspace and is limited to 120 requests a minute. A write key stops writing when the person who created it is no longer an owner or admin.

Clients without a membership

Client dashboards give a client read-only access to one project with their own sign-in. They see uptime and incidents, never monitor settings, tokens or private targets.

Signed webhooks

Webhook alerts carry an HMAC-SHA256 signature, so your own systems can check that they came from Uptimecheck.

Keeping and deleting data

History kept per plan

Uptime, response times and incidents are kept 1, 2 or 3 years on Start, Professional and Business, then deleted. Every single check, with its details, is kept 30 days on every plan, and incident screenshots 90 days.

Delete it yourself

Deleting a workspace removes its projects, monitors, status pages and history and cancels its subscription. Deleting your account is confirmed by a link sent to your email. Deleted data leaves our backups as they expire, within 30 days.

Status page visitors stay anonymous

Status page statistics count visits by country, referrer and device without cookies, and IP addresses are never stored.

Payments handled by Stripe

Checkout and the billing portal are hosted by Stripe. Card details go straight to Stripe; we never see or store card numbers.

How we build and run it

Every change is tested

Each change runs linting, type checks, unit tests, Go tests and the full end-to-end suite. Only builds that pass reach the server, and a deploy that fails its health check rolls back by itself.

Security fixes shipped quickly

We check dependencies with pnpm audit and ship security releases as they come out, such as the Next.js 16.4.2 fixes in October 2026.

Locked-down server

The server accepts SSH keys only, never passwords. Production secrets live on the server, never in the code repository.

Checks can’t reach private networks

Every address a check or webhook connects to is checked against private and internal ranges, also after the DNS lookup, so monitors can’t be used to probe internal systems.

Signed agent releases

The server agent only installs releases signed with our ed25519 key, and never an older version than it runs.

Watched from outside

An independent watchdog on Cloudflare checks the app’s health every minute and alerts us by email and SMS when something fails.

Sub-processors

The companies that store or process data for Uptimecheck, what they do and where. App means app.uptimecheck.com, website means uptimecheck.com.

Provider What for Where Used by
UpCloud The server that runs the app, its database, the checks and this website. Where Stockholm, Sweden Used by: App Website
Amazon Web Services (Amazon SES) Email: alerts, sign-in links, reports and status page notices. Where Stockholm, Sweden (eu-north-1) Used by: App
Amazon Web Services (End User Messaging) SMS alerts and phone number confirmation codes. Where Stockholm, Sweden (eu-north-1) Used by: App
Cloudflare DNS; copies of the database backups in R2; screenshots of failing pages and real-browser flows; the watchdog. For the website also the CDN and cookieless Web Analytics. Where EU for backups, global network Used by: App Website
Stripe Checkout, subscriptions, invoices and VAT. Where Global Used by: App
Google Google Workspace for our own email, support included; PageSpeed Insights for page speed monitors (the page address is sent). Where Global Used by: App
Google Analytics Visits to this website, only after you accept cookies, and the sign-up and first payment of visitors who accepted. Where Global Used by: App Website
Microsoft Clarity Heatmaps and session replays of this website, only after you accept cookies. What visitors type is masked. Where Microsoft Azure Used by: Website
RunCloud The control panel that manages our server’s web server and TLS certificates. Where — Used by: App Website

Services you connect yourself, such as Slack, Microsoft Teams, Telegram, PagerDuty and other alert channels, or Google and GitHub when you sign in with them, receive what you send them under their own terms.

Report a vulnerability

Found a security problem in Uptimecheck, the app or this website? Email support@uptimecheck.com with what you found and the steps to reproduce it. We reply within 24 hours.

  • Test only against your own account and workspaces.
  • Don’t access, change or delete other people’s data, and stop as soon as you reach any.
  • Don’t run denial-of-service tests or send spam through alert channels or status page subscriptions.
  • Give us reasonable time to fix the issue before you make it public.

Who runs Uptimecheck

Uptimecheck is run by Digitona AB (org. nr 559146-4382), Ringvägen 50B, 118 67 Stockholm, Sweden. Questions about security or privacy: support@uptimecheck.com. See also our privacy policy and terms and conditions.

Last reviewed

Common questions

Where is my data stored?

The app and its database run on our server at UpCloud in Stockholm, Sweden. Backups are kept in Stockholm and in the EU. Email and SMS go through Amazon Web Services in Stockholm (eu-north-1).

Can I require two-factor authentication for my team?

Yes, on every plan. An owner or admin turns on Require two-factor authentication under Settings, General, Security. Members who sign in with a password then set up an authenticator app before they can open the workspace.

Do you store my card details?

No. Checkout and the billing portal are hosted by Stripe, and card details go straight to Stripe. We never see or store card numbers.

How long do you keep monitoring data?

Uptime, response times and incidents are kept 1 year on Start, 2 years on Professional and 3 years on Business, then deleted. Every single check, with its details, is kept 30 days on every plan.

How do I delete my account and data?

The owner deletes a workspace under Settings, General, Danger zone, which removes its monitors, status pages and history and cancels its subscription. You delete your own account under Account, confirmed by a link sent to your email. Deleted data leaves our backups within 30 days.

Can a monitor reach my internal network?

No. Checks and webhooks refuse private and internal addresses, also after the DNS lookup. To watch internal systems, install the server agent or send cron job pings from inside your network.

Does this website track me?

Only after you accept cookies: Google Analytics and Microsoft Clarity then measure visits. Cloudflare Web Analytics counts page views without cookies. You can change your choice under Cookie settings at the bottom of every page.

How do I report a security issue?

Email support@uptimecheck.com with the steps to reproduce it. Please don’t access other people’s data or degrade the service while testing, and give us time to fix the issue before you publish it.

Downtime is obsolete.

Set up your first monitor in under a minute, or look around the live demo first.

14-day free trial · No credit card required