Slurp Details for nerds The engineering behind Slurp

Under the glass.

A link goes in. A file lands on your Mac. Between those two moments, Slurp brings together native macOS code, specialist media engines, browser-assisted discovery and a compatibility system that can evolve between app releases.

The connected stack
01

InterfaceSwiftUI · AppKit

02

Discoveryyt-dlp · Streamlink · WebKit

03

Media processingFFmpeg · FFprobe

04

Site repairLangGraph · local AI · verification

05

RenderingMetal · extended dynamic range

One connected workflow.

01 / The media pipeline

From a link to a local file.

Websites expose media in different ways: a direct file, separate video and audio streams, a segmented playlist, or a player assembled by JavaScript. Slurp turns those different sources into a consistent set of choices.

Follow the signal

Explore a media path.

01 / Source

Video page

On-demand media

yd

yt-dlpFormats & metadata

sl

StreamlinkLive-stream discovery

wk

WebKitPage & player discovery

02 / Discovered

Available formats

Video, audio & subtitles

One source, a set of choices.

yt-dlp extracts the media and format information. Slurp brings those options into its native quality and format controls.

Your selectionFFmpeg + SlurpDownload · merge · remuxA file on your MacReady in History
yd

yt-dlp finds the formats.

Site extractors discover video, audio and metadata across a broad range of sources. Slurp translates those results into its own download model.

sl

Streamlink handles live media.

Once Slurp confirms that a source is live, Streamlink provides the stream discovery and recording path. An on-demand video keeps its download workflow.

ff

FFmpeg brings the file together.

Separate audio and video can be merged, media can be remuxed into a container, and audio can be extracted. FFprobe supplies media inspection alongside it.

wk

WebKit runs the page.

For supported browser-assisted paths, Slurp can load the page and discover media that becomes available after its JavaScript has run.

These diagrams show representative paths; the exact route and processing depend on the source and selected output. Media travels from the source to your Mac, where Slurp processes and saves the finished file.

02 / Browser-assisted discovery

Sometimes, the page is part of the pipeline.

A modern video player can build its media requests only after the page loads. Slurp has two ways to bring that browser context into the download workflow.

Inside Slurp

A temporary WebKit session.

Supported resolution paths open the page in an isolated browser environment, run its JavaScript and look for usable media. Temporary sessions use a nonpersistent data store.

From your browser

The page you’re already viewing.

The companion scans the page you explicitly send to Slurp and passes useful page, media and session information to the local app. Slurp uses that context when it helps resolve the download.

SafariEmbedded Safari Web Extension
Chrome / EdgeManifest V3 + native messaging
FirefoxShared companion logic + Firefox bridge
Slurp on your MacPage context joins the same discovery, format selection and download workflow.

The companions share a core interface and media-scanning logic. Assistance is tied to the page you choose to send; ordinary links can go straight into Slurp’s URL field.

03 / A system that keeps up

Compatibility has its own release cycle.

The native app, its download engines and its site rules do different jobs. Slurp can update those layers separately, so a focused site adjustment can reach the app between full releases.

01

The native app

Signed & notarized release

The interface, queue, browser integration and media workflow.

SwiftUI + AppKitSlurp servicesmacOS integration
02

Media engines

Separate engine updates

Fresh extraction and live-stream logic, verified before use.

yt-dlpStreamlinkVerified fallback
03

Site compatibility

Focused, signed updates

Rule packs configure capabilities already in Slurp. Separately verified extractor components can add narrowly scoped extraction logic for a specific site and engine.

Versioned rulesSandboxed componentsEd25519 + SHA-256
A few things a site rule can describe

Small instructions for a specific source.

URL canonicalization
Turn a shared link into the stable address for that media item.
On-demand classification
Identify a provider’s HLS media as a finite video, so it follows the download path.
Browser-assisted discovery
Select an existing browser resolution path when the provider needs it.

Compatibility packs use Ed25519 signatures and SHA-256 checksums, verified with CryptoKit before installation. Slurp keeps the current pack, the previous verified pack and a bundled fallback.

04 / LangGraph repair pipeline

From a failed download
to a verified repair.

A failed download becomes a repair case when you choose to share a public link. LangGraph coordinates investigation, proposals, testing and release decisions. Qwen runs on Slurp-operated hardware; independent tools check the actual media before an eligible change can be signed and delivered.

LangGraphLocal Qwen inferenceIndependent verificationControlled release
Follow a repair

One workflow. Two kinds of change.

01

Download fails

Optional report & public link

02

Check the source

Public access & exact page

03

Reproduce it

Try the current download path

04

Investigate

Gather evidence & propose

RULE PATH

Adjust an existing capability.

A small data-only rule can change URL handling, video classification or selection of a supported public player.

Validate the ruleTest the download
EXTRACTOR PATH

