Help · macOS 15.4 or later

How tdy works, and what to do when a link does not change.

tdy sits in your menu bar. When you copy a link, it swaps in a version that embeds properly, strips the tracking junk, and puts the clean link back on your clipboard before you paste. Everything happens on your Mac.

Getting started

  1. Open tdy. It has no window of its own. Look for the small rounded tile with a chain link in your menu bar.
  2. Answer the prompt once. The first time tdy sees a link on the clipboard, macOS asks whether tdy may read it. Choose Always Allow.
  3. Copy a post link. X, Instagram, TikTok, Reddit, Bluesky or any of the other supported platforms. The tile flashes a checkmark, and the clean link is on your clipboard.
  4. Paste it. Discord, Slack, iMessage, Telegram or anywhere else. The preview renders.

That is the whole workflow. Everything below is for when you want to change how it behaves.

The clipboard prompt

Starting with macOS 15.4, apps that read the clipboard without you pasting trigger a system prompt. tdy is one of those apps by design, so you will see it once.

Always AllowLets tdy work silently. This is the setting tdy needs.
Allow onceCovers only that one read. You will be asked again on the next link, which gets old fast.
DenyTurns tdy off. The menu shows an orange "Clipboard access is off" banner until you change it.

tdy reads the clipboard only when macOS itself indicates a link is present. It asks the system whether the clipboard probably contains a link first, and that check does not reveal the content. Plain text, passwords, images and files are never read. You can change your answer any time under System Settings, Privacy & Security. The banner in the menu opens that pane for you.

What happens to a copied link

Each link goes through the same stages in the same order. Every stage is a toggle under Transforms, and the rules that drive the stages come from tdy's rule server so they can change without an app update.

  1. 1
    ResolveAlways on

    Share links that hide their destination are followed to the real page first. Reddit share links, TikTok's short share links and Facebook share links are the usual cases. Classic shorteners like bit.ly are only followed when you turn that on.

  2. 2
    UnwrapOn

    AMP wrappers and redirect links are replaced with the page they point to.

  3. 3
    StripOn

    Tracking parameters are removed: utm_ prefixes, fbclid, gclid, igshid, X's s= and t= tags, and about 150 more, with exemptions for parameters a site actually needs.

  4. 4
    CanonicalizeOn

    Long Amazon and eBay item addresses are trimmed to their short form.

  5. 5
    SortOff

    Any parameters left are put in alphabetical order, so the same page always produces the same link.

  6. 6
    SwitchOn

    The host is swapped for an embed fixer. This is the stage that makes a post preview in chat apps. Which fixer is used per platform is your choice under Providers.

  7. 7
    TranslateOff

    A language is appended so supported posts embed translated.

  8. 8
    PaywallOff

    Links to paywalled news sites are wrapped in an archive.is address.

You copied x.com/Interior/status/463440424141459456?s=20&t=aBc7Xy tdy pasted fixupx.com/Interior/status/463440424141459456

Stripping runs before switching so platform-specific rules still see the original host. If the link comes out identical, tdy leaves your clipboard alone. If you copy a paragraph that contains links, the links are rewritten in place and the rest of the text is untouched. Rich content such as formatted text from a document, images and files is never touched.

Activity

Activity shows what tdy did over the last week, the last month or this year: links cleaned, split into swapped to a fixer, short link expanded and tracking removed; the platforms it swapped; the tracking parameters it removed most often; and the hours of the day you clean links. Open it from the today line at the bottom of the menu.

Each of your devices counts its own links, and the totals are added up through your iCloud account. Only numbers are kept, never the links. Reset activity at the bottom of the window sets every count back to zero on all your devices. The Recent list is not affected.

  • Widget. Add tdy from the widget gallery on the desktop or in Notification Center. It shows the trackers removed this week and today's and this week's links; the medium size adds a bar for each of the last seven days. Click it to open Activity.
  • Your year with tdy. The button at the bottom of Activity plays the year back as a few cards, one number each, and ends with a summary. Share sends the card on screen as an image. The image is made on your Mac and goes only where you send it.

General

How tdy runs.
Rewrite links on copy

The master switch. Off means tdy reads nothing and changes nothing, but stays in the menu bar so you can turn it back on. Pausing from the menu is the temporary version of this.

On
Launch at login

Starts tdy when you log in. The welcome window offers it on first launch; you can also manage it under System Settings, General, Login Items.

Off
Show link previews

Fetches the title of each cleaned link for the Recent list. Off because it costs one network request per link, made from your Mac to the page or its fixer.

Off
Clean clipboard now

A keyboard shortcut that cleans whatever is on the clipboard right now, in any app. Click the field and press the keys you want. Use it when tdy was paused, when the copy happened in an excluded app, or when you want a link cleaned that tdy skipped.

