Rutba
Start free

Blog · Platform services

A kill switch with a name on it

When a social network changes something overnight, a publishing service can fire thousands of failing requests at it and collect strikes against your accounts. The Relay’s switches stop that — and every one records who threw it and when it clears.

· 3 min read

Share this

Here is the incident every publishing service eventually has. A social network changes something about its API late on a Friday. The adapter that talks to it starts failing — not once, but for every scheduled post, on every connected account, retrying as designed. By Saturday morning the service has sent a hundred thousand failed requests, and the network has started treating the accounts they came from as misbehaving.

The customer did nothing wrong, and their accounts are collecting strikes. The fix is an emergency release; the damage happens in the hours before it ships.

Switches, at the smallest scope that works

The Relay has had incident controls since its first operational increment: pause publishing, resume it, read how deep the queues are. They pause at four scopes:

  • A connection — one account on one network.
  • A workspace — one customer, every network.
  • A platform — one network, every customer.
  • Global — everything.

The Friday-night incident above wants the platform switch: stop everything going to the network that changed, and nothing else. The form that throws switches leans deliberately towards the smallest one, because the instinct under pressure is to reach for global — and a global pause turns one network’s bad night into every customer’s.

The instinct under pressure is the biggest switch. The form is built to argue for the smallest.

A name and a clock on every switch

Until now those controls were reachable only from a terminal. They now have a page in the operator console, and the page records two things a terminal command never did.

Who threw it. Every action carries the staff member’s address, so a switch thrown against one customer’s workspace lands on that customer’s audit trail naming a person — not "operator". A customer asking why their posts stopped on Saturday gets an answer with a name in it.

When it clears. A switch carries its own expiry. The most common failure of a kill switch is not throwing it too late; it is forgetting to turn it back off, and a paused workspace nobody remembers is an outage that started as a fix.

A credential that is only for emergencies

The page uses the Relay’s operator credential, and nothing else in the console touches it. That separation is deliberate: the operator credential is the one that gets rotated after an incident, so routine traffic running on it would make rotating it break things — at exactly the moment you most need to rotate.

Rutba Relay

Publishing to every connected network, run as infrastructure.

relay.rutba.io

Read next

How we build

Every Rutba page can tell you which page it is

"The login page is broken" describes several pages on several deployments. So every page now ends with a short reference — which deployment, which page, which build and which visit — that a screenshot is enough to trace, and that never carries your data.

3 min read

Business Suite

A page of zeroes is a worse claim than nothing at all

The promoter’s page on the storefront is deliberately thin: it says where you stand, and nothing else. A dashboard of zero earnings would tell an approved promoter they have earned nothing — a different and much worse statement than "this does not exist yet".

3 min read

How we build

A page for every Rutba app, drawn from the app itself

A product page named its apps in a sentence each, which cannot tell you whether a till handles returns. Forty apps now have a page of their own, listing every screen in them — read from each app’s own menu — with screenshots of it running.

3 min read

Share this

One family

The rest of Rutba

One account across all of it. Sign in once and the products know each other.

PORTAL-BLOG-DETAIL · be079a8