Caching & Invalidation

How Signal handles preview caching entirely on the sender's device

No server-side cache

Signal fetches previews on the sender’s device, not through a centralized server. There’s no shared cache. Every time someone pastes a URL, their device fetches the page fresh through the privacy proxy.

Updated your OG tags? The next person who shares that URL in Signal gets the new preview immediately. No cache-busting tricks needed.

Preview is embedded in the message

Once sent, the preview data is embedded in the encrypted message. The recipient sees whatever the sender’s device generated at send time. It never updates, since it’s part of the message payload, not a live reference to your server.

No debugger tool

Signal has no preview debugger or cache-clearing tool. No equivalent of Facebook’s Sharing Debugger or Telegram’s @WebpageBot. The only way to test is to paste the URL into a Signal chat.

Testing previews

  1. Open “Note to Self” in Signal
  2. Paste the full HTTPS URL
  3. Wait for the preview to appear below the input field
  4. Check title, description, and image

If nothing appears, check that link previews are enabled: Settings > Privacy > Link Previews.

Cache busting is unnecessary

No server-side cache means no need for ?v=2 tricks or URL shorteners. Just update your tags and the next share picks them up.

Device-level caching

Signal may briefly cache preview data on-device to avoid re-fetching the same URL pasted multiple times in quick succession. Restarting the app or waiting a few minutes clears it. It doesn’t affect other users.