Not set
Keep recent links

How long the Recent list lives, and how far it travels. Only the links are kept, not the text around them. Until tdy quits holds the list in memory only. On this Mac writes it here, so it is still there next launch. On all your devices also carries it between your own devices through your iCloud account, alongside your settings. The choice applies to all your devices at once.

All devices
Keep providers up to date

Checks the rule server about once an hour for new embed fixers and cleaning rules. The request carries the app version and macOS version, nothing about you. Fixers go up and down all the time, and this is what keeps tdy working without an App Store update. Turn it off and tdy keeps using the rules it last downloaded, plus a bundled copy for offline use.

On
Rule server

Shows when tdy last reached the server and what it holds: the number of platforms, short-link domains, tracking rules and paywall sites. Check now runs a check immediately and reports whether the rules changed, were already current, or could not be fetched.

Status

Transforms

What tdy does to each link.

One toggle per pipeline stage. The defaults are chosen so a fresh install fixes embeds and strips tracking without asking anything of you.

Switch domains

Swap links for embed-friendly mirrors. Per-platform choices are under Providers.

On
Strip tracking parameters

Remove utm_ parameters, fbclid and other tracking junk.

On
Canonicalize (Amazon, eBay)

Trim long Amazon and eBay item addresses to their clean form.

On
Sort query parameters

Alphabetize whatever parameters remain.

Off
Unwrap AMP / redirects

Follow AMP and redirect wrappers through to the real page.

On
Resolve short links

Also expand classic shorteners like bit.ly and t.co. This makes a request from your Mac to the shortener. Platform share links always resolve regardless, because their embeds cannot work otherwise.

Off
Translate posts

Add a language so supported posts come through translated. Pick the language in the row below it.

Off
Bypass paywalls (archive.is)

Open paywalled articles through an archive.is mirror. Applies only to sites on the paywall list, never to every link.

Off

Providers

The platforms tdy can fix, and the fixer chosen for each.

Over 20 platforms, kept current by the rule server; Rule server under General shows the live count. The homepage has the full list.

Per-platform switch

Turn a platform off to leave its links on their original host. Tracking is still stripped.

Per platform
Per-platform fixer

Where more than one fixer exists for a platform, pick the one you prefer from the menu. If your favourite goes down, this is where you switch.

Menu
Custom

Type your own fixer domain for a platform, for example when you host one yourself.

Optional
Add platform

Add a mapping tdy does not know about: a source domain and the domain to swap it for. The two must differ.

Optional

Choices here are stored on your Mac and synced through your iCloud account. They survive rule updates. A served update only changes which fixers are offered, not what you picked.

Targets

Where the clean link gets delivered.
Immediately on copy

Every link is replaced the moment you copy it.

Default
Only for target apps

Your clipboard keeps the original link. Switch to one of the apps on the target list and the clean link is swapped in. Switch away to a non-target app and the original comes back. Return to a target and the clean link comes back again. This continues until you copy something new, which ends the pair.

Option
In a target appfixupx.com/Interior/status/4634…
Anywhere elsex.com/Interior/status/4634…
After a new copywhatever you copied next

Two details worth knowing. If you copy a link while a target app is already in front, it is replaced immediately, since that is where you are about to paste. And the menu bar tile shows the crosshair while a clean link is being held, so you can tell tdy has one ready.

Use this mode when you want the fixed link in chat apps but the original everywhere else, for example in a notes app or a browser address bar.

Excluded apps

Apps tdy never reads from.

tdy never reads the clipboard right after you copy from an app on this list. The default list covers apps where the clipboard is likely to hold something sensitive.

Password managers Apple PasswordsKeychain Access1PasswordBitwardenDashlaneKeePassXCEnpassLastPassStrongbox
Terminals TerminaliTerm2kittyGhosttyWarpAlacrittyWezTermHyper

Add any app you like. A copy within about a second of switching away from an excluded app is also skipped, because the copy may have happened in the app you just left. If tdy cannot tell which app is in front, which can happen during a Space switch or right after unlocking, it skips the copy rather than guessing.

A link copied from an excluded app can still be cleaned on demand with the Clean clipboard now shortcut. A link cleaned that way is not added to Recent.

Ignored sites

Sites whose links tdy leaves exactly as copied.

Links to a site on this list are not touched at all: no tracking removed, no fixer, nothing. A subdomain counts too, so ignoring example.com also covers shop.example.com. Add a site by typing it in, or right-click a link under Recent and choose Ignore.

This is different from turning a platform off. A platform you switch off under Transforms › Providers keeps its links on their own site, but tracking is still removed. An ignored site is left completely alone. Use a platform switch when you don't want the fixer, and Ignored sites when you want tdy to keep its hands off entirely.

