Features · 01 Alerts

Every connection. Your call.

In Ask mode, Outbound holds a connection that no rule decides and asks you to allow or block it. Read the evidence, then choose how long and how far your answer goes.

Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)

The alert

Everything you need to answer.

The program, the destination, the reason. One window, before you choose.

Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)
  1. Who signed it. One line from the code signature: Apple system software, Signed by and the developer’s name, From the Mac App Store, Signed by developer team, Signature not verified, or Not signed.
  2. Where it’s going. The registrable domain is set in full weight, so a look-alike name stands out.
  3. The service. Chips name the port and protocol, and the service on that port: HTTPS, DNS, SSH, IMAP, NTP and more.
  4. About this connection. What Outbound knows, never a verdict: “A new destination for Google Chrome”, “Google Chrome’s own server”, “An unrecognised server”.
  5. How long and how far. Remember, Applies to and Port turn your answer into a rule, or keep it to this one connection.
  6. What each answer does. Read before you click: “Can connect to accounts.google.com, from now on.”
  7. If you don’t answer. The gauge counts down and says what will happen: “Allows automatically”.
  8. Every waiting app. One panel holds every question. Right-click an app to answer all of its requests at once.

Block and Allow ignore clicks and keystrokes for 0.8 seconds after an alert appears, so typing in another window can’t answer it. VoiceOver reads each new alert aloud, and Outbound can play a sound when one appears.

Your answer

Once. Or remembered.

Choose how long, and how far. Once leaves nothing behind. Every other choice saves a rule you can read.

  1. Read the question.

    The alert names the program, who signed it and where it wants to go. Then it tells you what each answer will do, before you choose.

    Read the connection details
    Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)
  2. Choose how long, and how far.

    Once leaves nothing behind. Every other choice saves a rule you can read, when Outbound can tell which program, session or startup it belongs to.

    Explore scope and lifetime
    Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)
  3. An answer you can read back.

    The line under the pickers tells you what your answer will save. When the alert closes, it’s saved, and the rule is there in Rules.

    See defaults and saved answers
    Outbound All Rules: 13 rules written as sentences in a flat list, including Safari allowing icloud.com on port 443 TCP, Google Chrome asking about accounts.google.com on ports 80 and 443 TCP, and a disabled Slack block for mixpanel.com; organization, profile and blocklist tags, temporary lifetimes, and checkboxes show each rule’s scope and state

Connection details

Get to know your alerts.

Read the evidence behind the question. Explore the details, the choices and what happens next.

  • Connection details

    Read the evidence.

    Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)
  • Your answer

    How long. How far.

    Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)
  • Waiting alerts

    One panel. Every app.

    Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)
  • No answer

    A deadline, then Review.

    Outbound Settings, Alerts: wait 45 seconds for an answer, start with Forever, apply to only that server, every profile, and this port and protocol by default, allow once if you don’t answer, and the same choice without the background agent
  • Modes

    Learn. Ask. Strict.

    Outbound setup, Choose how Outbound works: an example connection question from Finder above Learn, Ask (selected) and Strict, with Allow the apps I already have checked and a Continue button
  • Review

    Decide on your time.

    Outbound Review with All selected: 10 connections decided without asking, grouped into 4 apps—Slack with 2 destinations and Google Chrome (Helper) with 5, all allowed; Spotify with 2 destinations and Node.js with 1, all blocked—each with block and allow buttons
  • Keyboard

    Keep your hands on the keys.

    Outbound connection question: Google Chrome (Helper) wants to connect to accounts.google.com on port 443 TCP, a new destination it has never reached before, with Forever, This host and Only 443 (TCP) selected, an Only while Home is active option, a 50-second countdown to allow automatically, Block and Allow buttons, a waiting list of 15 requests from Slack, Google Chrome (Helper), Spotify and curl, and Block All and Allow All for 11 more from Google Chrome (Helper)

In depth

Connection details

Read the evidence behind the question.

Choose Show details or press ⌘I to open the technical details. Use the same control to hide them. The values are selectable.

