Skip to content

Temporary rules and lifetimes

Allowing or blocking for a while, the lifetimes an alert or the rule editor can set, how each one stops matching, and what happens when it ends.

Outbound 1.3.0 · Updated

Every rule has a lifetime. Most are forever. A temporary decision from the Network Monitor, an answer in an alert, or a rule you edit can last a shorter time. A rule with any lifetime other than Forever is temporary, and the Rules pane lists those together under Rules › Temporary.

The Network Monitor, the alert and the editor do not offer the same list.

In the Network Monitor, right-click an app or a server and choose Allow Temporarily or Block Temporarily. The inspector has the same choices in its Temporarily menu. Each offers:

  • For 5 minutes
  • For 1 hour
  • Until Logout

Control Center’s rows offer 5 minutes or until logout. In Terminal, outboundctl allow <app> <host> and outboundctl deny <app> <host> take --for with 5m, 1h, 1d, until-logout or until-restart; outboundctl rules add takes the same --for.

A temporary decision for an app covers all of its connections; one for a server covers that app and that server. The rule that decided before, such as your block for that app, is held back while the timer runs and applies again when it ends. Outbound says which one, for example “The temporary allow ended. Your existing block applies.”

While a timer runs, an hourglass beside the verdict shows how long is left, such as “Allowed for 4 min”, and its help says when it ends. Cancel Timer ends it now, and the rules that applied before apply again at once. Undo reverses the change. Allowing something your rules block needs your usual approval.

Outbound changes nothing, and says why, when a temporary rule would not change the decision: your organization’s rule decides the connection, or another rule would still decide it.

The connection alert’s Remember picker decides how long your answer lasts. It starts on the choice in Settings › Alerts under “Alerts start with” (Forever by default). When that choice is a timed one, “Default duration” picks which of the timed lengths it starts on.

  • Once: this connection only. Nothing is saved.
  • For 5 Minutes, For 15 Minutes, For 30 Minutes, For 1 Hour, For 1 Day and For 1 Week
  • Until Quit: while this copy of the app keeps running. If it quits and starts again, it asks again.
  • Until Logout
  • Until Restart
  • Forever

Keyboard shortcuts cover four of those: ⌘1 Once, ⌘2 1 Hour, ⌘3 Until Quit, ⌘4 Forever. The help line is “How long Outbound remembers your answer (⌘1 Once, ⌘2 1 Hour, ⌘3 Until Quit, ⌘4 Forever)”.

Once is the only choice when Outbound cannot name the program or does not know where the connection was going. Until Quit, Until Logout and Until Restart need a process, a login session or this startup. When that is missing, the alert saves no rule and the answer applies once.

The editor’s Lasts menu is a different list. Keep current appears first when you are editing a rule that is not forever, so an until-quit rule you already have can stay one. The choices you can set newly are:

  • Forever
  • For 1 hour (one hour from the moment you save)
  • For 1 day (24 hours from the moment you save)
  • Until logout
  • Until restart
  • On a schedule…

There is no Until Quit choice for a new rule. If logout or restart cannot be tied to this session or this startup, saving stops with “This lifetime cannot be set right now. Choose another.”

On a schedule… opens the weekdays and a from/to time. A new schedule starts with Monday to Friday, 09:00 to 17:00. The weekdays cannot be empty. The window is in this Mac’s local time. When the start and end are the same time, the editor says “All day on the selected days.” When the end is earlier than the start, it says “Ends the following morning. Select the nights it starts.” An overnight window belongs to the day it starts and continues into the next morning when that previous day is selected.

Outbound new rule sheet from the sentence Block *.steampowered.com on school nights, 9 PM to 7 AM: any app, the destination *.steampowered.com, and Lasts On a schedule, Sunday to Thursday nights from 9:00 PM to 7:00 AM
Example data.

The filter checks a rule’s lifetime each time a connection is compared with it:

  • Until Quit matches only while that process is still alive.
  • Until Logout matches only while the current login session is the one the rule was made in. If Outbound cannot tell the session, the rule does not match, and it is not thrown away on a guess.
  • Until Restart matches only for the startup it was made in.
  • For 5 minutes up to For 1 week match until a fixed date and time.
  • On a schedule matches during the chosen weekday windows and is quiet outside them. A schedule is never treated as finished for good.

An expired rule stops matching. When a temporary rule of yours can no longer match, Outbound removes it from your rules, so it cannot return after a restart. A schedule never ends, so a scheduled rule is never removed this way. A store you may not edit, such as one locked by your organization, is left as it is, and the filter still ignores what has ended.

A rule that lasted until a time, until logout or until restart then appears in Review under Temporary decisions that ended, with what it decided, for how long and when it ended:

  • Make Permanent saves the same decision again as a permanent rule, with your usual approval. Undo takes it back.
  • Keep As Is leaves it ended and takes it out of the list. Dismiss in the group’s header does this for all of them.

An until-quit rule is removed when its app quits, but it is not listed in Review.

When Rule activity notifications are on, a rule that expires after launch can post “A rule expired”, with a line that its time ran out. A rule that was already expired when Outbound launched does not post that notice, and a schedule never does.