The check looks at the link as you copied it. A short link that leads to an ignored site still gets expanded, because finding out where it leads means following it.

Privacy and network

tdy has no account and no analytics, and the App Store label is Data Not Collected. Your clipboard is processed in memory on your Mac and never sent to us. The full policy is on the privacy page. tdy uses the network for four things:

Rule updates

From edge.tdy.app, about once an hour. The request carries the app version and macOS version, and a rotating access token that does not identify you.

Hourly
Share-link resolution

Platform share links are resolved against the platform or its fixer so they can be rewritten. Part of normal operation.

Per link
Short links

Only when Resolve short links is on. The request goes from your Mac to the shortener.

Opt-in
Previews

Only when Show link previews is on. The request goes from your Mac to the page or its fixer.

Opt-in

The optional requests go straight from your Mac to the page in question, never through tdy's servers. Your settings, the activity counts and, when Keep recent links is set to On all your devices, the recent list sync between your own devices through your iCloud account. tdy never sees them.

Troubleshooting

The link did not change

Orange banner in the menu

Clipboard access was denied. Open System Settings, Privacy & Security, and set tdy to Always Allow. The banner has a button that takes you there.

Paused or off

Check the menu for a Paused line, and check that Rewrite links on copy is on under General.

Copied from an excluded app

Password managers and terminals are skipped by default, as is anything copied within a second of leaving one. Use the Clean clipboard now shortcut, or remove the app from the list.

Targets mode is holding it

With Only for target apps selected, the original stays until you switch to a target app. The crosshair in the menu bar means a clean link is waiting.

The site is ignored

Links to a site on your Ignored sites list are left exactly as copied. Remove it from the list in Settings to have them cleaned again.

Rich content

Formatted text from a document, an image or a file is never touched. Copy the plain link instead.

Nothing to change

A link that is already clean, or from a platform switched off under Transforms › Providers, comes out identical and tdy leaves it alone. Unknown platform? Add a mapping under Providers.

The link changed but the embed is still broken

The fixer is down

Embed fixers are community services and go offline. The rule server watches them and drops a dead one on the next hourly check, so run Check now under General. Still broken? Pick another fixer under Providers. Live status of every fixer is at status.tdy.app.

The chat app cached the old preview

Discord and Slack cache previews per link. Sending the same link again shows the cached card. Try another channel or wait a while.

The post is private, age-gated or deleted

No fixer can render what the platform will not serve.

Other things

I wanted the original link

Open the menu and click undo on the link's row under Recent. The original goes back on the clipboard. To keep the original by default in some apps, use Targets mode.

Short links are not expanded

Classic shorteners are only followed when Resolve short links is on under Transforms. Platform share links are always followed.

The keyboard shortcut does nothing

It ships without a default. Set one under General. If it still does nothing, the combination is taken by another app or by macOS. Pick a different one.

tdy is not in the menu bar

Menu bars fill up. Check whether another menu bar utility is hiding it, or hold Command and drag icons apart. If tdy is not running, open it from Applications and turn on Launch at login.

FAQ

Can I clean links without copying them?

Yes. Select text in any app, then choose Services › Clean Links from the app menu or the right-click menu. The links in the selection are cleaned in place, and the clipboard is left alone.

Can I use tdy in Shortcuts?

Yes. Add the Clean Link action in the Shortcuts app. It takes text, cleans every link in it and returns the result, with the same settings as the menu bar. It is the same action as on iPhone and iPad, so a shortcut built on one works on the other.

Does tdy read everything I copy?

No. It asks macOS whether the clipboard probably contains a link, without seeing the content. Only then does it read, and only when it is enabled, not paused, and the copy did not come from an excluded app.

Why does the swapped link point at a different domain?

Chat apps build previews from a page's metadata, and most platforms stopped serving useful metadata. Embed fixers are small services that serve the post's title, image and video in a form chat apps can render, then redirect anyone who clicks through to the real post. Your link still lands on the original post.

Can I turn off the domain swap and keep just the cleaning?

Yes. Turn off Switch domains under Transforms. Tracking parameters are still stripped, AMP is still unwrapped, and short links are still resolved if you have that on.

Does it work with links inside text?

Yes. Every link found in copied plain text is cleaned in place. Rich text is left alone.

How current are the rules?

tdy checks about once an hour when Keep providers up to date is on. The rule server watches every fixer and updates the list on its own, so a dead fixer is replaced without an app update.

Which platforms are covered?

Over 20, listed on the homepage, plus more than 1,300 short-link domains and more than 150 tracking parameters. Providers in Settings shows the live list on your Mac.

Does it need an account?

No account, no login, no email. Rule updates are included with the app.

Something else?

Write to hello@tdy.app with the link you copied and what came out, and we will sort it out.