What the details view lists
RowWhat you see
ProgramThe executable’s full path, including a helper’s own path, or “Unknown”.
IdentifierThe trusted signing identifier, a claimed identifier marked “(not verified)”, or “None”.
Signed byThe organisation and developer team, Apple, or “Not verified”.
Process IDThe PID, when the system reports one.
AddressThe raw IP address, or “Not resolved yet”.
LocationA flag, city, region and country, when the location database knows the address.
Port / Local portThe service port and protocol. Incoming connections use Local port.
DirectionIncoming or Outgoing.
  • Show in Finder reveals the app bundle, or the executable itself when there is no bundle.
  • Settings › Alerts › Alert Window › Details starts at Compact. Choose Full to open the details as soon as each alert appears.
  • About this connection can add first use, earlier connections and blocks, other servers under the same domain, and a catalogue owner. While history loads, it says “Reading (App)’s connection history…”.
  • The alert says how long ago the app tried to connect, from “just now” to minutes ago. Hold the pointer over it for the exact time.

Before you answer

What blocking would break
The button beside Block explains what blocking this connection is likely to stop: name lookups, Apple services, an app’s own server for sign-in and updates, or a known service. It ends with how to undo it: select the connection in the Network Monitor and allow it again.
The app itself
The app’s name opens a menu: Show Rules, Show in Network Monitor, Show in Finder, Activate (App), and Copy Name, Copy Signing ID or Copy Path.
Quit an app you didn’t expect
Quit… or Force Quit… from the same menu, after a confirmation. Outbound checks it is still the same process first. Quitting doesn’t answer the connection or make a rule.
An explanation, if you want one
Explain this connection asks Apple Intelligence on this Mac, or the provider you chose in Settings › Intelligence. For a provider that isn’t on your Mac, the alert first shows exactly what will be sent and to which provider, and nothing leaves until you choose Send. The explanation can be wrong and never answers the alert.
Whether the name is verified
The details say where the server’s name came from and whether a DNS answer for it returned this address. With Settings › Security › Only match host and domain rules on verified names on, a host or domain allow rule applies only to a verified name; block and ask rules still apply. It is on for new installs and stays off after an upgrade until you turn it on.
A changed app
When the code on disk no longer matches the copy a rule was approved for, What changed compares the signer, identifier and code you approved with the copy running now. Update Rule to This Version… makes the rule apply to the code running now after you confirm, and Undo puts it back.

Help › How to Read an Alert… walks through each part of the alert again whenever you want it.

The developer’s Internet Access Policy

Why the app connects
If an app ships an InternetAccessPolicy.plist that describes this connection, the alert quotes its Purpose. Optional port, protocol and direction conditions narrow which entry applies.
What blocking would break
If the policy includes DenyConsequences, the Block answer adds “The developer says:” and quotes them.
Whose words you see
These are the developer’s statements, shown only for code backed by a developer team identifier or Apple’s signature. The policy never decides the connection.
When there is no policy text
An absent policy, an entry without a purpose, or a policy that does not describe this connection adds no explanation.

Your answer

Choose how long, and how far.

Once leaves nothing behind. Every other choice saves a rule you can read, when Outbound can tell which program, session or startup it belongs to.

Remember
ChoiceWhat it means
OnceThis connection only. The next one asks again.
For 5, 15 or 30 MinutesA rule that ends that long from now.
For 1 Hour, 1 Day or 1 WeekA rule that ends that long from now.
Until QuitStops matching when the program quits.
Until LogoutStops matching when you log out.
Until RestartStops matching when the Mac restarts.
ForeverA permanent rule.
Applies to
ChoiceWhat it covers
Any serverEvery server the program talks to.
The local networkEvery device on your local network, when the server is on it.
NetworkThe /24 (IPv4) or /64 (IPv6) network around the server’s address.
This domainThe server and every server under its domain, such as “Only domain example.com”.
This host or This addressThat server, such as “Only example.com” or “Only address 203.0.113.7”.
DNS lookups via (server)The name server this program may ask. Its own DNS lookup has no whole-domain or network choice.

