# Mast Pager — Pages until you acknowledge

> Pages until you acknowledge (iPhone/iPad app by Tissue Systems.)

- Source: https://appshunter.io/ios/app/mast-pager/id6805232044 (this page in markdown: same URL + `.md`)
- Developer: [Tissue Systems](https://appshunter.io/developer/6805232046)
- Category: Developer Tools, Utilities
- Price: $4.99
- Age rating: 4+
- Requires: iOS 17.2 · 6 MB
- Languages: American English
- Released: 2026-09-03
- Data updated: 2026-09-28
- User reviews in markdown: https://appshunter.io/ios/app/mast-pager/id6805232044/reviews.md

## What is Mast Pager?

Mast turns your iPhone into a pager for the person who is the whole on-call rotation. Pages re-alert until you acknowledge them, and silent cron jobs page you when they stop.

Create a channel in the app and it hands you a URL; from then on, anything that can make an HTTP request can page you: a deploy script, a backup job, the error handler in your API.

    curl -d "disk 92% on db1" https://mast.tissue.dev/mk_9f2a41c8b7

No account, no sign-up: install the app and that is the whole setup. The phone itself is the credential, and the channel address is the only secret.

HOW LOUD, CHANNEL BY CHANNEL

Every message carries a priority, and the priority is what the notification does to the phone. The default comes from the channel, and so does the ceiling: a sender can name a priority per message but never one above it. An address sitting in a CI config cannot promote itself to the pager tier.

- quiet: no sound, no banner. The feed records it and the phone stays dark.

- normal: a banner and a sound. The ringer switch, Focus, and the channel's quiet hours all still apply.

- loud: time-sensitive, so it breaks through Focus. One alert, no repeat, for problems that need eyes soon but should not wake anyone.

- page: the pager tier. It re-alerts every two minutes until you acknowledge it, sounds through the ringer switch on a phone with critical alerts turned on, and a page you have not acknowledged moves on to the one other phone the channel names.

Not team on-call software: no seats, no schedules, one escalation partner.

THE WATCH BELL

A channel can also be a vital: it alerts when the posts stop. Your cron job or backup script checks in on a schedule, and silence past the schedule plus a grace window is what raises the alarm. The next check-in closes the page the silence opened. The feed and a home-screen widget both draw every vital as a dot, late ones marked.

WHEN A PAGE GOES UNANSWERED

A page breaks through Focus, Sleep included, and sounds through the ringer switch once critical alerts are turned on — one switch in the app, off until you turn it on. It stays on the lock screen and in the Dynamic Island until it is acknowledged, with the time it has been open counting up. Acknowledge it from the notification, from the app, by asking Siri, from the Action button or a Shortcut. Resolve and Mute channel 1h sit beside Acknowledge on the notification, and none asks for Face ID. Pair with one other person's Mast — a QR code scanned by the other phone — and an unacknowledged page moves on to them. A pause is the only thing that holds a page: name a length, and pages land silently until the window ends and everything unanswered rings at full volume. The guide at tissue.systems/mast/guide walks through every switch that decides whether a page wakes you.

A STORM IS ONE LINE

Send a message with a key and a repeat of that key inside the channel's dedupe window lands once; a channel that floods collapses into one row that counts up in place. A page is never the one folded away, and it ignores mute and quiet hours, so a flapping check cannot bury a real one.

EVERY PAGE KEEPS ITS RECORD

Each message carries its own log: fired, repeated and how many times, escalated, acknowledged and by which device, resolved. When the phone went off four times in the night, it says why. A script holding only the channel address can read back what became of its message, so a deploy can page you and wait for the tap. A monitor that knows the outage is over can close the page it opened.

RUNS APART FROM WHAT IT WATCHES

A downtime alert that runs on the machine having the downtime dies with it. Mast's server side runs on tissue.systems, in a different failure domain from whatever it is watching. We built the pager because running the platform needed one.

The limits are wide enough to forget: 10,000 messages a month, 60 a minute per channel, 30 days of history. Mast is for iPhone; pages reach a paired Apple Watch through notification forwarding.


## Version history (last 3 releases)

### 1.2 — 2026-09-17

A page can sound through the ringer switch

Turn on critical alerts and a page sounds at its own volume, through the ringer switch and through every Focus. It is off until you turn it on: Settings, the gear at the top of the feed, then Critical alerts, then Turn on. iOS asks separately from the notification prompt, because it is the one permission that overrides a physical switch. With it off, a page still breaks through Focus and repeats until someone acknowledges it, as before.

Pause your pages, for as long as you say

Mute and quiet hours have never silenced a page — that is the whole of what a page is — so there was nothing to reach for when you walk into a room the phone must not ring in. A pause is that control: you name a length, a page arriving inside the window lands in the feed without a sound, and everything nobody acknowledged pages again at full volume the moment the window closes. Nothing is dropped and nothing is downgraded; what changes is when the phone makes noise. An amber banner carries the countdown while one is open, with End early one tap away, and a channel can be allowed to keep its voice through a pause.

Every vital, as a field of dots

Fifteen vitals used to read "15 vitals" and one green ball: a number you had to trust and could not check. The feed draws one dot per vital now, colored by its own state, so a single amber dot in a green field is visible without opening anything. The field breathes in the order your fleet actually beats; Reduce Motion keeps the color and drops the movement.

Five tones, and a picker that plays them

The Sound row offered one choice and a promise. Five tones ship — pager, klaxon, rising, chirp and bleep — and tapping one plays it, through the ringer switch exactly as the notification will be, because a rehearsal that plays through a silenced phone is a dishonest one.

Take the text of a page off the phone

The title and the body of an incident are selectable: press and hold a word to take the hostname or the error string on its own. Under the message, Copy · Share copies the whole thing in one tap — the title and the body as the sender wrote them, and nothing else. A feed row is a button, so a long press on one offers Copy message and Copy incident instead, as VoiceOver actions too.

Copy the whole incident from the log

Press and hold the event log for Copy incident: the channel, the priority, an absolute timestamp carrying its offset, the message, the sender's link and every line of the delivery record, as plain text for a ticket or a thread.

The feed says which messages arrived silently

A row that was silenced says so, read off the message rather than off the channel, so a mute set this evening no longer marks something that arrived this morning at full volume. A muted channel now reads as muted wherever the app offers to mute it, so checking no longer rewrites the window.

Settings, where Tissue was, and the version in it

The screen behind the gear is called Settings, and the device you are holding leads it. It holds what it always did — the account, critical alerts, the wake checklist — but it is named after what is on it. It ends with the version: the release number the App Store shows, and under it the build this device registered with.

A first minute that says what it is doing

A cold launch with a populated cache drew the wall of vitals for one frame before the first sync answered. The feed says connecting in that gap instead. Forty-four text styles scale with Dynamic Type, up from seven, and the header takes two rows when one will not hold it.

Smaller things

A channel made from a script or a deployment tool showed its name and its messages but not its send address, on the phone that owned it; it reads the address for every channel it can see now. A code block's Copy and Share were announced to VoiceOver as one element named after the command, so neither could be reached. The 12- or 24-hour clock is the phone's setting rather than a row of Mast's.

### 1.1 — 2026-09-07

Channel ceilings

Every channel now carries a highest priority as well as a default one. A sender can name any level in the message and never gets one above the ceiling, so an address sitting in a CI config cannot promote itself to the pager tier. Lowering a ceiling lowers that channel's default with it. New channels are created at loud; moving one up to page is a deliberate tap in the app, on the phone that
will be woken.

One page at a time on the feed

The feed pins the page that has waited longest for a person and counts the rest in one row under it, "2 more pages waiting", which opens the Pages filter. A fourth page, or one with a long title, used to push the vitals and the feed itself off the bottom of the screen. Acknowledging the pinned page slides the next-oldest into its place. The newest page never takes the slot.

A vital's sheet describes a vital

Heartbeat period, Grace and When it stops now sit at the top of a vital's sheet, and When it stops is its own choice: Pages, Goes loud, Alerts or Alerts quietly, never above the channel's highest priority. Dedupe window and Storm threshold are gone from vitals; a missed heartbeat is one event and they never applied to it. Repeat reads "while it pages" and dims when a
missed heartbeat does something other than page. Default priority became Message priority, for messages sent to the vital's address, because a heartbeat is not a message.

Swipe actions on the feed and the channel list

Swipe right on either screen to mute that channel for an hour. Swipe left on a message to resolve a page that is still waiting, and left on a channel to delete it behind a confirmation. Nothing fires on a full swipe: pull a row as far as it goes and it springs back with the buttons showing, waiting to be tapped. Acknowledge is not a swipe action anywhere, on purpose. A page acknowledged by a
thumb in a pocket is not an acknowledgement.

Fixes

Share on a key card did nothing. The Copy / Share label was drawn as two actions and wired as one, so the card that exists to get an address off the phone could only copy. Both are real buttons now.

The info button beside each priority opened a popover that clipped the longest explanations, worst for Page, the one most worth reading. The text now expands in place under the option it belongs to and scrolls with the form.

Timestamps on an incident wrapped their last digit onto a second line at the default text size. The time column scales with the text it holds.

Copy, Share and Retry are outlined buttons rather than bare words, and Send a test, Rotate key and Delete channel now look like the actions they are.

Muting a channel claimed it silenced pages too. It never did, and never should: a page comes through a mute and through quiet hours. The app says so now.

A refused channel name was explained at the bottom of the New channel sheet, under the Create button, where it covered the button it was about. The fault now appears under the name field, the field takes focus and the sheet scrolls to it. The wording comes from the server, so the app and the API refuse a name for the same stated reason.

### 1.0 — 2026-09-04

No release notes.

## Related topics

[mast pager](https://appshunter.io/ios/topics/mast-pager)

---

*Data collected daily from the US App Store and indexed by [AppsHunter](https://appshunter.io/). User reviews are verbatim App Store reviews. Ratings, prices and chart positions refresh continuously; this snapshot is from 2026-09-28.*
