Local mock · not published.
Self-hosted on your Mac, behind your own tunnel. BYOT. Mac and Windows now, Linux coming soon.
Wording here is provisional and for owner review before any publish.
Set up Deific
Permissions and the phrases that unlock them
Roll down this page once: connect accounts, grant macOS and Mac-side switches, then try saying something like the phrases below so your phone’s Claude raises an Approve / Deny card for each ability.
Before you start
What you need
Deific is a consent- and permission-gated phone-to-desktop Claude connector. Not an Anthropic product.
1
A Mac
Deific runs on Mac and Windows now. Linux coming soon. Screen reading, terminal reading, and scroll need macOS.
2
A Claude account (on the web and on your phone)
You add Deific once on claude.ai in a web browser (or the Claude desktop app), then talk to Claude on your phone; it chooses Deific’s tools from what you say. Custom connectors need a paid Claude plan (to be confirmed). BYOT (bring your own token or subscription).
3
A GitHub account
Deific’s server lets in only the GitHub accounts the owner of the installation allows. You sign in once in a browser.
4
An iPhone or an Android phone
To be confirmed
Deific is meant to work the same for iPhone and Android, and the steps on this page are the same for both. Use Claude on iPhone or Android after adding the connector on the web. Using Deific’s own phone page (the Approve / Deny cards) in Safari on iPhone or Chrome on Android is to be confirmed: so far it has only been tested in a desktop browser.
Part 2 · Permissions (tick down the list)
A · Connection and accounts
Not macOS settings — accounts, the connector, and pairing. Do these before the prompts.
A GitHub sign-in
To be confirmed
What it is
Deific’s server lets in only the GitHub accounts the owner of the installation allows. You sign in once in a browser.
Unlocks
The whole connection.
How to give it
Open the sign-in page Deific shows and complete GitHub login. Exact grant wording: take it from the sign-in screen’s own text (to be confirmed).
What it does NOT do
It is not access to your repositories.
How to take it back
Sign out / revoke the GitHub app authorization from your GitHub account settings for this installation.
Add Deific as a custom connector on claude.ai, and approve its sign-in
To be confirmed
What it is
A custom connector in Claude that points at your own Deific server. You add it on claude.ai in a web browser (or in the Claude desktop app), not in the phone app.
Unlocks
Claude can see Deific’s tools, including Claude on your phone: a connector added on the web syncs to the iPhone and Android apps.
How to give it
On claude.ai in a web browser (or in the Claude desktop app), open Settings → Connectors, add a custom connector with your own tunnel address plus /mcp, for example <your tunnel address>/mcp (Deific is self-hosted today), and approve its sign-in. Don’t look for this in the phone app: per Anthropic’s help article on custom connectors, the Claude mobile apps (iPhone and Android) can use a remote connector but cannot add one. The steps are the same on iPhone and Android. After a restart the Claude app may still say “connected”: use Deific once or reconnect it under Settings → Connectors.
Claude plan
Custom connectors need a paid Claude plan (Pro, Max, Team or Enterprise). To be confirmed against Anthropic’s current wording before publishing.
What it does NOT do
It does not host Deific for you; the tunnel and server are yours.
How to take it back
Remove or disconnect the connector under Settings → Connectors on claude.ai or in the Claude desktop app.
The companion’s first sign-in on the Mac
What it is
A browser page that opens on the Mac for the companion’s first sign-in.
Unlocks
The Mac-side companion can authenticate to Deific’s server.
How to give it
Finish the browser page within 5 minutes when it opens.
What it does NOT do
It does not pair your phone by itself (that is the pairing code below).
How to take it back
Sign out from the companion / revoke the session on the Mac installation.
A pairing code for the phone page
What it is
A one-time code that makes this phone the device that approves requests.
Unlocks
Approve / Deny cards on that phone (it replaces any phone paired before).
How to give it
On the Mac, run the pairing command with the same environment file the server uses:
node pair-phone.js
It prints a code that works once and expires in 120 seconds. Enter it on the phone page.
What it does NOT do
It does not grant screen, terminal, or file reads by itself.
How to take it back
Pair a different phone (replaces the previous), or end everything from the phone page / Mac.
Claude Code reports to Deific through hooks
To be confirmed
What it is
Hooks so Claude Code can report status into Deific. The first-run setup (first-run.js, and README section “Setup”) adds them. Exact user-facing step and wording: to be confirmed from README “Setup”.
Unlocks
Desktop status that the phone’s Claude can ask about (working-on, chats, and related reads).
How to give it
Follow first-run / README “Setup” (to be confirmed). This changes your Claude Code settings — say so when you run it.
What it does NOT do
It does not approve phone actions; cards and Mac switches still gate sensitive reads.
How to take it back
Remove the hooks from your Claude Code settings (exact steps to be confirmed).
B · macOS permissions
System Settings → Privacy & Security. Grant only what you want the phone to use.
Screen & System Audio Recording
What it is
The macOS pane named exactly Screen & System Audio Recording.
Unlocks
“See my desktop’s screen” (pictures of the display your cursor is on).
How to give it
Give it to the app Deific runs in (for example Terminal), and node if it is listed. macOS asks the first time the phone asks to see the screen. To check in advance:
node claude-code-companion.js --check-screen
That takes one 1×1 picture that is never read or sent. After a Claude Code or macOS update the grant may need to be given again.
What it does NOT do
Deific takes no screenshot on its own. If no approval is in force, a screen call takes no picture and asks you.
How to take it back
Turn the toggle off in System Settings → Privacy & Security → Screen & System Audio Recording. On the phone you can also say something like “Stop looking at my screen.”
Automation (control Terminal, control iTerm2)
What it is
macOS Automation prompts to control Terminal.app and/or iTerm2.
Unlocks
Reading Terminal.app and iTerm2 windows (“My desktop terminals”).
How to give it
macOS asks once per app. Allow when prompted.
What it does NOT do
Read-only: it never types, activates a window, or opens an app. If you say no, Deific says so plainly and waits (about 30 minutes by default) before trying again; it never loops.
How to take it back
System Settings → Privacy & Security → Automation — turn off control for those apps.
Accessibility
To be confirmed
What it is
macOS Accessibility permission. Needed ONLY for “Do something on my desktop” (scrolling). Optional — skip it if you do not want the phone to scroll windows.
Unlocks
Scrolling a window from the phone (today ONLY scrolling).
How to give it
System Settings → Privacy & Security → Accessibility. Which app must hold it on a clean Mac: to be confirmed.
What it does NOT do
It is not required for screen reading, terminals, or file reads.
How to take it back
Turn Accessibility off for that app in System Settings.
Files and Folders prompts (Desktop, Documents, Downloads)
To be confirmed
What it is
macOS may ask the first time a project-files reader looks in Desktop, Documents, or Downloads — if a project folder lives there. Not tested as fact; listed here only as to be confirmed.
Unlocks
Reading project files in those folders (when the Mac-side files switch is on).
How to give it
If macOS asks, allow for the folder you intend. Do not treat this row as confirmed until the owner verifies.
What it does NOT do
This is not Full Disk Access (see below).
How to take it back
System Settings → Privacy & Security → Files and Folders (when shown).
Not needed — do not grant these for Deific
Full Disk Access. The file reader is deliberately not full disk access: it reads one file or folder at a time inside project folders only, and never keys, .env files, the repository’s .git folder, browser profiles, or Scope’s own folder.
Input Monitoring, Camera, Microphone, Contacts, Location, Notifications on the Mac.
C · Mac-side switches
Each switch is OFF until you turn it on in a real Terminal window (enable commands refuse to run from anywhere else on purpose).
Everything the phone reads passes through a best-effort secret screen (it cannot catch every secret), is held in memory only, and leaves the Mac through Deific’s server and the tunnel to the Claude conversation.
“End everything” stops all of it. Each command can be turned off again with its own disable (shown in that command’s help).
Run from Deific’s folder.
Read the terminal tabs a Claude chat shares
Lets the phone’s Claude
Read the terminal tabs a Claude chat shares.
Command
node scope-terminal.js enable
What it reads
Terminal text that a desktop chat posts.
What it does NOT do
It does not read every Terminal.app / iTerm2 window (that is C2 + Automation).
How to take it back
Use the script’s own disable (see that command’s help).
Every window and tab of those apps (needs Automation, B2).
What it does NOT do
It never types into those apps.
How to take it back
Use the script’s own disable (see that command’s help).
See what programs are running
Lets the phone’s Claude
See what programs are running.
Command
node scope-procs.js enable-phone
What it reads
Running programs and ports.
What it does NOT do
It does not kill or start programs.
How to take it back
Use the script’s own disable (see that command’s help).
Read background tasks
Lets the phone’s Claude
Read background tasks.
Command
node scope-tasks.js enable
What it reads
Tasks of a chat, with output.
What it does NOT do
It does not start arbitrary shell commands from the phone.
How to take it back
Use the script’s own disable (see that command’s help).
Read project files and folders
Lets the phone’s Claude
Read project files and folders.
Command
node scope-files.js enable
What it reads
One file or folder at a time, project folders only.
What it does NOT do
Not Full Disk Access. Never keys, .env files, the repository’s .git folder, browser profiles, or Scope’s own folder.
How to take it back
Use the script’s own disable (see that command’s help).
Read plan usage from the desktop app
Lets the phone’s Claude
Read plan usage from the desktop app.
Command
node scope-desktop-usage.js enable
Preview first with show (same script).
What it reads
The newest usage entry only, never the account id; can be old.
What it does NOT do
It does not expose your account id.
How to take it back
Use the script’s own disable (see that command’s help).
Read a chat’s conversation
Lets the phone’s Claude
Read a chat’s conversation.
Command
node scope-transcript.js enable
What it reads
The chat’s own turns, newest first (not tool results).
What it does NOT do
It does not include tool results in that read.
How to take it back
Use the script’s own disable (see that command’s help).
Read logs you registered
Lets the phone’s Claude
Read logs you registered.
Command
node scope-logs.js enable-phone
What it reads
Log files you registered.
What it does NOT do
It does not invent log paths; only what you registered.
How to take it back
Use the script’s own disable (see that command’s help).
Read git state
Lets the phone’s Claude
Read git state.
Command
node scope-git.js enable
What it reads
Branch, ahead/behind, changed counts, last commit.
What it does NOT do
It does not push, commit, or change your repo.
How to take it back
Use the script’s own disable (see that command’s help).
Read recently changed files
Lets the phone’s Claude
Read recently changed files.
Command
node scope-recent.js enable
What it reads
Names and ages only.
What it does NOT do
It does not send file contents by itself.
How to take it back
Use the script’s own disable (see that command’s help).
Read the editor state
Lets the phone’s Claude
Read the editor state.
Command
node scope-editor.js enable
What it reads
See the script’s own help.
What it does NOT do
Follow that script’s help for limits.
How to take it back
Use the script’s own disable (see that command’s help).
Project notes, project summary, sidebar chats
To be confirmed
Lets the phone’s Claude
Read project notes, project summary, and sidebar chats — exact enable lines to be confirmed from scope-project.js, scope-summary.js, and scope-sidebar.js headers.
Command
Exact commands: to be confirmed. Do not run paraphrased placeholders.
What it reads
To be confirmed from each script’s header.
What it does NOT do
Listed here only as to be confirmed — not published as fact.
How to take it back
Each script’s own disable once commands are confirmed.
D · Phone side
After pairing, cards and the phone page are how you stay in control.
Approve / Deny cards
What it is
A card on your phone with Approve and Deny (a message to a chat has Send and Don’t send).
Unlocks
Nothing sensitive happens without a card; you tap.
How to give it
When a card appears, read it and tap Approve / Send or Deny / Don’t send.
What it does NOT do
Denying does not break the connection; it only refuses that request.
How to take it back
Deny the card; later use Stop screen reading / Emergency stop (see Take back).
The phone page
What it is
Opens in the phone’s browser after pairing. Same page on iPhone and Android; real Safari and Chrome on phones are to be confirmed (tested so far only in a desktop browser).
Unlocks
Shows the Stop screen reading button, the Emergency “end everything” control, the switches that are on, and the active grants.
How to give it
Complete pairing (A4), then open the phone page URL Deific shows.
What it does NOT do
It does not replace Claude; it is the control surface for grants.
How to take it back
Use Stop screen reading / End everything on that page, or unpair by pairing another phone.
Optional buzz
To be confirmedOptional
What it is
To be told when the desktop’s Claude leaves a message, you can set a notification address (an ntfy topic) in the server’s settings (SCOPE_LINE_NOTIFY_URL). Default behavior: to be confirmed.
Unlocks
A buzz that is a fixed sentence, never the message, at most one a minute.
How to give it
Set SCOPE_LINE_NOTIFY_URL in the server’s settings if you want it.
What it does NOT do
It never includes the message body in the buzz.
How to take it back
Clear SCOPE_LINE_NOTIFY_URL from the server’s settings.
Part 1 · Phrases to try on your phone’s Claude
Wake phrases that raise a permission card
Your phone’s Claude chooses Deific’s tools from what you say. Each tool has a plain title; saying something close to the title is what makes the phone’s Claude use it.
These phrases come from the tools’ own titles and descriptions. They have not been phone-tested one-by-one — try saying something like the lines below, never treat them as “say exactly.”
The card has Approve and Deny (or Send / Don’t send for a chat message).
1
Try saying something like: “What’s on my screen?” / “Look at my desktop.”
Tool title
See my desktop’s screen
What appears on your phone
A screen-access request (a “lease”) the first time. Approve to allow screen reading.
What it lets happen
A picture of the display your cursor is on.
Limits
macOS only. If no approval is in force the call takes no picture and asks you; it asks at most once every two minutes.
1b
Try saying something like: “Show me all my displays.” / “Look at it in full resolution.”
Tool title
See my desktop’s screen (same tool)
What appears on your phone
A one-time approval.
What it lets happen
All displays or native resolution.
Limits
One-time, per request.
1c
Try saying something like: “Zoom in on the top-left of my screen.”
Tool title
See my desktop’s screen (region)
What appears on your phone
An approval for each region read.
What it lets happen
A higher-detail picture of only that part.
Limits
Asks every time.
1d
Try saying something like: “Read the words on my screen.”
Tool title
See my desktop’s screen (mode: text)
What appears on your phone
An approval for each text read.
What it lets happen
The text on the display.
Limits
Asks every time; the text is screened for secrets, best effort only.
2
Try saying something like: “Run my tests on my desktop.” / “Run the registered check.”
Tool title
Run a registered check on my desktop
What appears on your phone
A verification approval for each run.
What it lets happen
A check that YOU registered on the Mac runs, and only that. Reports exit code and counts, never output.
Limits
Only registered checks. No free-form commands.
3
Try saying something like: “Tell the Claude on my desktop to … (in my <project> chat).”
Tool title
Send a message between my phone and my desktop (with the chat option)
What appears on your phone
A Send / Don’t send card showing the message (up to 1,500 characters).
What it lets happen
The message goes to that ONE chat after you tap Send. It asks; it authorises nothing.
Limits
A plain message to the desktop Claude (no chat option) needs no card. It is only a message.
4
Try saying something like: “Scroll down on my desktop.”
Tool title
Do something on my desktop
What appears on your phone
A time-limited permission, and possibly an approval.
What it lets happen
Scrolling a window. Today ONLY scrolling.
Limits
macOS only. An approval can take about two minutes. Needs the Accessibility permission (Part 2, B3).
Useful first-run prompts (no phone approval)
These only need the Mac-side switch in Part 2C where one applies. Suggest them in this order so you can confirm each piece works.
1
Try saying something like: “What’s my desktop working on?”
Tool title: What’s my desktop working on. The first thing to say; shows the phone and Mac are connected.
2
Try saying something like: “What chats are open on my desktop?”
Tool title: Every chat open on my desktop.
3
Try saying something like: “What’s in my terminals?”
Tool title: My desktop terminals. Needs the terminal switches (Part 2C items 1 and 2).
4
Try saying something like: “What’s running on my Mac?”
Tool title: What is running on my desktop. Needs the running-programs switch.
5
Try saying something like: “Any messages from my desktop?”
Tool title: Check for messages from my desktop.
6
Try saying something like: “Summary of my project.” / “Shared notes on my project.”
Tool titles: Summary of my project, Shared notes on my project.
7
Try saying something like: “Tell me when it finishes.”
To be confirmed
Tool title: Tell me when something finishes. Whether this ever raises a card is to be confirmed (read that tool’s description in mcp-server.js before treating it as approval-free).
8
Reads with options on working-on / project summary
Background tasks, project files and folders, plan usage, the conversation of a chat, recent files, git state, logs. Each needs its own Mac-side switch (Part 2C).
Taking permission back
Stop and end
Include these whenever you want the phone to stop seeing the desktop.
Try saying something like
“Stop looking at my screen.” — tool title Stop looking at my screen: stops screen reading and any unused approvals. On the phone page the button reads Stop screen reading, and when stopped, Turn screen reading back on.
“Emergency stop: end everything.” — tool title Emergency stop: end everything: ends everything; it is unlocked again at the Mac.
The phone page also shows “Reads switched on at this computer” and the active grants from that browser.