Change the extraction logic.

When a rule is not enough, the worker can propose one site’s extraction method. Code checks and independent media tests come before developer review.

Check code & mediaReview & fresh tests
Verify

Check the actual download.

Original media · full decode · regressions

Authorize

Authorize the exact change.

Fresh evidence · required approval · release checks

Deliver

Sign and deliver.

Versioned rule pack or reviewed code component

Test fails → investigate again.

Eligible failures carry trusted test feedback into the next proposal. Rule repairs allow up to three distinct candidates; repeating a failed candidate stops the attempt.

Confirmed publication → optional reporter notificationMissing evidence or exhausted retries → needs attention
RULE PATH

Small change. Full verification.

For example, a finite HLS video may need on-demand classification instead of live-stream treatment. A rule selects a capability already in Slurp. It still has to produce the intended media and pass independent checks before release.

Selected routeArchitecture explorer · illustrative pathsEvery code component requires developer approval
01 / Independent verification

A complete file.
Then more tests.

Rule verification checks the original failure, the intended download and full media decoding. At least two other pages from the same provider and three unrelated sites must also pass regression checks.

Pinned tools · original content · regression coverage
02 / Bounded iteration

A failed test can guide
the next attempt.

Where a retry is permitted, the rejected candidate and failed checks become context for another proposal. Recent related incidents can inform future cases. References are retested before they count as passing evidence.

Trusted feedback · distinct candidates · explicit stops
03 / Controlled release

Verified. Reviewed.
Then signed.

Every generated code component and risky rule change requires owner approval. Verification and any required approval must still apply to the exact change being released.

Exact candidate · fresh evidence · signed delivery
Look closer

The engineering choices behind those steps.

How the workflow remembers and resumesQueue ownership · checkpoints · feedback

Repairs branch, retry and pause for human decisions. LangGraph makes those transitions explicit through typed state and conditional routes. Durable checkpoints preserve a decision while fresh tools re-establish the evidence needed to continue.

Cloud / Cloudflare D1

Own the case and the lease.

The backend retains reports, queue status and worker leases. It records owner decisions and release eligibility, and handles opted-in notifications.

Slurp-operated Mac / local worker

Investigate and verify.

Qwen proposes bounded JSON changes. Trusted adapters control the browser, download tools, verification and signing. SQLite stores safe workflow state; it is not a second job queue.

01 / Durable decisions

Remember the decision.
Refresh the evidence.

Private SQLite checkpoints preserve safe workflow state across an owner wait. A continuation re-derives leases and runtime evidence. Checkpoints expire within seven days.

Synchronous checkpoints · fresh lease · fresh retest
02 / Bound to evidence

Approval has
a precise identity.

Original-source, base, candidate and evidence hashes bind the reviewed proposal. Changed input, expired evidence or a failed recheck stops the release.

Typed state · SHA-256 bindings · owner authority
03 / Explicit failure routes

A stop is
a useful outcome.

Retries have limits. Resource and access failures route to attention. An uncertain publication keeps its durable replay fence and requires reconciliation.

Bounded retries · per-attempt audit · replay protection

What the next attempt learns.

Within a repair, failed checks are passed back with the rejected candidate. Across cases, the backend can supply recent incidents from the same host; confirmed cases can nominate regression pages. Those pages need fresh tests. This is retrieved context and reviewed workflow improvement; it does not train Qwen’s model weights.

The live worker currently uses a non-thinking Qwen profile. Reasoning-enabled profiles are evaluated separately. A model answer or thinking trace cannot substitute for independent verification.

How extractor code stays confinedChild process · scoped proxy · checked outputs
On your Mac / execution boundary

The sandbox travels with the code.

The signed component supplies extraction logic. Slurp supplies the controller, host policy, tools and output handling.

  1. App-owned controller

    Prepare the inputs.

    Verify the signature and runtime pins. Broker fresh, anonymous player evidence for the exact page.

  2. Default-deny OS sandbox

    Run the site method.

    A separate child process gets a disposable workspace and a scoped network proxy. Its timeout and resource limits are fixed by Slurp.

    Public site + observed media hosts
  3. App-owned output checks

    Return validated formats.

    Validate media URLs, headers and measured formats. The trusted transfer path writes the user-selected output; generated code does not run there.

Network
Generated-code traffic must use the proxy. It accepts only the component’s site hosts and media hosts observed for that page, and rejects private, loopback and link-local addresses. Direct sockets cannot bypass it.
Files & processes
Personal file contents and arbitrary executables are denied. The sandbox can inspect file metadata, read bundled dependencies and required system libraries, use its own scratch files, and run the pinned runtime plus approved ffprobe and QuickJS helpers.

Isolation uses a macOS sandbox profile applied to subprocesses. There is no separately entitled XPC extractor service. The anonymous browser and trusted media transfer have separate network scopes; the site-host restriction above applies to generated-code execution.

