Safeguard
Developer Tools•

Security Triage on the Go with the Safeguard Mobile App

Triage findings from your phone: read results, ask Griffin, then send a fix to a computer running the Safeguard CLI and approve every command.

Safeguard Security Team
19 min read

You can triage security findings from your phone with the Safeguard app for Android, iPhone and iPad. Sign in with the account you use on the CLI and desktop, read results, ask Griffin follow-up questions, then send a fix to a computer running the Safeguard CLI and approve each command from the phone.

The phone is where you decide; your computer is where the work runs. You also keep the AI tools you use today. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. If you would rather stay in the Claude or ChatGPT app on your phone, you can connect it to the Safeguard MCP server and ask about your findings from the chat you already use.

This guide covers the one-time setup, a full triage session, the commands that keep it reliable, and fixes for when something does not line up.

What you will have at the end

By the time you finish this guide you will have:

  • The Safeguard app on your Android phone or tablet, iPhone or iPad, signed in to the same account as your other devices.
  • A computer running the Safeguard CLI that stays reachable from your phone while it is switched on, with a project folder it is allowed to work in.
  • A permission mode on that computer that matches how you want to approve work: every command, only some, or read and plan only.
  • A repeatable triage routine you can run in about the time it takes to drink a coffee: read what changed, ask about it, decide, and either queue a task or send a fix.
  • A clear way back if you approve something you regret, using checkpoints on the computer.

The examples use payments-api, the small sample Node service from Safeguard's recorded demos. Swap in your own project path.

Set up your phone and your computer

You do this once, at your desk, before you need it on the move.

1. Install the app on your phone

The Safeguard download page lists the mobile apps under Mobile:

  1. Android phones and tablets: install from Google Play. This also covers Samsung Galaxy phones and tablets, which install Safeguard from Google Play rather than the Galaxy Store.
  2. Android without Google Play: the same page offers a direct download, APK 1.0.2. Android will ask you to allow installs from your browser. Check the SHA-256 shown on the page before you install, and note that updates for the direct APK come from that page, not from a store. This is also the route for company-managed rollouts.
  3. iPhone and iPad: install from the App Store. The App Store listing says it needs iOS 16.4 or iPadOS 16.4 or later.

If you use a Huawei phone, Safeguard is not listed in Huawei AppGallery. Phones that install Android apps can use the direct APK. Otherwise, use the web interface in the phone's browser, which is the full platform with nothing to install.

Google's Android help recommends Google Play and warns that apps from unknown sources can put your device and data at risk, which is why the checksum step matters on the APK route.

2. Sign in with the same account

Open the app and sign in with the account you use everywhere else. That one account is what makes this work: a terminal session, a desktop chat and a question asked on your phone all land in the same conversation list.

3. Prepare the computer that will do the work

The phone does not edit code. It sends work to a computer running the Safeguard CLI, so set that computer up next. On macOS or Linux:

curl -fsSL https://cli.safeguard.sh/install | bash
safeguard --version

On Windows, in PowerShell:

irm https://cli.safeguard.sh/install.ps1 | iex
safeguard --version

The installer verifies the release checksum before it puts a single binary on your PATH. There is no Node, Python or JVM to add. Then open the interactive terminal in your project and sign in once:

cd ~/code/payments-api
safeguard
# inside the terminal:
/login

/login opens your browser to approve the session. From then on the session is live: it shows in the web app, the desktop app and the phone app, and other devices can send work to it.

This recorded session shows that first run on a Mac, from the install command to a finished fix.

Click through it at your own pace, or open it full screen.

If you want a platform-specific walkthrough of this step, see installing the Safeguard CLI on macOS.

4. Keep the computer reachable while you are away

An interactive terminal works while it is open. If you close the laptop lid or the terminal window, the phone has nothing to talk to. For triage on the move, register the runner as a login service so it comes back whenever you sign in to the computer:

safeguard login
safeguard runner install --workspace ~/code/payments-api
safeguard runner status

According to the CLI's own help text, runner install registers the runner as a per-user login service (a LaunchAgent on macOS, a systemd user unit on Linux, a logon scheduled task on Windows) so your phone or browser can send turns to this machine from any network for as long as it is on. Nothing listens on a port: the runner only opens outbound HTTPS connections. --workspace sets the folder it works in by default. To remove it later, run safeguard runner uninstall.