Port: Only 443 (TCP), Any port (TCP), or Any port or protocol. Choose Block or Allow for only this port, or for all of them. When no host name or address is known, the answer applies to this connection only.

  • The Port row is off while Remember is Once. It needs a service port and a narrower scope than Any server. Any server has no Port row, and Any port or protocol needs a known protocol.
  • With a profile active, “Only while Home is active” keeps the rule to that profile. The box starts unticked, so a new answer applies in every profile. It is off for Once.
  • If Outbound cannot identify the program or destination, only Once is available. Until Quit, Until Logout and Until Restart also need the matching process, login session or startup; without it, the answer applies once.
  • The line under the pickers reads back what you are about to store, such as “for the next hour”, “on any port” or “every server under example.com”.
  • A copy of an app that macOS runs from a temporary location, because it was opened where it was downloaded, can only be answered once. The alert says why.

Defaults and saved answers

Alerts start with
Settings › Alerts chooses the initial Remember value, Forever by default. A connection that cannot be remembered still starts at Once. When it is a timed choice, Default duration picks the length, from 5 minutes to 1 week.
Applying to
The default is Only that server. You can start with Its whole domain or Any connection instead. A domain default falls back to the server when there is no host name or the request is a DNS lookup.
Profile, port and protocol
Default profile scope starts each answer for every profile, or only while the active profile is active. Default port and protocol starts with this port and protocol, any port with this protocol, or any port and protocol. Your organization can set the duration, profile and port defaults for you.
Note, saved with the rule
The pencil opens a note field. Your text replaces “Created from alert”. Once creates no rule and has no note to save.
When it’s saved
A single answer needs no extra confirmation: when the alert closes, it’s saved. Answering all of an app’s requests posts one notification with Show Rule. If the filter is reconnecting, Outbound tells you once that your answers are waiting for it. If the rule cannot be saved, the alert says “The rule was not saved”: this connection was handled, and Outbound asks again next time.

When an organisation policy or the settings lock prevents saving rules, the pickers disappear. Block and Allow still answer this connection once.

Waiting alerts

One panel, even when apps ask at once.

A burst from one app stays one entry. When several apps wait, the Waiting list shows their requests in the same panel.

Choose an app
Each row names the app and host, DNS server or address, with a count when several requests from that app wait. The badge counts the total waiting requests. Select a row to bring that app forward.
Or one request
When more requests wait, the “N more…” menu lists each one under its app, with its server, port, protocol and direction, so you can answer any one of them first.
Block All or Allow All
When the current app has more requests waiting, these buttons answer them together. Or right-click its row for Allow All from (App) or Block All from (App).
One rule for any server
A remembered bulk answer stores one rule for the program and any destination, using the displayed lifetime. Once saves no rule. The other waiting connections receive the answer once.
Undo has a limit
When a rule was created, Undo removes it. It cannot recall traffic already allowed or bring back connections already blocked.
Answer later
Minimize (⌘M) shrinks the alert to a small panel that keeps counting down. Click it to answer. New requests join the queue; deadlines keep running. Turn on Settings › Alerts › Keep connection alerts minimized to have every new alert open that way.
More time
Stop Countdown asks for more time, once. The alert then shows when it will decide on its own.
Apps that quit
If an app quits while its alert waits, the alert says so. Answering still makes a rule for next time. Dismiss All Terminated clears every alert from apps that quit, and makes no rules.
When the queue fills
The filter holds up to 512 paused connections, 64 per program, and 128 open alerts. Excess connections are blocked immediately, rather than receiving the timeout answer. The panel retains at most 128 requests.

If you don’t answer

A deadline, then Review.

An alert can’t hold a connection forever. When time runs out the filter decides by itself, so the answer stands even if Outbound is busy or quitting.

How long a connection waits
ConnectionDeadline
TCPSettings › Alerts › Wait for an answer: 15 to 120 seconds in steps of 5 seconds. The default is 60 seconds.
UDP8 seconds, fixed.

The default timing

  1. 0.8 s. Block and Allow start to respond. Until then they ignore clicks and keys.
  2. 50 s. The countdown gauge pulses through its last ten seconds.
  3. 60 s. The filter decides by itself and the gauge reads “Already decided”. An answer now only stores a rule.

Allow once (the default)

The connection goes through once and waits in Review as “No answer in time”.

Block once

The connection is stopped once and waits in Review.

Strict

Always blocks at the deadline.

