Your systems speak JSON.
Pascal speaks human.

Point any webhook at a private URL. Pascal reads the payload and writes the iPhone Alert, no parser, no field mapping.

Create a live demonstration Alert

POST/your-private-webhook
154 / 12,288 bytes

Use test data only. JSON is sent to AI and is not stored by Pascal’s Pager.

09:41● ))) ▰
Pascal’s Pagernow
Payment failed

A £590 payment was declined after three attempts.

Pascal’s Pagerearlier
Queue depth rising

32 jobs have waited longer than five minutes.

Pascal’s Pagerearlier
Deploy completed

Production is healthy on version 2.4.1.

Paste any JSON, Pascal has not seen this payload before either.

How Pascal’s Pager works

JSON IN

Paste one URL into any service that sends webhooks. About 30 seconds per Source, no parser, no field mapping.

MASKED ON OUR SERVER

The fields you choose are removed before the request leaves.

CLEAR ALERT OUT

A plain-English Alert on your iPhone, and one tap to the payload it came from.

Pascal, the pixel-art pigeon, shielding his pager

Masked before
the model.

Every Source gets its own private URL. The fields you choose are removed on our server, before the request leaves. Every AI request is routed Zero Data Retention, so the provider keeps nothing. Pascal keeps the AI-generated Alert details until you delete the Source or your account; the original and sanitised JSON are automatically deleted after 30 days.

Read the privacy policy

A private URL for every Source

Pause, rotate or revoke it. Leaving means deleting a URL.

You choose the fields

Configure masking per Source. It is part of the product, never an upgrade.

Zero Data Retention on every AI request

The AI provider keeps nothing. Alert details remain until Source or account deletion; original and sanitised JSON expire after 30 days.

Choose which fields are removed before the request leaves.

OUTBOUND AI PROVIDER393 bytes
{  "event": "ticket.created",  "priority": "high",  "subject": "Card declined on renewal",  "requester": {    "name": "value removed",    "email": "value removed",    "phone": "value removed",    "ip": "value removed"  },  "account": {    "plan": "studio",    "reference": "NG-4471"  },  "waiting_minutes": 12}

4 fields removed on our server, before the request leaves.

WHAT PASCAL STILL WRITES

High-priority ticket opened

“Card declined on renewal” from a customer on account NG-4471. Waiting 12 minutes.

Support Desk

Masking removes the values, not the meaning. Pascal writes the Alert from what is left.

You shouldn’t find out from a customer.

0143

Payment failed after three retries

£590 from Northgate Studio. Card declined, subscription now past due.

Stripe Payments
now
0142

Website stopped responding

Three checks failed from two regions. Last good response four minutes ago.

Website Monitor
now
0141

Nightly backup finished

42 GB archived in 18 minutes. No errors.

Home Server
18m
0140

Refund above your threshold

£240 refunded on order 4471, two hours after purchase.

Stripe Payments
18m

A burst of webhooks.
A clear account of what happened.

Turn on Alert grouping for a noisy Source. Pascal waits for the window you choose, then turns related webhooks into one or a few Alerts. Open an Alert to inspect every webhook it includes.

PORTFOLIO PAYMENTS3 WEBHOOKS
  1. payment_failedClient Portal
  2. payment_failedAddress API
  3. payment_failedStatus Kit
WAIT5 MINPER SOURCE
PORTFOLIO PAYMENTSSTANDARD
ALERT 0144

Three payment failures

Checkout failures affected three products during the last five minutes.

Products
3
Failed total
CA$387.00

Client Portal exhausted its final retry.

View 3 included webhooks
  1. Client Portal
  2. Address API
  3. Status Kit
  • PER SOURCEOnly webhooks received by the same Source wait together.
  • YOUR WAITChoose 1 minute, 5 minutes, 30 minutes or 12 hours.
  • PROCESS NOWRelease a waiting group before its window closes.
  • STILL AUDITABLEInspect every retained payload separately.

Every inbound webhook still counts towards your 5,000-Alert allowance, even when several become one push notification. Test Alerts bypass grouping.

Read the Alert.
Audit the payload.

Open the app for structured facts, attention items, safe links and a clear view of what Pascal processed.

Pager queue showing payment, uptime, grouped checkout and backup Alerts

Before Pascal
starts listening.

Can I rely on every Alert?

AI can misunderstand incomplete or unusual payloads. Pascal’s Pager is not for emergency, medical, safety-critical or Critical Alert use.

Can Pascal group a burst of webhooks?

Yes. Enable Alert grouping for a Source and choose a wait of 1 minute, 5 minutes, 30 minutes or 12 hours. Pascal can turn the waiting webhooks into one to three Alerts, and you can process them early. Every inbound webhook still counts towards usage. Test Alerts bypass grouping.

Where does my payload actually go, and what is kept?

Masking is applied on Pascal’s server before the request leaves. Every AI request is routed Zero Data Retention, providers are required to deny data collection, and provider-side logging of inputs and outputs is disabled. Operational metrics record the model, provider and cost, never prompt or completion content. Zero Data Retention describes the AI provider, not Pascal: Pascal keeps the AI-generated Alert details until you delete the Source or your account. The separately encrypted original and the sanitised JSON sent for AI processing are automatically deleted after 30 days.

What’s included, and what’s the ceiling?

One monthly subscription at £7.99 in the UK, localised by Apple elsewhere; there is no free tier or annual plan at launch. Eligible new subscribers can receive a one-month trial. The trial and each paid billing period include 5,000 processed Alerts; duplicate webhook deliveries and clearly labelled in-app test Alerts do not use one. Apple confirms your local price and trial eligibility before you subscribe.

Is there an Android app?

No. Pascal’s Pager is iPhone only and iOS 26 is the recommended minimum. There is no Android app and no web dashboard.

Will it wake me up?

Each Source is set to Quiet, Standard, Time Sensitive, or Let Pascal decide. Quiet arrives without interrupting. Critical Alerts are out of scope, so Pascal does not override silent mode or Do Not Disturb.

What happens to my Sources if the service ends?

Each Source is a URL you pasted into another service, so leaving means deleting that URL from the sender. There is nothing to migrate. Account deletion is available in the app at any time and removes Sources, Alerts, retained payloads and device registrations.

How does masking work in the app?

If you enable masking for a Source, Pascal applies the field names and pattern options you configure. It is worth checking those against a real payload when you add a Source, so that every value you expect to remove is covered.

What JSON can Pascal read?

Objects, arrays and ordinary JSON values from any service that can send a webhook. The demo deliberately limits payload size and nesting.

Is the website demo stored, and does it mask personal data?

No to both. The demo does not apply your in-app masking configuration, so use test JSON only. Demo JSON is sent to the AI provider to create an Alert, then returned to your browser without being saved by Pascal’s Pager.

Can I bring my own AI key?

Not at launch. A separate website-only bring-your-own-key option is being considered for later; it will not replace the App Store subscription inside the iPhone app.

Can I delete my account and data?

Yes. Account deletion is available in the app and removes Sources, Alerts, retained payloads and device registrations. App Store subscriptions are cancelled separately.

WEBHOOKS IN.
CLEAR ALERTS OUT.

PASCAL IS STANDING BY

Download on the App Store