Not just that the server is up. Bram checks what your users actually see — broken checkouts, JavaScript errors, missing elements, failed flows — before your clients notice.
client-shop.com — Checkout Flow
Browser check · Every 10 min
agency-client.io — Login Page
Browser check · Every 5 min · Alert sent 4 min ago
saas-app.co — Homepage HTTP
HTTP check · Every 1 min
portfolio-client.com — Contact Form
E2E flow · Every 30 min
A 200 OK response doesn't mean your site is working. Modern sites break in ways a simple ping will never catch.
A deploy ships a broken bundle. Your server still returns 200 — but the checkout button does nothing. UptimeRobot won't notice. Your client's customers will.
Payment integrations, form submissions, and multi-step flows break constantly — especially after plugin updates. You find out when a client emails you with lost revenue.
Every deploy is a risk. A new build can break a login form, hide a CTA, or fail a checkout flow — and you won't know until a user complains or revenue drops.
Two monitoring modes, four check types — mix and match for every site and workflow.
Monitoring Modes
Runs continuously on a schedule. Alerts when something fails and again when it recovers. Builds your uptime history over time. The standard mode for ongoing monitoring of sites and APIs.
Set a monitor to watch for a specific change — a button appearing, a text changing, or a new section going live. Bram notifies you the moment it happens, then stops. Perfect for validating deployments or watching for a feature to go live across dozens of client sites.
Check Types
Fast, lightweight checks on intervals from 1 to 60 minutes. Monitors status codes, response time, keyword presence, and redirect chains. Catches server errors, downtime, and content regressions with minimal overhead.
A real Chromium browser loads your page, just like a user would. Detects JavaScript errors, rendering failures, missing DOM elements, and broken visual states. Automatically captures a screenshot on failure so you know exactly what went wrong. Minimum interval: 10 minutes.
Multi-step no-code flows that actually use your site. Click buttons, fill forms, navigate between pages, assert on results. Verify that login works, products can be added to cart, and checkout completes — without writing a single line of Playwright code.
Monitor any HTTP API endpoint with full GET and POST support. Set custom headers, request bodies, and assert on status codes or response content. Validate that your API contracts stay intact after every deploy — or monitor third-party APIs your product depends on.
Whether you're running an agency with 50 client sites or a solo SaaS keeping your product reliable, Bram fits the way you work.
Stop being the last to know when a client site breaks. Monitor 20, 50, or 100 sites from a single dashboard. Use Change Detection to validate deployments without manual checking. Browser checks catch JS errors and broken flows before your client does.
Get alerted the moment something breaks on a client site — before they have the chance to ping you. Browser checks catch what HTTP pings miss. Set up in minutes per site, zero maintenance overhead.
You don't have a DevOps team, but you can't afford silent failures in your checkout, signup, or onboarding flow. Bram runs E2E checks on your critical paths so you know the moment something breaks for real users.
Content changes, new posts, and technical updates need to land correctly. Bram verifies that pages render with the right content, target keywords are present, and structural changes actually went live on production — without having to manually check every URL.
Every campaign points traffic somewhere. Bram makes sure your landing pages are always up and loading correctly — so you're never paying for clicks that hit a broken page. Monitor the full funnel from ad click to conversion step.
Bram is designed for people who manage websites, not infrastructure engineers. Set up in minutes, not hours.
When a browser check fails, Bram captures a screenshot of what the browser saw. Diagnose issues instantly without having to reproduce them manually.
Invite your team, create organizations for different clients, and manage access across personal and shared workspaces — without complexity.
Historical response time charts with trend detection. Spot degradation before it becomes downtime — and have the data to hand when a client asks.
Every incident is automatically tracked with start time, duration, and resolution. Provides a clear audit trail for client conversations and post-mortems.
All infrastructure runs on Hetzner servers in the EU. Your monitoring data never leaves European data centers.
Alerts are delivered through the channels your team already uses — with smart deduplication so you're not woken up by every transient blip.
Incident and recovery notifications delivered straight to your inbox. Add multiple recipients per alert rule — teammates, clients, or shared inboxes.
Verification required. Each email address must be confirmed via a verification link before it can receive any notifications. This prevents Bram from being used to send unsolicited mail to third-party addresses.
Post incident and recovery messages directly to any Slack channel. Connect via a Slack webhook — no OAuth app installation required. Route different monitors to different channels.
Send a structured JSON payload to any URL on incident and recovery. Connect Bram to PagerDuty, Discord, your own incident management system, or any custom integration.
Set a failure threshold before the first alert fires — so a single flaky check doesn't page you at 3am. Alerts are deduplicated per incident: you get one notification when it breaks and one when it recovers, not one per failed check. Configure separate rules per monitor, and combine multiple channels in a single rule.
Technical details for site owners and infrastructure teams.
All HTTP, API, and browser checks send the following user agent string:
Mozilla/5.0 (compatible; Bram/1.0; +https://askbram.com)
You can allowlist this string in your WAF, rate limiter, or bot protection rules to ensure Bram's checks are not blocked or throttled.
All checks originate from a single EU-based server (Hetzner, Finland). The current outbound IP is:
157.180.41.172
If you need to allowlist Bram at the network level — for example in a Cloudflare firewall rule or a server-level IP allowlist — add this address. We will update this page whenever the IP changes.
Bram implements Web Bot Auth (WBA) — a standard for cryptographically signing outbound bot requests using RFC 9421 HTTP Message Signatures. Every check request carries a Signature and Signature-Agent header that can be verified against Bram's public key.
The public key directory is published at:
https://app.askbram.com/.well-known/http-message-signatures-directory
Platforms that support WBA — including Cloudflare's verified bot program — can use this directory to confirm the request signature and grant trusted bot status without relying on IP allowlisting alone. See the full bot disclosure page for implementation details and allowlisting instructions.
Bram HTTP and HTML checks don't process JavaScript, so you will see the requests only in server logs
Bram browser E2E checks by default blocks requests to known analytics services so it doesn't appear in your data. You can customize which services are blocked from the interface.
You can use the User-Agent to identify the requests in your server logs.