Settings › Alerts › If I do not answer chooses Allow once or Block once. Strict always blocks and disables this picker. Nothing is remembered at the deadline, and the next connection asks again. The gauge changes to “Already decided” and “Your answer sets a rule”: a late answer cannot change the connection already handled.

When nobody can answer

Without the background agent
Settings › Alerts offers Same as above (the default), Allow or Block. Same as above uses If I do not answer. Strict disables this picker too. Matching rules still decide.
A changed pinned program
A program that no longer matches the build pinned by its active path rule is blocked at the deadline, whatever the timeout choice. It is also blocked while the agent is absent.

Modes

Three modes. Your rules apply in all of them.

A mode only decides what no rule has decided. A new Mac starts in Learn, so the first hour brings no alerts.

SituationLearnAskStrict
A connection no rule coversAllowed and recorded in ReviewOutbound asks youBlocked and recorded in Review
An alert nobody answersAllowed once by default; a changed pinned program is blockedAllowed once by default; a changed pinned program is blockedBlocked
The background agent isn’t runningAllowedYour choice in Settings › Alerts. Programs Outbound can’t identify are blockedBlocked
Switching to it needsTouch ID or your passwordTouch ID or your password, when coming from StrictNothing
Outbound setup, Choose how Outbound works: an example connection question from Finder above Learn, Ask (selected) and Strict, with Allow the apps I already have checked and a Continue button
Setup asks you to choose a mode, with an example question from Finder.

Leaving Learn for Ask from the main window asks “Keep what Learn recorded?” Keep and Use Ask turns what Learn allowed into rules, so apps you already use don’t alert. Use Ask Without Keeping switches and drops the record.

The menu bar, Firewall › Mode and Settings › When an app connects switch directly, without the “Keep what Learn recorded?” question. Choose a mode ›

Review

Decide once for each app and destination.

Review groups repeated connections into one entry per app and destination. Group the list by app, domain, host or port, or not at all. Apps with the newest activity come first.

Why a connection is in Review
ReasonWhat happened
LearnedLearn allowed a connection no rule decided.
Blocked by StrictStrict blocked a connection no rule decided.
No answer in timeAn alert reached its deadline and received your timeout answer.
Changed binaryA program at a pinned path was replaced, so its old allow or ask rule no longer matched.
  • Each entry keeps the server or address, port, protocol, incoming direction, connection count and times. Connections decided by a rule or answered in an alert do not enter Review.
  • Allow or Block creates a permanent rule for one destination or the whole app, with the note “Created from Review”. A destination rule needs a host or address.
  • When search or the verdict picker hides rows, a bulk answer makes rules only for destinations still shown. Dismiss an entry to remove it; Undo brings it back.
  • Allow Verified Developers allows every shown connection from apps signed by a developer team or by Apple. Unsigned programs stay in the list.
  • Review holds up to 5,000 destinations. When full, it drops the destination unseen longest.

Broader rules, and decisions that ended

One rule for a group
From a domain group, Allow All to the domain; from a port group, Block Port. Each makes one permanent rule for every app. Before you save, the sheet lists every app and connection it covers, including ones hidden by search, and Undo takes it back.
Temporary decisions that ended
A temporary allow or block that ran out appears above the list, with what it decided and for how long. Make Permanent saves it again as a permanent rule; Keep As Is leaves it ended.
Older blocklist exceptions
Exceptions that earlier versions made for every app are listed at the top. Review each one to choose its app; until you do, it keeps working as before.

Keyboard

Every alert shortcut, together.

Outbound’s alert shortcuts work while the alert is the key window. Answer with Return and Escape is on by default; turning it off leaves the other shortcuts available.

Connection alert shortcuts
KeyAction
ReturnAllow with the displayed scope and lifetime.
EscBlock with the displayed scope and lifetime.
⌘1Remember: Once.
⌘2Remember: For 1 Hour.
⌘3Remember: Until Quit.
⌘4Remember: Forever.
⌘IShow or hide the details.
⌘MMinimize to a small panel that keeps counting down.
⌘REdit Rules… for this program.
  • Return and Esc wait for the 0.8-second delay and do nothing while an answer is being applied. ⌘1 always chooses Once; ⌘2 to ⌘4 need an answer that can be saved. The other shortcuts do not wait for the delay.
  • Alerts do not take keyboard focus by default. Settings › Alerts › Alert Window has “Give alerts keyboard focus”, so Return, Escape and ⌘1–4 answer the active alert. When on, focus arrives 950 milliseconds after the panel appears. An alert already on screen does not take focus again on its own.
  • Reset “Don’t Warn Again”, in the same settings, restores suppressed block warnings.