"For as long as it is on" is literal: a sleeping laptop is not reachable, so check your power settings. Only one headless machine runner runs per user account on a computer, so pick the machine you trust most for this job.

5. Choose how much the computer asks before you leave

In the interactive terminal, /permissions sets the approval mode. Verified on 21 October 2026, the options are:

ModeWhat runs without askingWhat waits for you
AskReadsEvery edit and every command
Accept editsEdits in this folder and read-only commandsOther commands
PlanNothing changes; it reads and plans onlyNot applicable
Auto (default)Read-only commands and what your policy allowsAnything else
StrictPre-approved actions only, meant for CIEverything else is refused

For phone-driven work, Ask or Auto are the natural choices, because the approvals then come to you. Plan is useful when you only want a proposal you will review later at a desk. There is also a --yolo flag that approves everything; keep it for throwaway sandboxes, never for a machine holding real code.

A triage session from your phone, step by step

Here is the routine, using the flow from the recorded Android session. The scenario: you are away from your desk, a finding has come up in payments-api, and you want to decide in a few minutes whether to fix it now, hand it to someone, or leave it for the morning.

Read before you act

  1. Open the app. It opens to a chat. Your recent conversations are listed, including the chat you started in the desktop app and the session from the terminal on your computer.
  2. Check work that already ran. Open the last desktop chat or CLI session. You can see what changed on the computer and whether the tests passed, without opening a laptop.
  3. Ask Griffin about the finding. Type a plain question about the CVE or the package: what it affects and which versions fix it. Then ask the follow-up that matters for triage: do any of your projects use it?
  4. Open the asset. An asset shows its type, its version and the scan that discovered it. That tells you whether this is something you build and ship or something sitting in an old test folder.
  5. Turn the answer into a task if it can wait. Answers can become tasks with a priority, a status and a due date. Filter tasks by status to see what is already open so you do not file a duplicate.

The App Store listing also describes checking your organization's security posture, reviewing findings with their reachability evidence, tracking remediation and receiving alerts from the app. Reachability is the quickest triage filter you have: a vulnerable function your code never calls is a different conversation from one on a hot path.

A ten-minute triage checklist

QuestionWhere to look on the phoneWhat it usually leads to
Is this in something we ship?The asset and the scan that found itIgnore test fixtures, act on services
Is there a fixed version?Griffin's answer on fixed versionsUpgrade now, or plan a workaround
Is the vulnerable code reached?Reachability evidence on the findingRaise or lower the priority
Who else is affected?Follow-up: which projects use itOne task per project, or one fix
Can I verify a fix remotely?Whether the project has tests you trustSend the fix now, or create a task

Send the fix to your computer

  1. Tap Work on my computer. The app lists your computers running the Safeguard CLI with their status. Pick one that shows as online.
  2. Choose the folder. Browse to the project and tap Open here. The assistant works in that folder only.
  3. Ask in plain words. For example: "upgrade lodash to the fixed version in payments-api and run the tests". Send it. The work runs on the computer, not the phone.
  4. Approve each step. When the assistant wants to run a command, the phone shows it and waits. You get three choices: Allow once runs that one command, Allow for turn covers the rest of the current request, and Deny stops it. Read the command before you tap. npm install and npm test in the project folder are what you expect for a dependency upgrade; anything reaching outside the folder deserves a Deny and a question.
  5. Read the answer. The result shows the test outcome, the output and the steps it took. In the recorded session that was one test passed after lodash moved to 4.17.21.

This is that exact flow, recorded on an Android phone on 21 October 2026 against the same Mac and sample project.

Click through it at your own pace, or open it full screen.

Finish at your desk

  1. Review the change before it leaves the machine. The CLI suggests a commit message and pushes nothing unless you ask for a pull request. When you are back at the computer, look at the diff in your editor or with git diff, then commit. Our guide to reviewing AI-generated code before merge covers what to look for.
  2. Rescan. Run /scan . in the interactive terminal, or safeguard scan --dir ., so the platform reflects the fixed version.

If you approved something you did not want, the CLI keeps file checkpoints for each session:

safeguard checkpoints list --session SESSION_ID
safeguard checkpoints restore CHECKPOINT_ID --session SESSION_ID --dry-run
safeguard checkpoints restore CHECKPOINT_ID --session SESSION_ID --files-only

The dry run shows what would change as a diff. A restore puts back every file the assistant changed since that checkpoint and removes files it created. One limit to remember: files the assistant writes or edits are snapshotted, but anything a shell command writes is not, so a checkpoint will not undo what npm install did to node_modules. Rerun the install after a restore.

Use the assistant you already have

If you live in the Claude or ChatGPT app on your phone, bring Safeguard into that chat. The download page lists Safeguard in Claude's connector directory on web, desktop and mobile, with one OAuth sign-in and no API key, and in the ChatGPT plugin directory. See connecting Claude to the Safeguard MCP server. That route suits questions; sending work to your computer and approving it happens in the Safeguard app or the CLI.

Do the work properly with the Safeguard CLI

Everything the phone does that changes code happens through the Safeguard CLI on your computer. It scans code, container images and SBOMs on your own machine, sends only the results to the platform, and includes an assistant that can write and fix code with your approval. Here is how to get the most from it.

Install

One command on macOS and Linux, curl -fsSL https://cli.safeguard.sh/install | bash, and one on Windows, irm https://cli.safeguard.sh/install.ps1 | iex. It is a single static binary for macOS, Linux and Windows, on x86_64 or arm64 (Windows is x86_64 only), with no runtime to install. The download page lists binaries for macOS Apple Silicon and Intel, Linux x86_64 and arm64, and Windows x86_64.

First session

Run safeguard with no arguments in your project folder to open the interactive terminal. /login signs you in through the browser, /scan . scans the current folder, and you can type requests in plain language, such as "how many critical vulns do we have". Type / to see the command list, @ to attach a file from the folder you started in, and /resume to pick up your last session in that folder.

For a scripted scan, use flags instead:

safeguard scan --dir .
safeguard scan --image payments-api:latest
safeguard scan --sbom sbom.cdx.json
safeguard validate sbom.cdx.json

safeguard scan builds an SBOM and matches it against vulnerability databases, writing JSON results under ./output, including vuln.json and license.json. safeguard validate checks CycloneDX, SPDX and VEX documents.

Writing and fixing code

The assistant has tools for your local files and for your Safeguard data, and it picks whichever the question needs. Ask "fix the lodash CVE in this repo" and, as the recorded session shows, it looks up the finding, reads package.json and the code, checks the advisory, edits the version, then asks before running npm install and npm test. It can also do ordinary terminal work with your approval, such as finding the latest file in ~/Downloads or editing a config file. When you send work from your phone, this is the same assistant doing it.

Using your Claude, ChatGPT or Codex plan

You do not have to choose between Safeguard and the AI plan you already have. As set out at the top of this guide, you can use that plan inside the Safeguard CLI at no extra charge from Safeguard, within your plan's own limits and terms. To see or switch the model a session uses, run /model. For connecting a model, follow the Safeguard CLI docs.

Approvals

Tools that write a file, edit code or run a command ask before they act, according to the /permissions mode: Ask, Accept edits, Plan, Auto or Strict, as described in the table above. On your phone those prompts arrive as Allow once, Allow for turn and Deny. In the terminal, you press y or n. Approval happens with you in the loop, whichever device you are holding.

CI with safeguard exec

For pipelines, safeguard exec runs one non-interactive assistant turn and prints the result:

safeguard exec "summarise the critical findings in this repository"

Use Strict mode in CI so only pre-approved actions run. Policies and gates are evaluated in the platform, not by the CLI. Our guide to running the CLI in CI with safeguard exec has a full pipeline example.

When the local runner runs platform scan jobs, your source code never leaves the machine. Only SBOMs and findings are uploaded.

Troubleshooting and common mistakes

When something does not line up

Your computer is not in the list on the phone. Check three things on the computer: that it is signed in (safeguard login), that a runner or interactive session is running (safeguard runner status), and that it is awake. If it still does not show, run safeguard doctor. It checks the environment, sign-in, profile, policy and tools and prints what is wrong in the order that matters. It changes nothing, and its exit code is 0 whenever the checks ran, so read the lines rather than the status.

