Out of sight. Within reach.
Every screenshot you take hangs on a line just above your screen.
Rest the pointer in the menu bar and it glides down. Move away and it's gone.
During a call, in Zoom, Teams, FaceTime or the browser, the line stays up
unless you bring it down with the shortcut or the menu, the send button
over chats stays away, and nothing of Snapfly shows in what you share.
Snapfly only asks the Mac whether the microphone is in use; it hears
nothing. Not during a call, in Settings under Line, turns this off.
A gesture for everything.
| |
|---|
| Click | Copy the image. |
| ⌘-click several, or click the circle on each | Pick them, to send or copy just those together. They stay picked, even when the line goes up, until they are sent. All Photos › Pick All in a photo's menu, then put back the few that should stay. |
| Right-click, then Copy Text | Copy the words in it, to paste as text. |
| Right-click, then Copy Link | Upload it as it leaves the line, covered, and copy a link to paste anywhere: a message, an email, a ticket. The link works for seven days, then the file is deleted; the same photo keeps its link. Delete Link takes it down sooner. Recordings and PDFs too. |
| Right-click, then Edit › Crop…, or ⌥-click | The photo opens large over the dimmed screen: drag over the part to keep, and it is kept when you let go. Return keeps the whole photo, Escape cancels. It goes out cropped, and the line shows it so; the file stays as it is. Keep Whole Photo, in the menu of a cropped photo, takes the crop away. Either way, a note offers to undo it for a few seconds. |
| Right-click, then Edit › Hide Part | Click a word to hide it, or drag a box over anything the covering missed. It stays hidden in whatever leaves the line, and a note offers to undo it. Always cover, under the word just hidden, covers that word in every photo from then on, as a rule of your own under Privacy. |
| Right-click, then Edit › Draw on Photo | Point things out with an arrow, a box, a red circle, a highlight, numbered steps or words, and crop it to the part that matters. It is drawn on whatever leaves the line; the file stays as it is. |
| Right-click a recording, then Edit › Edit in Studio… | Zoomed in where you clicked and typed, a ring at each click, and arrows, boxes, circles, numbered steps and words for as long as you want each. Save Video hangs the new video beside the recording. |
| Right-click, then Edit › Background… | Set it on a colour, with room round it, rounded corners and a soft shadow, square or the shape a post or a story wants, so it looks finished in a post, a shop or a slide. It goes out that way; the file stays as it is. Remove Background takes it off again. |
| Right-click, then Save and Export › Convert to SVG | Draws the photo again as shapes that stay sharp at any size, to paste into a design app or save as an .svg file. It is made from the copy that leaves the line, so what is covered is covered in it; the file stays as it is. |
| Right-click, then Save and Export › Save Copy… | Keep a drawn on, cropped or covered photo as it goes out, as a file of its own, where you choose. The original stays as it is. A note says where it went; click it to see the file in Finder. |
| Right-click, then Text and AI › Translate Text | Read it in your language, to copy or send. |
| Right-click, then Text and AI › Describe | A line about what it shows, to send along with it. |
| Right-click, then Text and AI › Write a Reply | A reply to the customer in the screenshot, written by Claude or ChatGPT with your own key, ready to send. Type what to add, like "offer a replacement", and it writes it again. |
| Right-click, then Text and AI › Explain with Claude | What the screenshot shows and what matters in it, in your language. Type a question about it, and it answers. ChatGPT, when it is the assistant chosen. |
| Press and hold | Open its menu, as a right-click does: Make PDF, Markup and the rest. |
| Click the paper plane on a photo | Send it straight into the app in front, like a chat. Sent, it leaves the line. |
| Click ChatGPT, Claude, WhatsApp, Gmail, GMX or WEB.DE, in the row under a photo | Send it, or the photos picked with it, there: the website opens in your browser (a new message in Gmail), or, with it already open in the browser in front, they go there, and the photos are pasted in. GMX and WEB.DE open the mailbox: the covered photo is copied for you to paste into a new message, and stays on the line. WhatsApp, Gmail, GMX and WEB.DE show their logos; ChatGPT and Claude show their app's own icon from your Mac, else a short mark. Each icon has its own row in Settings, under Line › Icons under photos: its switch, and Browser or App, to open its website or its own app, when that is on your Mac. Websites open in picks the browser, your Mac's default or another. Click the icons there to turn them on or off, and drag them into the order you want them under each photo. Twelve more wait there to be turned on: Perplexity, Grok, DeepSeek, Qwen, Messenger, Instagram, Outlook, Yahoo Mail, Facebook, Airbnb, Visual Studio Code and Antigravity. Turn on as many as you like: six fit under a photo, and with more, the last place is ⋯, which lists the rest. Instagram, Outlook, Yahoo Mail, Facebook, Airbnb, Visual Studio Code and Antigravity open like GMX: the covered photo is copied for you to paste. |
| Right-click ChatGPT or Claude under a photo | Ask a question with it: the photo goes into the chat with the question after it, like "Summarize this in a few lines". Ask AI in a photo's menu does the same, for each AI chat. The questions are yours to write in Settings, under Line. Your prompts are there too, by their numbers. |
| Click a number beside the send button over an AI chat | The photos go in with that prompt after them, as one message waiting for Return. Point at a number to see its name. Only over ChatGPT, Claude and the other AI chats. |
| Double click | Open it in Preview. |
| Force click | Take a quick look. |
| Right-click, then Keep on Top | Float it over every app in a small window of its own, to read from while you write in a chat. Drag it anywhere, resize it at its edges, and close it with its cross. Up to three float at once. |
| Drag along the line | Move it among the others. Send all, Copy all and the send buttons keep that order. |
| Drag into an app | Send a copy. It leaves the line, as anything sent does. |
| Drag into a folder | Keep it there. It leaves the line. |
| Drag to the Trash, or click the cross | Let it go. With the cross, Take down, Move to Trash or the trash on the tag, a note above the Dock offers it back for a few seconds: a click hangs it on the line again, out of the Trash too. |
| Click the send button on the tag at the end of the line | Paste the photos picked, or all of them, straight into the app in front, like a chat. |
| Click the send button over a chat | The same, without leaving the message box. Drag it to move it; it stays there for that app. |
| ⌘-click two or more, then the combine button on the tag | Join them into one image, ready to send. |
| Right-click a photo or PDF in Finder, then Services › Hide Private Details with Snapfly | Choose what to hide, then send the covered copy straight to Gmail, WhatsApp, ChatGPT, Claude or any chat on for photos, copy it, share it with the Mac's Share menu, or save it beside the original. The original stays as it is. Several files, or a folder, open Cover Files. |
| Right-click (or control-click), then Save and Export › Make PDF | Put the photo, or the ones picked with it, in one PDF, a page each and private details covered. It hangs ready to send, marked PDF. |
| ⌘-click one or more, then the PDF button on the tag | The same PDF, from the tag, where search sits while nothing is picked. |
| Click the download arrow on the tag, above the trash | Save the photos picked, or all of them, into Downloads as they leave the line: covered, drawn on and cropped, each as a file of its own. They stay on the line, and the files they came from stay as they are. A note says where they went; click it to see them in Finder. The App Store edition asks once which folder they go to. |
| Click the trash on the tag | Take everything down at once, but for the photos pinned. |
| Right-click, then Pin | Keep it on the line: clearing it or filling it leaves it there. Click its pin to let it go again. |
| Click the magnifying glass on the tag | Search the words in every photo. Matches stay bright, marked where they say it, and Return picks them, ready to send. |
| Drag the arrows on the tag | Move the line further down the screen, or back up. It stays there. |
| Hold the arrows on the tag a moment, then drag | Move the line anywhere: left, right, up or down. The arrows turn into four, a Force Touch trackpad taps, and the line follows the pointer. Near the middle of the screen, or the top, it snaps into place. On a rope or a wire the photos slide along it and the tag stays at its end. It stays there, on any screen. VoiceOver has Move Left, Move Right and Back to the Middle. |
| Rest the pointer in the menu bar | Bring the line down on that screen. |
| Drag photos or PDFs to the top of the screen, or onto the menu bar icon | Hang them on the line, to send with their private details covered. The files stay where they are. |
| Right-click photos or PDFs in Finder, then Services › Send Safely with Snapfly | The same, from Finder. Open With › Snapfly does it too. |
| Add Files… in the menu bar | Pick photos or PDFs to hang. |
| Cover Files… in the menu bar, or several files or a folder sent to Hide Private Details with Snapfly in Finder | Cover private details in many PDFs and pictures at once, even a thousand. Choose what to cover, like names alone; each gets a covered copy in a new folder, and the files themselves stay as they are. |
| Click anything in the menu bar | Put it away. |
| Open Snapfly again from Finder, Launchpad or Spotlight while it runs | Settings opens, as Snapfly has no Dock icon. When the menu bar does not show the icon, turned off in System Settings › Menu Bar on macOS 26 or hidden by the camera's notch on a full menu bar, Settings opens by itself at launch, once the welcome is gone, with a note on how to bring the icon back. |
| Glance at the Snapfly icon in the menu bar | How many photos hang, beside it, and a small dot on it while something new hangs that the line has not shown yet. Turn it off with Count on the menu bar icon, under Line. |
| Record a Guide in the menu bar, then click through | Each click becomes a step of a guide, with a screenshot and a sentence. Click the capsule above the Dock to finish, and the guide opens to edit, send or save. |
| Click the Snapfly icon in the menu bar | The menu: how many photos hang and Paste into the app in front, then Settings and the screenshots folder, the ways to take, Add Files and Cover Files, the line, the Hide private details, Screenshot Button and Hide Desktop Icons switches, then the Introduction (Continue Introduction when it was ended before its end), Help & Support and Check for Updates, just above Quit. |
| Check for Updates… in the menu bar | The download edition fetches the newest version, checks it is signed by Snapfly's developer, and after a question replaces itself and opens again. The App Store edition opens TestFlight or the App Store. |
| Hide Desktop Icons in the menu bar | The wallpaper covers the desktop icons on every screen, for clean screenshots and recordings. Choose it again to bring them back. |
| ⌃ ⌥ T | Show or hide the line. Change it in Settings. |
| ⌃ ⌥ V | Send the newest photo, or the ones picked, straight into the app in front. Change it in Settings. |
| ⌃ ⌥ F | Search the words in your screenshots. Change it in Settings. |
| ⌃ ⌥ S | Take a screenshot: click what is outlined (scroll for a bigger or smaller part), drag over an area, click a window, or press Return for the whole screen. Change it in Settings. |
| ⌃ ⌥ R | Record the screen, chosen the same way. Press it again to stop. Change it in Settings. |
| ⌃ ⌥ P | Capture the whole page in the window in front, from top to bottom. Change it in Settings. |
Your Desktop. Finally clear.
Hand Snapfly your screenshots1 and they skip the Desktop
entirely. No floating thumbnail. No five-second wait. Each capture hangs
the instant you take it, and only what you drag out is kept.
Screen recordings hang there too, with a play button over them.
Press and hold one, then Trim, to trim it.
Same shortcuts. Same muscle memory. Just less mess.
The send button on the tag pastes the photos straight into the app in
front, like the message box of a chat: the ones you ⌘-clicked,
or all of them, and they fly over and land where you were typing. It works
by pressing ⌘ V there for you,
so macOS asks for the Accessibility permission the first time.
Every permission Snapfly uses sits in one place: Settings › Permissions.
Screen Recording (for its own screenshots and recordings), Accessibility (for
the send buttons) and each browser (for the chat button on chat websites),
each with what it is for, whether it is given, and one button that asks for it
or opens the right page of System Settings. It updates as you switch things
in System Settings. Each is asked for only when what needs it is first used,
and once one was refused, Permissions Needed… appears in the menu bar.
Reopen Snapfly, under a refused Screen Recording, quits first and opens
Snapfly again a moment later, as an update does, so two never run at once.
Help sits beside it, in Settings › Support: the support page, Report a
Problem and Suggest a Feature, which open an email with the version, macOS
and permission details already in it, and those details to copy for any
other way of asking. Nothing personal is in them.
While photos hang, the same send button waits over the chat itself, just
above its own send button: in ChatGPT, Claude, WhatsApp, Messages, Telegram
and other chat apps, and in Safari, Chrome and other browsers only on chat
websites like chatgpt.com, claude.ai or web.whatsapp.com. Email counts too:
Mail and Outlook, and Gmail, Outlook on the web, Yahoo Mail, Telekom Mail,
WEB.DE and GMX in a browser, where the photos go into the message being
written. Settings lists
the apps, by name and icon, and the websites; turn any off, remove it, or add
your own. To know the page, Snapfly asks the
browser, and macOS asks you once whether it may. It asks once a second, and
as soon as another tab comes to the front, so a busy browser seldom slows
Snapfly down; what a send covers, Check Before Sending and the time stamp
ask it right then. It shows the newest photo and how many
will go. One click and they are in, without a trip to the top of the screen.
Over the chats it knows, like ChatGPT, Claude, Gemini, WhatsApp, Telegram
or Slack, it finds that spot by itself, measured on each one: on a new chat,
whose message box sits in the middle of the page, it sits higher than once
the chat has started. Drag it where you like it; it remembers the spot for
each app, and for a new chat apart. Press and hold it, or right-click and
choose Send with a Message…, to write a line like "Here is your invoice":
Return sends the photos with the message after them, as one message. The
last five messages wait above the empty field: click one, or press ↑ and ↓,
to send it again; its cross takes it off the list. Above them wait your
saved messages, written under Saved messages in Settings, under Line, like
"Here is the invoice for your order {order}": {order}, {total}, {date},
{name} and {tracking} fill in from the newest photo, read on your Mac. A
blank of a kind you cover stays empty, shown as "…", so the message never
says what the photo hides, and nothing goes until you press Return. To
write in your language and send in your customer's, choose a language with
the globe in the bar, on macOS 15 or later: Return first translates the
message there, on your Mac, so you can read it, and the next Return sends
it. The bar keeps the language for each chat. In Settings,
under Line, choose where it sits (above the chat's send button, a corner of
the window, or the edge of the screen), how it looks, its icon and its color,
with a preview, or turn it off.
Or take them with Snapfly.
Press ⌃ ⌥ S, or choose Take Screenshot
in the menu bar. The screen holds still. Drag over an area, click a window,
or press Return for the whole screen; Escape cancels.
Smart selection finds what you mean. The picture, card, button or paragraph
under the pointer is outlined, and a click takes just that: one logo out of
a page of search results, without dragging. Scroll, or press ↑ and ↓, for a
bigger or smaller part, up to the window and the whole screen. A drag keeps
to the edges of what is on screen, and when you let go, the empty space
round it is cut to an even margin. Hold ⌘ to drag freely. Crop… does the
same on a photo. Turn it off in Settings, under General.
The screenshot flies
from where it was taken straight onto the line, with nothing to set up in the
Screenshot app first. macOS asks for the Screen Recording permission the
first time.
Faster still: the screenshot button, a small round button at the edge of the
screen, takes one in a single click. In Settings, under Line, choose what a
click does (choose an area, take the whole screen at once, or take the last
area again), its icon and its color, with a preview. Drag it anywhere, right-click it for the rest, or turn it off with
Screenshot Button in the menu bar. While the screen is recorded, it is the
stop button.
An open menu stays open: a list chosen from on a website, a right-click
menu or a menu bar menu. macOS keeps shortcuts from Snapfly while a menu is
open, and the key would close it, so with the Accessibility permission (the
one pasting asks for) Snapfly hears the screenshot and recording shortcuts
first, keeps the key from the menu and takes the screen as it is. It
listens for those two shortcuts and nothing else; every other key goes on
untouched. The Mac App Store edition can't, and the timer below takes a
menu there.
For a menu that closes anyway, choose Take Screenshot with
Timer, then 3, 5 or 10 seconds. Choose what to take, open the menu, and a
countdown above the Dock takes it when it runs out. A click on the countdown
cancels it. If something goes wrong anywhere in Snapfly, a short note above
the Dock says what happened, instead of a beep.
Press ⌃ ⌥ R, or choose Record
Screen, to record an area, a window or the whole screen. A capsule above the
Dock shows the time; click it, press the shortcut again, or choose Stop
Recording in the menu bar to stop. The recording hangs on the line, ready to
trim or send, and opens in Studio (below). Make GIF in its menu turns it into a looping GIF that every chat
plays, which hangs next to it and stays animated when sent. Snapfly's own
line and controls stay out of it. Quit, log out or install an update while
recording, and the recording is saved first, as Stop saves it. One cut short
anyway, as by a crash, is written in pieces: the next time Snapfly opens, it
hangs on the line up to its last few seconds, and a note says so; one that
cannot be played goes to the Trash.
A recording has sound when you choose it, in Settings › General under Screen
recordings: the Mac's sound, what you hear without Snapfly's own; the
microphone, your voice, asked for the first time and on macOS 15 or later;
or both, mixed into one track that every player and chat plays. It has none
until chosen. If the microphone isn't allowed, the recording goes on without
it and a note says where to allow it. Should the mixing fail, the recording
keeps both tracks, and a note says so.
Studio: zoomed in, pointed out.
Once a recording hangs, it opens in Studio, or later with Edit › Edit in
Studio… in its menu. It plays as it will be saved: the camera comes closer
where you clicked and typed, follows the pointer there as a camera operator
would, moving only when it nears the edge, and goes back out after. Nothing
to set up: the zooms are made from what you did while recording. A ring
spreads at each click, so viewers see where it went.
Under the picture is the timeline: pictures along the recording with its
sound, the zooms, and what you drew. Drag a zoom to move it, or its ends to
make it longer or shorter; choose one to set how close it comes, and whether
it follows the pointer or looks at one place, which you drag on the picture.
Add Zoom puts one where the video is. How close, in the inspector, changes
every zoom made for you at once, and turning Zoom in on clicks and typing off
takes them away and keeps yours.
Pause where something should be pointed out and draw on the picture, with
the same arrow, box, circle, numbered steps and words as Draw on Photo, in
its colours and sizes. Each shows for three seconds from there, drawing in
as it comes; drag it on the timeline to change when and for how long. Steps
are numbered in the order they show. Marks stay on what they point at as the
camera moves. Space plays and pauses, ← and → move a second, ⌘Z undoes.
Save Video writes a new video beside the recording, at its size and sixty
frames a second, with its sound, and hangs it on the line; the recording
itself is never changed. What you changed stays with the recording for the
next time, also when you close the window or open another recording in
Studio, and Trim keeps it in step; only Cancel leaves it as it was. A
recording just made waits, with a note, until you close Studio, so it never
takes the place of the work in front. Turn off opening Studio after each recording
in Settings › General, under Screen recordings. Where the pointer went and
when keys were pressed stay on your Mac, never which keys; typing is only
noticed where Snapfly may use Accessibility. A recording made before Studio
has no clicks to follow, so its zooms are added by hand.
Hide Desktop Icons, in the menu bar, lays the wallpaper over the icons on
every screen, so screenshots and recordings show a clean desktop. Windows
stay above it and clicks go through it; the icons and files stay where they
are and come back when you turn it off. It stays on until you do, even when
Snapfly opens again.
Copied images too.
Take a screenshot with ⌃ held, or copy an image in Preview, and it
hangs on the line like any other. Turn on Hang copied images in Settings
and the photo on the line in the menu bar fills in while it is on. Only images: anything copied along
with text or a file, and anything a password manager marks as private, is
left alone.
Private details, covered.
At the top of Privacy in Settings, one quiet line says how much was
covered lately: "In the last 7 days, Snapfly covered 143 details in 38
photos you sent." Only those counts are kept, for two weeks.
Choose under Privacy in Settings what to cover, in six groups. People:
names, addresses, dates of birth, emails, phone numbers, usernames and
faces. Companies and
organizations: a shop, a practice, a bank or an insurer by its name. Money:
bank cards and accounts (crypto wallets too) and amounts. Health: health
details. Documents: ID and tax numbers, QR codes and barcodes, order and
customer numbers, tracking numbers, dates and links. Passwords and access:
passwords and codes (Wi-Fi passwords and licence keys too), API keys and
tokens, and IP addresses. Check All,
Recommended and Uncheck All set the whole list at once; the recommended
kinds are the ones private in nearly every screenshot, and the amount or
the date a screenshot is often sent for wait to be chosen. Whatever leaves
the line, copied, sent or dragged out, has them covered, and the line shows
each photo that way too, so what you see is what goes, with a small lock on
each one that has something covered. Rest the pointer on the lock, or open
the photo's menu, and it says what was covered, like Names · QR codes and
barcodes; VoiceOver says it too. On the lock, the photo also shows where:
the rest of it dims, and each covered place is outlined. Copy Text leaves them out too. Anything
it misses, hide by hand with Edit › Hide Part in a photo's menu: a click on a word
hides it, and Always cover hides that word in every photo from then on. Labels like Billing
address, Customer, Recipient, Kundennummer or Diagnosis tell it where a whole
block is private, on their own line or as a card's heading, like Kunde on a
shop's order page. On a form or an invoice, with the labels in one column and
the values beside them, like Vorname:, Nachname:, Adresse:, PLZ: and Stadt:
on a marketplace's order, each value on the label's row is covered, and the
first and last name found there are covered wherever they appear together.
Names means people's names, and nothing else. A label's value is cut where
the name ends: "Patient: Mustermann, Max, geb. 01.02.1960" covers
"Mustermann, Max" and leaves the date to Dates of birth. A company, a practice or a
bank is never covered as a name, a title like Dr. med. or Frau stays
readable, and so do a phone number, an address, an amount or a diagnosis,
each a kind of its own. A line that only looks like a name, with nothing to
vouch for it, is offered to check; in a doctor's letter, an invoice or a
bank statement it is covered and marked to check instead, so a patient's
name never stays readable as a mere suggestion. What an invoice charges for
is no one's name: a line like "Druckpatronen Schwarz", with its price on its
row, under a column headed Beschreibung, Artikel, Leistung, Description or
Item, is only offered. A column headed Name, Teilnehmer or Kunde holds
names whatever their price, and a name the Natural Language framework or
the page itself vouches for is covered wherever it stands.
Printed forms are read field by field, as a person reads them: each label,
and its value after it, beside it, or under it in its column, on one line or
several, even where a row of labels and a row of values are read as one
line each. A value is what its label says it is, not what it looks like. On
a German sick note (Arbeitsunfähigkeitsbescheinigung), a prescription or a
referral, the name under "Name, Vorname des Versicherten" is the patient's
name, on one line or two, and the lines after it the address; the date under
"geb. am" is a date of birth; the numbers under Versicherten-Nr., Kostenträgerkennung,
Betriebsstätten-Nr. and Arzt-Nr. are ID numbers; the insurer under
"Krankenkasse bzw. Kostenträger" is an organization; and the dates after
"Arbeitsunfähig seit", "voraussichtlich arbeitsunfähig bis" and
"festgestellt am", and what stands under "AU-begründende Diagnose(n)", are
health details. So each kind covers its own fields and no other's: Names
alone leaves the diagnosis, the dates and the numbers readable, Health
alone leaves the names, and a label itself is never covered. What a field
holds also wins over what it looks like: a disease named after a person
under Diagnose is no name, and an insurance number no phone number. A
value that fits its label only in part, like a name read in small letters,
is covered and marked to check; one that barely does, like a number too
short for its field, is only offered.
Three switches choose whose names are covered, each its own: Patient
names, the patients'; Other people, the doctors, customers, staff, payees,
senders and recipients; and Names, every name whose role nothing round it
tells, as in a chat or a list, and whoever is only someone else, like the
one who signs a letter that is no doctor's. Turning one on or off leaves
the others as they are, and each covers its own people and no one else's:
with Names on alone, a doctor's letter about you leaves the doctors, and
your own name is covered all the same: saved under Your Details, always;
saved as a word, however it is written, with any of the three on. All three start on,
and together they cover everyone's names. A choice made while Names still
covered everyone's covers what it did: Names with Patient names takes
Other people too, and Names alone stays as it was chosen. Whose a name is comes from
what stands round it: a label like Patient:, Pat., Name des Versicherten
or Behandelnder Arzt:, a title, the address under "Herrn" in a doctor's
letter, the letter's subject, words like "Ihren Patienten" before it in a
sentence, a date of birth after it, a table's header above it, the
closing above a signature, which makes the one who signs a doctor, and,
in a doctor's letter, a column of doctors' names, as a practice's
letterhead lists them, which makes a name between two of them a doctor's
though it has no "Dr. med.". Once a
name is known as the patient's, every place it appears is, in either
order, with an initial, or with a letter misread. A title, like Herr or
Dr. med., is never covered with a name, nor on its own where it comes
again, as in "Sehr geehrter Herr Kollege". A name whose role is not
clear is covered with Names, and with only Patient names or Other people
on, covered anyway and marked to check. None of these ever covers a
phone number, an address or a QR code: a code is covered by codes, or by
another kind it holds, like the account in a payment's code, never by a
name or a company in it.
Letters are read as a person reads them too. The address under a person's
name is that person's: the street and house number, even one without a word
like Straße, as in "Lindenberg 12", the postcode with its town and the
country under them, in the name's column; and the street and town after a
name on its line, as a letter's subject writes "Mustermann, Erika,
Lindenberg 12, 23456 Musterstadt". A date of birth is found by the word
before it, like geb., geboren am, Geburtsdatum, DOB or a star, and is a
kind of its own, so a letter's other dates stay readable. A reference
number after its label, like Unser Zeichen, Referenznummer or Patienten-Nr.,
is an ID number, and in a doctor's letter the patient's. An IBAN read with
a space after its country, as small print often is, is found at that
country's length, and a bank's BIC beside an IBAN or the word BIC. So in a
radiology letter the patient's name, address, date of birth and case
numbers are known as the patient's, and the doctors' names as the doctors'.
API keys and tokens are found by how services start them, like sk-,
ghp_ or AKIA, by what follows Bearer or a setting like API_KEY=, by a
private key's first line, and by any long run of letters and digits that
reads as chance made it, which a name in code or a commit's number does
not. IP addresses are both kinds, IPv4 and IPv6, read as the system reads
them, so a time like 12:30:45 or a version like 1.2.3.4.5 is left. A map's
coordinates are covered as an address.
Choose how covers look under Cover look: ink, as always; labelled, the ink
with what it hides named on it, like Name or Phone; blur; pixels; dots, as
a password field shows; or erased, as if nothing had been there.
Each tile is a little chat covered by the same code as a copy. Every look
hides for good: blur, pixels, dots and erased are drawn from the colors
just around what is covered, never from it, so unlike a real blur or
pixelation of text, nothing covered can be brought back. Draw on Photo shows
the look you chose; Hide Part shows ink while you draw. Keep the last four
digits leaves a card, account or phone number recognisable, as on a bank
statement: "•••• 1111". It holds for copies and for Copy Text alike.
Every copy is checked before it leaves: once covered, it is read again as
anyone could read it, and whatever private still shows, or any piece of what
was hidden left beside its cover, is covered too. A picture that can't be
read, or whose covers can't be drawn, never leaves as it is: what goes is
the whole picture in cover ink, a note says so, and it is read again the
next time; a PDF goes with every page painted whole, and a copy saved from
Finder, Cover Files or a watched folder is not made. Until it is read, the
line shows it as it is, without the lock, and Sync sends no covered copy of
it. Under Protection, Find more
with Apple Intelligence (on where the Mac has it) lets the model on the Mac
read the words as well and cover what the patterns miss, like a name in a
sentence; it only ever adds covers, and nothing leaves the Mac. What it
names is read again by Snapfly's own rules before anything is covered: only
a kind you checked, and only words that fit it, so a street, a date or a
medical term it calls a name stays as it is, and what may fit is offered for
you to check. Find more
with Claude, or ChatGPT, does the same with the AI assistant set up in its
own pane: it is off until you turn it on, since it sends the words of each
screenshot to Anthropic or OpenAI. Strongest protection covers every line
with something private whole, with more room around it, so not even how
long it was shows. The room round a cover never reaches into a line above
or below that is not covered: a name is hidden, and the street under it
still reads in full.
QR codes and barcodes are covered whole, since nobody can read what they
hold: a payment, a sign-in, a ticket or a parcel. The number printed under
a barcode goes with it. Turned off, a code is still covered when what it
holds is a kind you chose, like the IBAN in a payment code under bank
accounts or a link under links. A kind added in an update starts on when it
is recommended and you cover anything; turn it off and it stays off.
To see what each kind hides, Test on a Sample under Privacy covers a
made-up order confirmation with what you checked: an order number, a
name, a date of birth, an address, an email, a phone number, an IBAN, a
tax number, a tracking number, a PIN, an API key, an IP address, a
username, a total, a date, a link, a medicine and a QR code. It says what
was covered there, and what you checked that the sample does not show. It
speaks for that sample only; a real screenshot can read differently.
Under Always Hide, a pane of its own in Settings on the Mac and a tile
under More on the iPhone (below), add your own details first: your name,
your address, your bank cards and your bank accounts, each in a sheet of
its own (First Name and Last Name; Street and No., Postcode and Town; Card
number; IBAN; on the Mac a card or an account with a name for it if you
like). The forms below are the matcher's; the rows show a detail alone. They are covered whatever
kinds are checked, and never left to check, in these forms:
| Detail | Covered |
|---|
| Name | as typed, surname first ("Mustermann, Max", "MUSTERMANN, Max"), in capitals, with an initial ("M. Mustermann"), the surname alone, and the first name alone from four letters; across a line break, with a comma, dot, slash or semicolon between its words; one letter misread in a word of five letters or more beside the rest of the name, or of seven alone |
| Address | the street with its house number, "Straße" or "Str.", with or without a hyphen, and the postcode with the town; one letter misread in a street or town of five letters or more; never a town or a postcode alone, nor another house ("14a", "140") |
| Bank card | the whole number, however it is grouped, across a line break, one digit misread (no other valid card is one digit from it), and where only its last four digits show: "•••• 4242", "XXXX-XXXX-XXXX-4242", "Visa 4242", "endet auf 4242" |
| Bank account | the IBAN with and without spaces, across a line break, an O read for a 0, one character misread (no other valid IBAN is one from it), with its middle hidden ("DE89 •••• 3000"), and a German or Austrian account's number on its own |
A card's number is grouped as you type it, its network named beside it
(Visa, Mastercard, American Express and others); a card is kept only once
it adds up (the Luhn check), and an IBAN, checked as it is typed, only
once it adds up too. Settings shows a card or an account by its last four
digits; a kept one's number shows again only after Show (on the iPhone,
the eye in its sheet). They stay in the keychain of the Mac or iPhone they
are added on, never in iCloud; on the iPhone, a backup holds them only
sealed to that same iPhone, so no other can open them. They are never
sent: with Find more with Claude (or ChatGPT) on, they are hidden in the
words before those go, and so is what your rules cover. A name saved as a
word before there were details moves to the name detail by itself.
Then rules of your own: a word, like your shop's name, covered wherever it
appears, in capitals or not; a label, like Customer number, whose value is
covered: Automatic takes the rest of its line, or the line below when
nothing follows it, or a label can keep to Same Line or Next Line;
or, for whoever knows them, a pattern, made on the Mac. A rule's sheet
covers a made-up example with it as it is typed. Each rule has its own
switch, and one turned off covers nothing until it is on again; the
section says how many are on. A detail or a rule removed by mistake comes
back with a click on the note that says it went, for a few seconds, as do
the saved messages, questions, prompts, chat apps and websites under Line.
Your details and
rules apply to everything that leaves the line, and to the copies saved
from Finder, whatever is checked under Privacy: also with no kind checked,
or with Hide private details off in the menu bar, they are covered, and a
copy whose file name holds one is renamed. A word that is a person's name
also helps Snapfly tell that name wherever it is written as a name for
sure: covered as Names, Patient
names or Other people say. Such a word becomes your name under Your
Details by itself as Snapfly starts, so it is covered however it is written.
Only the kinds you checked are covered, whatever found them. Names, Patient
names and Other people each cover their own people, and the three together
everyone's. A place is covered whole, a street with its house number. A medical
term, like a segment of the spine ("LWK 5/SWK 1") or a disease named after
someone ("Morbus Scheuermann"), is never taken for a name or a number.
Whatever picture leaves the line is a fresh file: what it shows, without
the notes a file carries on when, where and with what it was made, or the
Finder's note of where it was downloaded from. A PNG stays a PNG, pixel for
pixel; a photo goes as a JPEG; a GIF goes as itself, so it keeps moving.
Turn on Plain file names under Privacy, and pictures are called Image too,
and PDFs Document, rather than after when they were taken. A file whose
name holds a detail you cover, like an IBAN in a bank statement's name,
or one of your own rules, is called so either way.
To cover a whole folder, turn on Cover what lands in a folder under
Privacy and choose two folders, like the one invoices are downloaded to
and another for the copies. Every picture or PDF that lands in the first
gets a copy with what you checked covered, saved under its name in the
second, one after another in the background. A note says how many were
saved with something covered, and names the files where nothing was found,
so you can take a look. What was in the folder before stays as it is.
AI chats may keep what goes into them on their servers. Turn on Cover
everything in AI chats under Privacy, and whatever you send, copy or drag
out while ChatGPT, Claude, Gemini or another AI chat is in front, as an app
or a website, has every kind covered, checked or not; Copy Text,
translations and the blanks of saved messages leave them all out too. It
only ever covers more than you chose, and the line still shows your choice.
Over an AI chat, the send button shows a small lock by the count meanwhile,
and Sent in the History lists what was covered.
A click on a chat's icon, or on the send button, sends at once. Turn on Check
before sending, under Privacy, and before photos go into an AI chat, or an app
or website Snapfly doesn't know as a chat, a card shows them as they will go,
what is covered in them, and when photos like them were sent before. Return
sends them, Escape keeps them on the line. Choose every time instead to see
the card before every send.
Hide Part opens wide: the picture on the left, as large as fits, and on the
right everything to choose; drag a corner to make the window larger or
smaller. There you can also say what to hide, like "everything but the amount
and the date" or "the customer's name", or click one of the examples under the
field. Apple Intelligence picks the lines, or just the words in them, on your
Mac, and they show as boxes to check before you press Done; click one to show
it again. Without Apple Intelligence, type words separated by commas and they
are hidden wherever they appear. The text is read on your Mac, and the
screenshot file itself is never changed.
Pointed out, before it goes.
Edit › Draw on Photo, in a photo's menu, opens the same wide window to point
things out: an arrow from where it starts to what it points at, a box round
a button, a circle round a line, drawn in red as a pen draws one, a
highlighter over a line of text, numbered steps clicked one after another,
and words on a label. Crop keeps only the part that matters. Each tool has
its key: V selects, A draws arrows, R boxes, O circles, H highlights, N
numbers, T puts words down and C crops, and the last tool you drew with is
ready the next time. Click a drawing to change its colour or size, drag it
or its handles, or press Delete; ⌘Z undoes.
Edit › Background… sets the photo on a colour, ready for a post, a shop or a
slide: one of eight, from the warm colours of Snapfly's icon to calm grey
and white, with the room round it and how round its corners are on sliders,
a soft shadow, and the shape of the whole picture: round the photo, square,
16:9, 4:5 or 9:16, with the photo in the middle. The window shows it as it
will go out, covered and drawn on, and the next photo starts from the last
background chosen. Remove Background, in the same menu, takes it off.
Only the crop, quicker: choose Edit › Crop… in a photo's menu, or ⌥-click the
photo. It opens large over the dimmed screen; drag over the part to keep,
and it is kept as you let go, with whatever you drew on it. Or click the
part outlined under the pointer. Return keeps
the whole photo, and Escape, a right-click or a click beside it cancels. A
note says the file stays as it is, and Keep Whole Photo, in the menu of a
cropped photo, takes the crop away.
What you draw goes on the copy that leaves the line, over what is covered,
and the line shows the photo that way. The file itself stays as it is, and
the drawing stays with the photo until it leaves the line. Drawing explains
a picture; it never hides anything, so the lock counts only what is
covered.
Draw on Photo, Hide Part and Background ask before their close button, or
another photo opened in the same window, lets changes go: Keep Editing, or
Discard. Cancel and Done never ask, and the same photo opened again brings
its window back as you left it.
Every edit says where it went. Done says the drawing is kept with the
photo, and Save Copy…, under Keep as a file in the window, keeps the photo
as it goes out as a file of its own, wherever you choose; a photo's menu
has it too, under Save and Export. Markup and
Trim write over the file itself, and the note after them names its folder,
"Saved to Pictures › Snapfly"; a click on the note shows the file in
Finder.
Shapes, not pixels.
Save and Export › Convert to SVG, in a photo's menu, draws the photo again as shapes: flat
areas of color with lines and curves for their edges, which stay sharp when
they are made as large as a wall. It opens the same wide window: your photo
and its SVG one over the other on the left, under a divider to drag, and
the choices on the right. Zoom in with a pinch, ⌘-scroll or the buttons under
the picture, to see how close the edges are; a double-click looks closely at a
spot.
Pick the kind of picture, and the rest follows: Screenshot for interfaces and
text, Logo or icon for a few colors and smooth shapes, Illustration for artwork
with many flat colors, Photo for many soft colors, and Black and white for
only the dark lines, with nothing behind them. Then Colors, Smoothness and
Leave out specks go further, and the result shows how many colors, shapes
and bytes it came to. Copy SVG puts it on the clipboard for Figma, Sketch or
Illustrator; Save SVG… writes a file where you choose.
A straight edge stays a straight line and a corner stays sharp, so a button
comes out as four lines, and what is round becomes a few smooth curves. It is
made on your Mac and nothing is sent anywhere. Like everything that leaves the
line, it is made from the copy with the private details covered, so a covered
word is a covered shape in the SVG; the file itself is never changed. A
gradient becomes bands of flat color, and a photograph becomes a
poster of it, so a photo's SVG is large; a picture of more than twelve
million pixels is traced smaller and the SVG still opens at its own size.
Step by step, by itself.
Record a Guide, in the menu bar, turns what you click into a step-by-step
guide. Click through what you want to show, the way you always would: each
click is a step, with a screenshot of that moment and a sentence saying what
to do, like "Click “Orders”.", "Choose “Export…”." or "Click the “Search”
field.", from what the app says is under the pointer. A ring spreads where
each click lands, so you know it counted, and the capsule above the Dock
counts the steps; click it to finish, or choose Cancel Guide in the menu bar.
Nothing you type is recorded, and Snapfly's own windows stay out of the
screenshots.
The guide then opens in a window of its own. Give it a title, read the steps
through and write any sentence again, move a step up or down, or delete it.
Each step shows the part of the screen around its click, with what was
clicked boxed in red; Show Whole Screen shows all of it. Every screenshot has
its private details covered, as chosen under Privacy, before you see it, and
a name that could be private, like a customer's name or an order number,
stays out of the sentences.
Hang on the Line makes it a PDF of numbered A4 pages and hangs it, ready to
send. Save writes a PDF, or one tall picture that shows whole in a chat, or
copies that picture, with a file of it for apps that take files; watching
the clipboard leaves it alone, as it does photos copied from the line. The last 20 guides stay on your Mac, under Recent
Guides in the menu bar. The App Store edition can't ask other apps what was
clicked, so its steps say "Click here." and mark the click with a ring.
A folder of its own.
Snapfly can keep your screenshots in a workspace: a folder on your Desktop
named after the app, with a folder inside it for each kind of screenshot.
It is off until you turn it on, in Settings under Workspace. Then each new
screenshot is saved into the category you chose for new ones, Orders,
Customers, Projects, Documents, Other or Unsorted, and still hangs on the
line the same moment. The Desktop is found the way macOS names it, so a
Desktop in another language or in iCloud Drive works the same; with iCloud
Drive, everything in the folder goes to iCloud, covered or not, and Settings
says so beside the switch.
Settings › Workspace lists the categories. Rename one, hide it, move it up
or down, choose which one new screenshots go to, add your own, or remove
one: its screenshots move to Unsorted and nothing is deleted. A name is
kept when you press Return or leave its field. Rename the
folder or choose Change Location…, or move it in the Finder: Snapfly finds
it again, and what hangs on the line follows its files. Moved to the Trash,
it is made again where it was, and new screenshots go on hanging. The folder carries
Snapfly's icon in the Finder, and looks like any folder if macOS refuses
it. A screenshot is written whole or not at all and never over another file,
and when the disk is full or the folder can't be reached, a note says why
while the screenshot is kept in Snapfly's own folder, so none is lost.
In History, the Workspace page shows them by day as a grid or a list. Pick a
category, search by name or by the words in the photo, press Return or
double-click to open one (with keyboard navigation on, Tab reaches each
card, Space selects it and Return opens it), and use the menu for Hang on the line, Quick Look,
Copy Original, Copy File Path, Show in Finder, Move to Folder, Rename… and
Move to Trash. Copy Original copies the files as they are, not covered, as
the Finder would; to send one covered, hang it on the line. The same Move to
Folder is in the menu of a photo on the line.
Delete… in Settings asks first, then moves the screenshots to the Trash, and
leaves any file in the folder that isn't Snapfly's. Only a folder Snapfly
marked as its workspace can be deleted that way, and nothing is ever deleted
by turning the workspace off or removing the app. It isn't in the Mac App
Store edition, whose sandbox can't write to the Desktop.
A thousand files, covered.
Cover Files…, in the menu bar, covers private details in many PDFs and
pictures at once. Drop files or whole folders on its window, or choose them,
as many as a thousand and more; folders are opened all the way down, and
files of other kinds are counted but get no copy. On the right, choose what
to cover: Names Only, everyone's names, as it starts; As in Settings, All,
or each kind on its own, from the same list as Settings › Privacy. Your own
details and rules from Settings › Always Hide apply too.
Cover Files then asks where to save, and makes a new folder there, named
with the day and time, with the folders the files came in kept inside it.
Each PDF is read page by page on your Mac and drawn again with what you
chose covered, and each picture is saved as a covered PNG, a few at a time,
with how far it has got and about how long is left. Stop ends it after the
files being read. The list then shows how each went: covered, with how many
places; nothing to cover, to look at before sending; or not covered, locked
with a password, over 200 pages or unreadable, which get no copy at all.
VoiceOver reads the counts under it with what each counts, and the note
when it is done counts only the copies with something covered, naming those
with nothing to cover. The files themselves are never changed. Selecting
several files or a folder in Finder and choosing Hide Private Details with
Snapfly opens it too.
Photos and PDFs too.
Anything you want to send can hang on the line, not only screenshots. Drag
photos or PDFs from Finder, Mail or anywhere else towards the top of the
screen: the line comes down, opens a place for them and hangs them where you
let go. You can also drop them on the menu bar icon, choose Send Safely with
Snapfly under Services in Finder's right-click menu, open them with Snapfly,
or choose Add Files… in the menu bar.
They leave the line the way a screenshot does, protected. The details chosen
under Privacy are covered, and Hide Part works on them too, page by page in a
PDF. A photo goes without where and with what it was taken: its location,
camera and captions stay behind, and it goes as a JPEG. A PDF is read page by
page on your Mac and drawn again into a new PDF, so what is covered is gone,
not painted over, and no text, links or document details come along. Each
copy is opened again before it is handed out, and one that still carries
text, notes, form fields, an author, a title, a subject or keywords is not
handed out at all. Its card
shows a spinner while its pages are covered, then a lock. The file itself is
never changed. Save Word or Excel documents as a PDF first; a PDF locked with
a password, or longer than 200 pages, stays out.
In Finder, right-click a photo or PDF and choose Services › Hide Private
Details with Snapfly. The window shows the photo, or each page of the PDF:
tick what to hide in this copy, drag a box over anything else, or say what to
hide. Save Copy… puts a covered copy beside the original, under the same name
with "(covered)" added, after you have chosen the place. The original stays as
it is.
The whole page.
Press ⌃⌥P, or choose Capture Whole Page in the menu, and Snapfly scrolls the
window in front from top to bottom and joins what it sees into one long
picture, with no seams: the toolbar and a site's sticky header appear once,
at the top. It works in any browser and in any window that scrolls. It turns
the scroll wheel in small turns, as a hand would, and if the page does not
follow the wheel, it presses Page Down instead. The picture hangs on the line
like any screenshot, and with the time stamp on, it is stamped with the time
and the website's name. It needs the permission to press keys, the same one
the send button uses.
Stamped with the time.
Turn on Stamp the date and time under General in Settings, and every
screenshot of the whole screen gets a band above it, like a letterhead,
that says when and where it was taken: the date and the time to the
second, from the atomic clock of the PTB in Germany (or the Mac's clock
when there is no connection); the website that was open in the browser, by
its name alone, like mail.google.com, never the rest of its address, which
can hold a search, an email address or a sign-in link; and the
screenshot's SHA-256 fingerprint, so anyone can check the copy was made
from that very file. Choose Every screenshot to stamp all of them,
and type a few words, like your shop's name, to stand before the date.
The screenshot itself stays as it was. A stamped copy is saved next to it,
named "… with time stamp", and the stamp also shows on the line and goes
with whatever leaves it. Asking the PTB for the time is the only thing
Snapfly ever sends out, and only while the stamp is on.
Eight ways to hang.
Pick what the photos hang on under Line in Settings: the clothesline,
crooked photos swaying on clips; a glass shelf of Liquid Glass, upright
like the Dock; an island, black and hanging from the top of the screen
like the notch grown wide; a card stack by the right edge that spreads
out as you reach it, with a count on top; a taut wire, the photos straight
on clips; floating, the photos alone with nothing behind them; a
filmstrip, dark with its holes along the edges; or a fan, the photos
arcing down from the middle like cards in a hand. Everything else works
the same on each.
Calm for everyone.
Turn on Reduce Motion and the line fades in instead of sliding. Photos stop
swinging and captures appear in place instead of flying. Turn on Reduce
Transparency and the glass turns solid, and the dark badges on photos do too. With VoiceOver,
each photo is a button named after its file. Pressing it copies the photo,
and its actions send, pin and take it down. On macOS 26, the controls that
float over your screen are made of Liquid Glass.
Sent, and gone.
Whatever you send into a chat, with a paper plane, ⌃⌥V or a drag, leaves
the line as it lands there, so the line only holds what is still to send.
Pinned photos stay. As they leave, a note above the Dock says where they
went, for a few seconds: "Sent to WhatsApp". Wrong chat? A click on the
note hangs them on the line again. Rather keep them on the line? Turn off
Take photos down once sent in Settings.
A photo that says what one sent lately said gets a paper plane after its
lock, and its menu says where that went and when, so the same invoice isn't
sent twice by mistake. Snapfly knows it again by a print of its words kept
with the History, not by the words themselves. Turn it off with Mark photos
sent before, under Line.
Ten of fifteen to send? Click the circle on each, in the corner opposite
the cross, and only those go: with the send button on the tag, with the one
over a chat, or with ChatGPT, Claude, WhatsApp, Gmail, GMX or WEB.DE under it. Those
send straight there: your browser comes to the front on the
chat it shows, or opens a new one (or their app does, if you chose it); the
photos are pasted in once it is ready, covered as in any AI chat for the
first two, after the check before sending. Their icons stand in a row
under the photo, so the photo keeps only the paper plane; the photo's menu
has them all under Send to: the ones under photos first, the rest under
More Chats. Turn each icon off in Settings, under Line › Icons under
photos, each on its own.
Every screenshot to an AI chat? Choose one under Line in Settings, Send
each screenshot to: ChatGPT, Claude, Perplexity, Grok, DeepSeek or Qwen.
Take as many as you like: they hang as always and wait, a note says where
they will go, and when you go to that chat yourself they go in together,
into the conversation open there, next to anything you already typed,
covered as in any AI chat and after the check before sending. They wait
for Return: nothing is sent until you press it. Taken with the chat in
front, a screenshot goes in at once. Where it goes can be At once instead
(the chat in front, else a new chat, after each screenshot) or Always a new
chat. Snapfly pastes into the tab that is in front; it doesn't pick one of
several open tabs by itself. A screenshot sent this way stays on the line,
to send again or elsewhere; turn off Keep it on the line and it leaves like
anything sent, with the note that says where it went putting it back on a
click.
A website asking for a file, with its Open window? The line comes down by
itself, says how, and a small arrow travels once from the newest photo to
the window. Drag a photo into it, or click the photo's paper plane: the
photo flies to the window and is chosen there, covered like anything that
leaves the line, then opened, ready to attach. Several picked photos are
chosen together. This needs the Accessibility permission, as pasting does,
so the Mac App Store edition pastes as before.
Too large for a chat, or for someone without one? Copy Link, in the photo's
menu, uploads it as it leaves the line, its private details covered, and
copies a link that works for seven days: the page shows the photo, plays
the recording or opens the PDF, with Save beside it, in English, German or
Arabic. Copy Link again on the same photo copies the same link; once it is
covered differently, it gets a new one. Delete Link takes it down at once.
Files up to 95 MB. Nothing about you goes with it, and the file is deleted
after seven days.
Longer instructions you give an AI again and again, like how to write a
reply, are prompts. Over ChatGPT, Claude or any other AI chat, their
numbers stand in a small glass bar just above the send button, 1, 2 and
so on, leaving the button as it was: point at one to
see its name, click it, and the photos go into the message box with that
prompt after them, waiting for Return. Over other chats the numbers stay
away, and a click on the button itself sends the photos alone, as ever.
Two come with Snapfly: Natural writing, which asks for a text that reads
as a skilled person would write it, accurate and in your own voice, and
Reply to a customer. Write up to nine of your own in Settings, under Line
› Prompts for AI chats, each with a title and as long as it needs; they
are in a photo's menu under Ask AI too. Standard Prompts brings the two
back, after asking while any of yours is written.
Something to ask about it? Right-click ChatGPT or Claude on the photo, or
choose Ask ChatGPT or Ask Claude in its menu, and the photo goes with a
question after it, like "Summarize this in a few lines" or "What should I
reply to this?"; the chat answers in the language you ask in. The five
questions that come with Snapfly are yours to change under Questions for
ChatGPT and Claude in Settings, under Line; until you change them, they
follow the language Snapfly speaks, and Standard Questions asks before it
replaces yours. Nothing is sent until you press Return in the chat.
Gone, but not lost.
Taken down by mistake? For a few seconds, a note above the Dock offers it
back, as it does after a crop or a part hidden by hand: a click puts it
back as it was.
Everything that leaves the line, sent or taken down, waits in the History
for 30 days: History… in the menu bar, or ⌘ Y
while the menu is open. It is grouped by day, and the search finds the words
in every photo. A click hangs one on the line again (with keyboard
navigation on, Tab reaches each photo, and Space or Return does the same); Send Again in its menu
hangs it and sends it, covered, into the chat you had in front, and Copy
copies it as it would leave the line, never the original. What you hid by
hand or drew on a photo goes with it into the History and back, so it
leaves covered from there too, and from a note's "put it back"; it is
forgotten once the photo has gone for good. A screenshot from
Snapfly's own folder moves into its History folder and goes to the Trash once
its days are up; a file from anywhere else stays where it is. Choose 7, 30
or 90 days, a year or forever, or turn it off, in Settings, under Line. It
all stays on your Mac. Clear History… empties the photos and the Sent list
alike, and says so before it does.
Orders, at the top of the window, puts the photos that show an order,
invoice or customer number together under that number, the order with the
newest photo first; search finds an order by its number too.
Sent lists what went into which chat: the date
and time, the photo, the chat (the website in a browser, else the app),
what was covered and the message sent with it. Search it like the photos,
and Export… saves it as a table for a spreadsheet, with semicolons where
numbers use a decimal comma. It keeps only these facts, no pictures, for
as long as the History keeps photos.
Order details, ready to copy.
Text and AI › Order Details, in a photo's menu, reads the order a screenshot shows: its
number, the date, the total (the amount by a word like Total or Gesamt,
else the largest), the name, the address, the email, the phone, the
tracking number, and what a QR code says. A payment code, the GiroCode on
European invoices or the Swiss QR bill, reads as the account in groups of
four, who is paid, the amount and the reference, and its amount stands in
for the total when the text shows none. Each part has its own copy
button; Copy All copies them as lines, and Copy Row as one row with a tab
between the parts, always in the same order, to paste into a spreadsheet.
It is read on your Mac as the screenshot shows it, not covered. With the
AI assistant set up, Claude or ChatGPT reads the covered copy too and adds
what your Mac did not find, like what was bought, with the quantity.
For the books, Save for Bookkeeping in the same menu puts the photo,
covered as it leaves the line, in a folder you choose once, under a name
that says what it is, like "2026-10-17 Order 1024 74,00 €", and adds a
line to Snapfly.csv there: the day, the file, the order and the total.
Email to Bookkeeping… puts the covered copy in a new email to whoever
keeps your books, the same name as its subject. Choose the folder and the
address in Settings, under Line. Whatever you cover stays out of the name
and the table too.
For a customer, Send to › Send with Shop Header in a photo's menu sends it covered,
under a band with your shop's name and logo, the order number and the day,
so it is clearly from your shop and still a screenshot. Set the name and
the logo under Line in Settings; the order shows unless order numbers are
covered.
Once a month, Monthly pack in the same place makes one PDF of a month's
receipts for your tax advisor, beside them in the folder: a page listing
each one with its day, order, total, page and fingerprint, the sum of the
totals when they share a currency, then every receipt on a page of its
own. It helps hand them on; it is not an archive of record.
Translated and described, on your Mac.
Translate Text reads a screenshot and translates it into the language you
pick, line by line, with Apple's translation. Describe writes a line about
what it shows, like the order and its number, with Apple Intelligence,
ready to send along with the photo. Both start from the text as it leaves
the line, with private details already left out, and neither sends
anything off your Mac. Without Apple Intelligence, Describe uses the
screenshot's title.
Claude or ChatGPT, with your own key.
Text and AI › Write a Reply, in a photo's menu, has Claude or ChatGPT write the answer to
the customer in the screenshot: short, friendly, in the language they wrote
in, with [ ] where you have to decide, like a date or a refund. Type what to
add, like "offer a replacement", press Return, and it writes it again. Send
pastes it into the chat in front. Explain with Claude says what the
screenshot shows and what matters in it, in your language, and answers a
question you type about it. Order Details asks it for the parts your Mac
did not find.
Set it up once in Settings › AI Assistant, a pane of its own: click the
Claude or ChatGPT tile, which shows the app's own icon when the app is on
your Mac and whether a key is saved for it, click Get a Key… to make an API
key on their website and copy it, then click the clipboard button beside
the key field, which pastes and saves it in one go (or paste it and click
Save). Snapfly checks the key with them at once, by asking for the models
it may use, which costs nothing: Ready. The key works, or that they did not
accept it. The key stays in your keychain; Settings shows only its last four
characters, with Change and Remove Key beside them, and Check Again checks it
once more. Remove Key asks first, since a key cannot be shown again: you
would make a new one. Model is a menu of the models your key may use, by their names,
newest first (Claude Opus 5.5, Sonnet 5.5 and Haiku 5.5 until the key is
checked); Other… takes a model's ID by hand. What it does lists Write a
Reply, Explain and Order Details, and holds the switch Find more with Claude
(or ChatGPT). An AI card whose key is missing or refused opens this pane.
On the iPhone, the same key and model, set in More › AI Assistant, serve
Explain in Protect Picture: the protected copy, never the original, sent
when you tap it, and the answer shown as it is written, so the first words
come at once. Questions after it reuse the picture Claude keeps for a few
minutes, so they are answered sooner and cost less; ChatGPT does the same
by itself, and each request asks OpenAI not to store it for later
retrieval.
What it is sent is the screenshot covered as for an AI chat, never the
original, and only when you choose one of these. It goes straight from
your Mac to Anthropic or OpenAI, with your own key, and they bill each
request to your account there: a Claude or ChatGPT subscription does not
cover it. Words in the screenshot are only read, never followed.
Private by design.
No account. No server of its own. No analytics.
Snapfly runs entirely on your Mac, and your screenshots never leave it
unless you send them, make a link to one with Copy Link, or turn on Sync,
which keeps your iPhone in step through your own iCloud, covered copies only
unless you choose originals too. On its own, the only thing it ever asks the internet is
the time, from the PTB's atomic clock, while the time stamp is on. The AI
assistant, once you give it your key, sends a covered screenshot to Claude or
ChatGPT only when you choose Write a Reply, Explain or Order Details, and
the words of each screenshot only with Find more turned on under Privacy.
Mac and iPhone, in step.
Turn on Sync in Settings on the Mac and on the iPhone, signed in to the same
iCloud account, and the two work as one:
- From the Mac. What hangs on the line goes to the iPhone as it would
leave the line, with its private details covered, and shows there under
From your Mac, ready to copy, share or save to Photos. The whole picture is
fetched when you open it.
- From the iPhone. Send to Mac, under a covered screenshot, hangs it on
the Mac's line.
- Originals stay put. Only covered copies go, unless you choose Originals
too, and then only those taken from then on.
- Your devices. Settings lists them, with when each was last there, and
says how syncing stands: up to date, waiting for a connection, or what needs
you. Sync Now tries again what could not go.
- Another Apple account? Pair with a code. If the iPhone is signed in to
a different Apple account than the Mac, click Show Code… in Settings › Sync
on the Mac. Six digits show, a new one every 30 seconds. On the iPhone, tap
Connect to a Mac with a Code under More › Mac and iCloud, as the Mac's
sheet says, and type them; the Mac asks
whether to connect that iPhone, and only a yes lets it in. The Mac then
shares its sync with that account alone, through iCloud; Cancel stops it
while it connects, should iCloud not answer. Disconnect… on either side
ends it.
It goes through your own iCloud, never a server of Snapfly's, and a change
made offline waits until it can go. The plan, the rules and what is verified
are in SYNC.md. Where Snapfly stands as one Mac and iPhone
product, what is verified and what comes next is in
ECOSYSTEM.md.
On the iPhone.
iOS/ holds Snapfly for the iPhone. iOS lets no app float over the others or
watch the screen, so there is no line there. What it keeps is the covering:
- Four tabs in the system's tab bar, in Liquid Glass from iOS 26 on,
where it shrinks to the tab shown as a page scrolls down: Photos, Scan,
Protected and More. Scan opens the system's document camera (where it
cannot scan, a note says why, as when Snapfly may not use the camera),
or Aus Fotos takes photos of pages: a letter, a form or a receipt is found
and cut from the photo by Vision (its corners set by hand, with a loupe,
where Vision is not sure), made flat in its own shape, turned upright and
levelled from its lines of text, then cleaned as a good scanner leaves a
page: its light made even, the paper white and the print dark and sharp,
a curl taken out along the page's own ruled lines, small light-grey
print beside the page's dark text as dark and plain as the rest, line by
line, every umlaut's dot, accent, comma and @ of it kept, a thin light
face a little bolder (
ScanPrint),
a fold's crease evened out like a shadow, while a pale watermark or a
shaded row keeps the tint it was printed in, in Color, Grayscale or Black
and white (ScanCleaner, ScanClean). Color makes the paper white;
Original Color keeps the paper's own colour, a pink sick note pink, as
evenly lit as Color makes it white.
Several photos chosen at once make one document, its pages in the order
they were chosen. Only
the picture as a whole changes: nothing is drawn, filled in, removed or
guessed. Each page is read before and after: a line of light print read
surely before that reads otherwise after, a dot or an accent gone, is read on its own,
cleaned again gently, or kept as the light alone leaves it, whichever
first reads as before, so cleaning never changes what a line says; a mark
the photo left too faint to read before counts as clearer
(SCAN_TEXT.md). Where a number read
before is not read after, the text is blurred, a reflection hides it, the
page is small in the picture or, from iOS 26, the lens is smudged, a hint
says where, with Look, the place outlined in orange on the page with its
short name ("Unscharf") and never in the copy. Where the page's smallest
print reads unsurely (ScanReadability), the hint "Kleine Schrift
unscharf" offers to take it again: Näher aufnehmen for a scanned page,
Neu aufnehmen für kleine Schrift for a photo. With Schärfere kleine
Schrift (Test) on in More › Detection, Scan takes pages with Snapfly's
own camera (PageCamera) instead of the system's: photos at full size (up
to 24 MP) and best quality, four frames merged where photos are 12 MP,
focus and exposure on the page's middle, and the page taken by itself
once the print is sharp, the phone still for 0.3 s and the smallest
letters 16 px tall; otherwise one hint at a time on glass over the
shutter (Ruhig halten, Näher ran, Spiegelung, Handy leicht kippen, Mehr
Licht, Linse reinigen), which VoiceOver reads out, a light tap when it is
ready, a torch at a low level and never the flash. Its pages are found in
the photo as a photo's are. Näher aufnehmen then takes only the small
print again, close up ("Kleine Schrift näher aufnehmen"), laid onto the
page to a fraction of a pixel () and kept only where the
small print reads more surely; otherwise "Detailaufnahme nicht
übernommen". The covers are then found on the cleaned page. The
pages wait as small numbered cards, in the order scanned, kept in memory
only while the app is open (Clear beside them asks before they all go),
under the document's kind (Invoice, Letter,
Form or Receipt) where its words say it, and each opens in ,
whose one job is checking the covers: its own bar (back, "Prüfen" with
"Seite 1 von 3", the menu and Next); a status chip ("4 verdeckt · 2 zu
prüfen", never "Nichts Privates gefunden" while anything is open) that
opens the list of places to check on every page, each with Lassen and
Verdecken, Alle verdecken, the pages' hints with Ansehen, and what is
covered; the page as large as it can be, its places to check outlined in
orange, an eye in its bottom corner to see it without covers, a swipe
sideways to the next page; where the page's text could not be read,
the chip says so with Try Again, never that nothing private was found; the pages small under it, a dot on each with something
open, dragged into order, with a plus to add pages; and one bar with
Abdecken (Undo, Select, Rectangle, Lasso, Brush, Eraser, Redo) and Seite
(Crop, Turn, the colours, Before and After, Delete). The cleaned page
wipes in over the page as it came, then its covers sweep in. The menu
holds KI fragen, Text anzeigen (the page's text, covered, as below),
Alle Seiten, Neu aufnehmen and Scan verwerfen. A page
opened opens again as it was left. Next, or Save and Share under the
cards, makes one
A4 PDF (an A4 page fills it, any other is centred with a 10 mm margin and
never stretched, at 300 dpi or more, its searchable text read from the
covered pages, in every script, Arabic, Chinese and Korean too, nothing
of who made it but Snapfly), a PNG for each page, or the text as one TXT
file or a Word document (.docx, to change in Word or Pages: a heading a
heading, an address's lines kept, a table a table with its cells, a page
break between pages, Arabic from the right, every cover the bar, and
nothing of who made it or when), with covers, where every save starts, or without, which says the
file holds every private detail and is never called protected; then
Copy, Save or Share. The text is in reading order (): a
column to its end before the next, a letterhead's side column after the
letter, a table row by row, its cells parted by tabs, the details beside
an address kept as label and value, a paragraph's lines run on and a
word broken at a line's end joined again ("Bildschirm-foto" is
"Bildschirmfoto", "E-Mail" stays), Arabic and Hebrew read from the
right; every covered place is "███", and nothing under a cover is read.
Columns of small print without numbers, as a letter's foot, are read a
column at a time and not as a table; a line Vision read whole with its
cells far apart is parted into cells again. A receipt's items and the
prices Vision reads apart from them are a table; an address is read
whole before the details beside it; a letterhead of small print down
the side comes after the letter; a line such as "IBAN: …" or a date
alone stays a line.
Text anzeigen opens it whole: a heading larger, a table as a grid, every
word to select, with Copy, Vorlesen and Share, a .txt file; without
covers it starts with the warning. A line the reading was not sure of
(Vision's confidence under 0.9) is washed in orange, and a row says how
many; Seite shows the pages with those lines outlined where they lie, each
a tap to correct it against the page, and the block the search or the
voice is at washed in green. Text korrigieren makes a paragraph or a
table cell a button that opens it beside the part of the page it was
read from; a correction is kept under the text as it was read, so it
never lands on another block, goes into the copied, shared and spoken
text, and is undone from the menu; the PDF's text keeps what was read.
The menu also searches (matches marked, counted, stepped through, case
and accents ignored), and translates the text with the system's own
translation (iOS 17.4). A table has a menu to copy it as cells for Numbers
or Excel, or to share it as a CSV file (UTF-8 with its byte order mark,
a semicolon where numbers are written with a decimal comma, a cell a
spreadsheet would run as a formula defused). Vorlesen has a player:
paragraph by paragraph and a table row by row, the word being said
marked and scrolled to, back and on, pause, a speed from 0.75 to 2, the
best voice installed for the text's language (a paragraph in another
language in that one), and a note, not a wrong voice, where none is
installed. Its name comes first, to change: with Apple Intelligence
on, it is suggested on the iPhone from the words the covers leave on the
first page, its kind, who sent it and the date written on it, as
"Invoice Musterfirma 14.10.2026", never a word under a cover or your own
name and never guessed; otherwise, or where nothing holds, it is when the
pages were scanned, "Scan 21.10.2026, 14.05". Under them,
Send to shows the same apps as under a photo on the Mac, by their icons
as in the share sheet: ChatGPT, Claude, WhatsApp, Gmail, GMX and WEB.DE at
first, and with More, at the end, any of Perplexity, Grok, DeepSeek, Qwen,
Messenger, Instagram, Outlook, Yahoo Mail and Facebook, in the order you
drag them into (Airbnb, Visual Studio Code and Antigravity take no
picture from another app on the iPhone). One tap covers every page and
hands them to the app the ways iOS gives: one page straight to WhatsApp,
as a file only WhatsApp opens (the way WhatsApp documents); one page to
ChatGPT, Claude or another AI chat by opening its app with the page
copied, Claude at a new chat, the picture waiting above the keyboard
there for one tap (iOS lets no app put a picture into another's chat
itself). An AI chat first opens a sheet saying the covered copy goes to
it, never the original, with three questions to send with it (Explain
the Document, Summarize, List Deadlines and Amounts, each asking it never
to guess what is covered or unreadable, nor to fill in or correct a
number) and Hand Over Only; with a question, the share sheet takes the
pages and the question to the app, where you tap it and then send.
Snapfly holds no key for it and sends nothing itself; the conversation is
in your own app. Anything else, or an app not
on the iPhone, through the system's share sheet, where you tap the app;
nothing ever opens in a browser. Where the pages ask to be paid by a day
still to come, Save and Share ends with Reminder: Add Payment Reminder,
"Pay 369,73 € by 28.10.2026", opens the calendar's own form for a new
event, filled in: a whole day, an alert at 9:00 the day before, the
company to pay as its title ("Pay Musterfirma GmbH"), the amount and the
invoice's number in its notes. It is read on the iPhone from the pages'
text (): the day after Zahlbar bis, fällig am, Bitte
überweisen … bis zum, Due date or Pay by, or the days from the
document's own date ("innerhalb von 14 Tagen", "Net 30"), the last one
where it gives several, as a reminder letter does; the total, after
Zu zahlen, Rechnungsbetrag or Gesamt, never the net, the tax or a
discount; the company its letterhead names with its legal form (GmbH,
AG …), never one named with your own name, and no practice or person
("Zahlung fällig" then). Nothing is guessed: a day like 04/11/2026, which could be
either month, is left, and nothing is offered for a document stamped
BEZAHLT or Paid, paid by direct debit or charged to an account, or a
credit note. iOS shows the
form apart from Snapfly, which asks for no access to the calendar and
never sees it; the event is added only when you tap Add. Protected
shows the last twelve screenshots protected, in the same grid (with
Photos access off, it asks for it, as the Photos tab does). Holding
one offers Remove from Protected, which takes it off the list at once,
with Undo for five seconds while it stays in Photos, and Delete from
Photos, which iOS asks about first (Photos keeps it 30 days to bring
back). Select chooses several, by a tap on each or a finger drawn
across, and Remove asks which of the two, as Photos does in an album;
Merge into PDF puts the screenshots chosen, in the order they show, into
a new PDF project. More is Settings as a short overview, with a page for each part (below).
While a picture is open the tab bar steps aside; on More it stays whole
as a page scrolls, and steps aside on More's pages, so it never sits
over a row.
Both apps share the code in Sources/Tendedero/Shared (finding and covering
private details, the atomic time, the translations, the apps a picture goes
to), so an improvement there
reaches both. Everything happens on the device, unless you turn on Sync.
The iPhone App Store workflow builds it, signs it and sends it to TestFlight
whenever it changes on main. Its certificate is made once, on a Mac, with
scripts/iphone-signing.sh.
Tech Specs
| |
|---|
| Compatibility | macOS 14 Sonoma or later, on Apple silicon and Intel. Designed for macOS 27. |
| Size | 1.7 MB |
| Languages | English, German, Spanish, Galician, French, Portuguese (Brazil), Japanese, Korean, Chinese (Simplified), Turkish, Azerbaijani, Hindi, Arabic |
| Built with | Swift, AppKit and SwiftUI |
| Network access | Only the time, from the PTB's atomic clock, while the time stamp is on |
| Price | Free |
| License | MIT for the code. The name and icon are not included. |
Install
Download Snapfly.zip from the latest release, open
it and drag Snapfly to Applications. Builds from main are signed with a
Developer ID and notarized by Apple, so they open like any other app.
Each version also keeps a release of its own on the Releases
page, and CHANGELOG.md says what each one brings.
The first time it opens, Snapfly offers an introduction on your own screen,
about a minute long: Start Introduction, or Skip for Now. It points at the
real thing, one step at a time, with the rest of the screen dimmed and a
small card beside it: the icon in the menu bar, your first screenshot (⇧⌘4,
Snapfly's own shortcut, or the card's Take Screenshot), the photo on the
line, its lock, the icons under it, its menu, and the tag at the end of the
line. Doing what a step asks moves on by itself, with a check; Next, Back
and the cross are always there, and nothing on the screen is held back
meanwhile. A step whose part is not there, like the lock on a photo with
nothing covered, is left out, and the introduction steps aside while Crop,
a screenshot or a dialog takes the screen, or during a call.
Ended before its end, it goes on from there with Continue Introduction in
the menu bar. Settings › Support › Help & Introduction starts it again,
shows one thing at a time on the line (Show Me How), and turns tips off: a
short hint, once, the first time something is in reach, like the lock on
a covered photo or picking several photos. When the line has nothing for
Show Me How to point at, like a lock on a photo with nothing covered, or
the icons under a photo when the newest is a screen recording, Settings
stays open and a note says why.
On the iPhone, the introduction shows on your screenshots: tap one, then
the apps beside it. More › Help › Introduction starts it again, once
Snapfly may see your screenshots; until then it opens the Photos tab,
which asks for them.
Build from source
git clone https://github.com/mgrd281/Screenshots.git
cd Screenshots
scripts/build-app.sh
open build/Snapfly.app
Requires the Swift toolchain. Xcode is optional. With the Command Line Tools for macOS 27, the script falls back to the macOS 26 SDK they install alongside, because the new SDK needs a SwiftUI macro plugin only Xcode includes. Local builds are signed ad hoc,
so macOS asks again for access to the Desktop after each rebuild.
| File | Role |
|---|
AppDelegate.swift | Menu bar, shortcut, revealing and tucking away the line |
LineIcon.swift | Snapfly's mark in the menu bar and Settings: a photo hanging on a line |
SettingsWindow.swift | The settings window: General, Workspace, Line, AI Assistant, Privacy, Permissions, Support and About |
AIAssistantSettings.swift | Settings › AI Assistant: the assistant tiles, the key checked with the provider, the model from its own list, and what it does |
Support.swift | Settings › Support: the introduction and Show Me How, which stays in Settings with a note when the line has nothing to show, the help page, an email about a problem or an idea with the details filled in, and those details to copy |
LinePanel.swift | The transparent strip along the top of the screen |
LineView.swift | The line and where each photo hangs, as far across the screen as it was moved |
PeggedView.swift | One photo: glass frame, clip, swing and breeze, and the covered places shown from the lock |
LineTag.swift | The tag at the end of the line: moving it (held first, any way), combining, sending, downloading and taking everything down |
Downloads.swift | Download, from the tag: the photos saved into Downloads as they leave the line |
Guide.swift | The introduction on the screen itself: the steps, the shade with its hole round what is pointed at, the card beside it, lessons one at a time, and tips |
Shared/GuideFlow.swift, Shared/GuideShade.swift | Where the introduction stands, kept with the settings, its steps in order, where its card goes, and its shade, for the Mac and the iPhone |
Paste.swift | Pastes into the app in front, for the send button |
The Snapfly icon is drawn in code by scripts/make-icon.py into
assets/icon.png, which the build turns into the app icon.
scripts/make-dmg.sh builds the disk image for releases.
Translations live in Sources/Tendedero/Resources, one .lproj folder per
language. The questions macOS asks before Snapfly may watch a folder, use the
microphone or ask a browser which page is open live apart, in
Sources/Tendedero/InfoPlist, one InfoPlist.strings per language, as the
iPhone app takes in all of Resources beside its own; their English is in
scripts/build-app.sh, which copies them into the app.
swift scripts/check-strings.swift checks that none is missing.
The Mac App Store edition may not change those settings, so its first launch starts with Snapfly's own screenshots instead, which need nothing set up: Try It Now takes the first one. Pointing the Screenshot app at Pictures › Snapfly stays a choice, in that first window and under General in Settings.