If you don’t answer

60 s.

A deadline, then Review.

The default wait for TCP. By default, an unanswered alert allows the connection once and adds it to Review. UDP waits 8 seconds. Strict always blocks at the deadline.

Explore deadlines and timeout choices

Modes

Three modes. Your rules apply.

A mode only decides what no rule has decided. A new Mac starts in Learn, so the first hour brings no alerts.

Outbound setup, Choose how Outbound works: an example connection question from Finder above Learn, Ask (selected) and Strict, with Allow the apps I already have checked and a Continue button
Choose your mode. Learn allows and records in Review. Ask puts the question to you. Strict blocks and records in Review.
Compare Learn, Ask and Strict
Outbound Settings, Alerts: wait 45 seconds for an answer, start with Forever, apply to only that server, every profile, and this port and protocol by default, allow once if you don’t answer, and the same choice without the background agent
Make alerts yours. Set the initial Remember value and duration, what an answer covers, which profile and ports, and what happens when you don’t answer.
See every alert setting

Setup asks you to choose a mode, with an example question from Finder.

Review

Decide on your time.

One entry per app and destination. Group Review by app, domain, host or port, and see every connection a broader rule covers before you save it.

Outbound Review with All selected: 10 connections decided without asking, grouped into 4 apps—Slack with 2 destinations and Google Chrome (Helper) with 5, all allowed; Spotify with 2 destinations and Node.js with 1, all blocked—each with block and allow buttons

Allow or Block creates a permanent rule for one destination or the whole app. Or dismiss the entry; Undo brings it back.

Explore Review

Tech specs

TCP default
60 seconds
TCP range
15 to 120 seconds, in steps of 5 seconds
UDP wait
8 seconds, fixed
Timeout default
Allow once
Remember choices
Once; 5, 15 or 30 minutes; 1 hour, 1 day or 1 week; until the app quits; until logout; until restart; forever
Remember default
Forever, unless this connection cannot be remembered, in which case the alert starts at Once.
Default duration
1 hour, when Alerts start with is a timed choice; 5 minutes to 1 week
Default profile scope
Every profile
Default port and protocol
This port and protocol
Applying to default
Only that server
Details default
Compact
Answer with Return and Escape
On by default
Keep connection alerts minimized
Off by default
Accidental-answer delay
0.8 seconds
Paused connections
512 paused connections in total, 64 per program, and 128 open alerts. Anything beyond that is blocked immediately and does not get the timeout answer.

Questions about alerts

What happens if you miss an alert?

By default, an unanswered alert is allowed once after 60 seconds for TCP or 8 seconds for UDP and added to Review. You can change the TCP wait or choose Block once. Strict always blocks at the deadline. A program that no longer matches the build pinned by its active path rule is blocked at the deadline, whatever that choice says.

Can you answer without saving a rule?

Choose Once to answer this connection only. Nothing is stored, and the next connection asks again.

Can you allow a whole domain?

Choose Only domain example.com to cover that server and every server under its domain. This choice is omitted when there is no host name, and for a program’s own DNS lookup.

Can you answer an alert later?

Press ⌘M to minimize it to a small panel that keeps counting down, and click the panel to answer. Stop Countdown asks for more time, once. If nobody answers in time, the connection still gets your timeout answer.

Can you answer several requests together?

When an app has more requests waiting, choose Block All or Allow All. A remembered bulk answer stores one rule for that program and any destination, with the selected lifetime. Undo removes the rule but cannot recall traffic already allowed or restore connections already blocked.

Related in the manual

Outbound app icon

Choose where your apps connect.

Outbound is $29 for the first 50 licences, then $39. Either way, you pay once.

  • 2 Macs, or 5 with Family
  • One-time, no subscription
  • Full refund within 14 days
  • macOS 14 or later