The computer shows but work never starts. The runner long-polls the platform over outbound HTTPS. Some corporate networks drop held connections. The CLI help describes --poll-wait 0 on safeguard runner start for networks that forbid held connections, which switches to interval polling.

The phone never asks for approval. Look at the permission mode on the computer. In Auto, read-only commands and what your policy allows run without a prompt, so a short read-only task may finish without asking. In Plan, nothing changes, so there is nothing to approve.

The APK will not install. Android asks you to allow installs from the browser you downloaded it with. If your device is company-managed, the policy may block this; ask your administrator, who can distribute the APK themselves.

Safari extension missing on iPhone. It comes inside the iOS app. Turn it on in Settings › Apps › Safari › Extensions, or Settings › Safari › Extensions before iOS 18. Safari on Mac is in Apple review, so it is not yet available there.

Mistakes we see people make

  1. Tapping Allow for turn on a request you have not read. It is convenient for a known sequence like install then test. For anything new, use Allow once until you have seen each command.
  2. Sending work to the wrong folder. On a computer with several clones of the same repository, check the path before you tap Open here.
  3. Relying on an open terminal window. It works until the laptop sleeps or the window closes. Use safeguard runner install for anything you plan to do from the phone.
  4. Treating "tests passed" as "ready to merge". It means the tests you have passed. Review the diff at a desk and let your platform policies and gates do their job before anything ships.
  5. Running with --yolo on a real machine. It approves everything. Keep it for disposable sandboxes.

For more on the Android side of this, including tablets, see Safeguard on Android phones and tablets.

FAQ

Does the phone run code or touch my repository directly?

No. The phone is where you read, ask and approve. When you choose Work on my computer, the work runs on a computer running the Safeguard CLI, in the folder you pick, and each command waits for your approval on the phone.

Can I use the Claude, ChatGPT or Codex plan I already have?

Yes. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. You can also connect Claude or ChatGPT to the Safeguard MCP server and ask about your findings from those apps. See /model and the CLI docs for connecting a model.

Which phones and tablets are supported?

The download page lists Android phones and tablets through Google Play, a direct APK for Android devices without Google Play, and iPhone and iPad through the App Store. Samsung Galaxy devices use Google Play. Safeguard is not in the Galaxy Store or Huawei AppGallery.

What does Allow for turn mean compared with Allow once?

Allow once runs the single command shown. Allow for turn covers the rest of the current request, which saves taps on a known sequence such as an install followed by a test run. Deny stops the command.

Does my source code go to the phone or to Safeguard's servers?

The work happens on your computer. The phone shows the conversation, the commands waiting for approval and the results. When the local runner runs platform scan jobs, only SBOMs and findings are uploaded, never source.

What if my computer is asleep when I need it?

It cannot take work while it is asleep or off. Check results and create tasks from the phone, then send the fix when the computer is back. If you need work to run without your own machine, the download page lists cloud options hosted by Safeguard, including a Cloud CLI and a cloud sandbox that is free for seven days with no card.

Can I undo something I approved from the phone?

Yes, for files the assistant wrote or edited. Use safeguard checkpoints list and safeguard checkpoints restore with --dry-run first. Output from shell commands is not snapshotted, so rerun installs after a restore.

Try it yourself

If you carry an iPhone or iPad, this tour shows the same setup across Apple devices: the Mac app and CLI, the iOS app, and the Safari extension, all on one account.

Click through it at your own pace, or open it full screen.

When you are ready, get the apps and the CLI from safeguard.sh/download and keep the Safeguard CLI docs open for the commands.

Quick check

Where does the work run when you tap Work on my computer?

On the computer you pick, which must be running the Safeguard CLI, in the folder you choose. The phone only shows the request, the approvals and the result.

Which command keeps a computer reachable from your phone after you close the terminal?

safeguard runner install, which registers the runner as a per-user login service. It opens only outbound HTTPS connections and is removed with safeguard runner uninstall.

Your phone never asked for approval on a short task. Why might that be?

The computer is probably in Auto mode, where read-only commands and actions your policy allows run without a prompt, or in Plan mode, where nothing changes. Switch to Ask with /permissions if you want every edit and command to wait for you.

Sources

Last reviewed: 21 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.