What must happen before a releaseOwner authority · code checks · signing and recovery
Release policy / who approves what

One review gate. Explicit lanes.

Owner review is shared by rule and code repairs. Every generated extractor component passes through it; approval never expands its runtime permissions.

Repair lanes and their authority
Repair laneRelease decisionWhat it can change
Existing-site rule
Established scope
Eligible for automationOnly after independent checks and the backend release gate.Data-only settings for existing capabilities, such as browser impersonation or on-demand classification. No new executable code.
Risky rule
New host, URL mapping or player selection
Owner approval + fresh retestThe exact rule and evidence are bound to the decision.Validated site scope, canonical URL mapping or selection of an existing public-player path. No new executable code.
Extractor component
Generated extraction logic
Always owner approval + fresh retestBefore component signing and delivery.One scoped extraction method using allowlisted helpers, within the Mac runtime boundary above.
04 / Code checks before signing

Check the code.
Then the result.

The compiler checks one extraction method against an AST allowlist. New imports, dynamic execution, direct file, process and socket access, and unsupported calls are rejected. Trusted code supplies fixed imports and host matchers. Verification recompiles the same artifact and tests isolation, site scope, original media and regressions. Dynamic destinations are constrained by the runtime proxy.

Compiler policy · exact artifact · runtime enforcement
05 / Public-link investigations

Your link.
Your sharing choice.

Only share public pages that work without sign-in. When you choose to include a link, a Slurp-operated computer may open the page and temporarily download media to reproduce the problem and test a fix. The investigation uses a fresh anonymous browser session.

Explicit sharing · public sources · bounded retention
06 / Withdrawal & key recovery

Stop delivery.
Restore trust.

With a trusted key, a newer signed feed can withdraw a bad component or deliver a verified replacement. Macs stop selecting withdrawn code when they fetch and accept that update. A leaked signing key requires stopping delivery and recovery through a separately trusted, signed and notarized app release, with a new component key and reset or namespaced cache state. Offline Macs can retain installed code; feed expiry alone does not remove it.

Signed withdrawal · app recovery · explicit offline limits
Privacy is part of the state model

Graph checkpoints contain identifiers, hashes, finite status labels and audit timestamps. Raw media links, report text, access tokens and signing material stay out of that saved state. Sharing a report or link, receiving fix notifications and sending retry feedback remain user choices. LangGraph runs in the support repair worker; normal downloads stay in the native Mac app.

Explore site fixes
05 / Native Mac engineering

At home on your Mac.

SwiftUI builds the interface. AppKit connects it to macOS windows, menus and system behaviour. The media engines run behind that interface, coordinated by Slurp’s own services.

SwiftUI + AppKit

A shared native workflow.

Analysis, format selection, the queue and history are part of one Mac app. Apple silicon and macOS 14 or later provide the platform for its graphics and system integration.

Persistent local state

The queue remembers.

Download history and unfinished queue state live on your Mac. Slurp writes queue snapshots atomically, including the paused state, so the workflow can continue across app launches.

Keychain + CryptoKit

Local licence verification.

Activation stores a signed entitlement in Keychain. Slurp verifies its Ed25519 signature locally, allowing a verified perpetual licence to work offline between online validations.

06 / The rendering

The pixels get their own engineering.

Paste a link, start an analysis or watch a download progress. Slurp gives those moments a shared visual language: native materials, animated light and highlights that can use your display’s extended dynamic range. Explore the materials and URL renderer below.

Appearance
Native macOS materials

Depth, without distraction.

The colours of your desktop soften into Slurp’s window and sidebar. Layered surfaces keep the controls clear, in light or dark.

Try the desktop colours above.
Metal

Light drawn on the GPU.

The native URL renderer draws its animated perimeter with Metal. Paste and analysis have distinct motion, while the download progress effect carries the same visual language into the queue.

Extended dynamic range

Room above ordinary white.

When the display has available headroom, selected highlights can extend above SDR white. The app’s Highlights setting previews the brightness directly, from Subtle to Vivid.

macOS preferences

Adapted to your display.

Slurp follows appearance and accessibility preferences, including Reduce Motion and Reduce Transparency. SDR rendering keeps the effects available on ordinary displays.

Interface previews based on Slurp 1.0.13. Slurp follows your Mac’s appearance and accessibility preferences.

07 / Built with good tools

Standing on some excellent shoulders.

Slurp includes and builds on open-source projects including yt-dlp, Streamlink and FFmpeg. The notices page lists the software and licence material shipped with the app.

Enough nerding out?

Give Slurp a link.

Buy the individual licence once for €19.99, or try every feature free for 7 days.

See purchase optionsDownload free trial
Apple silicon M1+ · macOS 14+ · No card needed for the trial