DSP Watch

Product

Detection, evidence, action — one workflow.

Detection tools like Pex and Audible Magic surface matches but stop at the report. Analytics platforms like Songstats and Chartmetric track charts but never file a takedown. DSP Watch closes the loop: it detects duplicates across 6 DSPs, assembles a §512(c)(3)-compliant evidence package, scores actionability, and routes the takedown through one of 5 adapters — with the counter-notice clock tracked end to end.

Feature 01

Multi-DSP catalog monitoring

DSP Watch monitors 6 streaming platforms continuously and matches against your catalog using three signals: ISRC (sound-recording identifier), UPC (release identifier) and a fuzzy metadata pass that compares title, artist, duration and release date with edit-distance and phonetic normalization.

Audio fingerprinting via AcoustID and a Fly.io-hosted Chromaprint companion is coming in v2 — for today, ISRC/UPC plus fuzzy metadata handles the vast majority of duplicate-upload patterns.

Platform Match strategy
Spotify ISRC + UPC + fuzzy
Apple Music ISRC + UPC + fuzzy
YouTube Content ID + metadata
Tidal ISRC + UPC
Deezer ISRC + UPC
Amazon Music ISRC + UPC

Feature 02

Actionability scoring

Not every match is worth a takedown. DSP Watch ranks every finding with a composite 0–100 actionability score so your rights team can triage the top 5% of cases first instead of slogging through false positives.

The score combines four weighted components: detection confidence, distributor mismatch (is the uploader different from the rights holder's distributor?), evidence completeness (do we have everything §512(c)(3) requires?), and urgency (is the release trending or is the counter-notice clock close to expiring?).

Scoring formula

actionability =
    0.35 * detection_confidence
  + 0.25 * distributor_mismatch
  + 0.25 * evidence_completeness
  + 0.15 * urgency_trigger

# all components ∈ [0, 1] → score ∈ [0, 100]

Findings scoring ≥ 80 are auto-queued for one-click review. Scores 50–79 are flagged for analyst attention. Sub-50 findings stay in the explorer for context but never interrupt the queue.

Feature 03

§512(c)(3)-compliant evidence packages

Every takedown ships with a court-ready PDF that satisfies all six elements of 17 U.S.C. §512(c)(3). The evidence pipeline is engineered for chain-of-custody so the package holds up under counter-notice review and, if required, in litigation.

Hash-chained audit log

Every event (detection, review, signer attestation, submission, response) is appended with a SHA-256 hash that includes the previous event's hash. Tampering breaks the chain.

Signer attestation

The signing rights officer affirms the §512(c)(3) sworn statements at submission time. Attestation is bound to the user, action ID and a UTC timestamp.

MFA freshness

The signer must have re-authenticated with MFA within the last 10 minutes before attestation. Stale sessions are forced to step up.

Content-addressable PDF

The PDF is stored by its SHA-256 content hash. The same bytes always produce the same URL, so recipients can verify integrity independently.

Feature 04

5 built-in takedown adapters

DSP Watch ships with 5 production adapters covering the vast majority of unauthorized-release paths. Each adapter normalizes the submission, attaches the same content-addressable evidence bundle, and captures the recipient's case or claim ID for status tracking.

DMCA Generic

dmca_generic

When to use. Use when a DSP-specific form does not exist, or when the host is a website, blog or cyberlocker.

What it does. Builds a 17 U.S.C. §512(c)(3)-compliant notice with sworn statements, identification of the infringed work, identification of the infringing material, contact information and signer attestation. Delivered by email and recorded in the audit log.

Spotify Content Protection

spotify_form

When to use. Use when an unauthorized release appears on Spotify and you control the master or sound recording rights.

What it does. Fills Spotify's Content Protection web form with the matched track URI, claimant identity, rights basis and evidence bundle URL. Captures the submission ID for tracking.

Apple Music Dispute

apple_form

When to use. Use when an unauthorized release appears on Apple Music or iTunes Store.

What it does. Submits Apple's content dispute form referencing the Apple ID, ISRC and UPC, with the §512(c)(3) evidence PDF attached. Tracks the case number returned by Apple.

YouTube Content ID

youtube_cid

When to use. Use when an unauthorized upload appears on YouTube and you have a Content ID partner account or MCN delegation.

What it does. Files a manual claim via the YouTube Content ID API or a takedown via the standard copyright webform when CID is not available. Logs the claim ID and policy applied.

Distributor Forward

distributor_forward

When to use. Use when the offender uploaded via a known distributor (DistroKid, TuneCore, CD Baby, UnitedMasters, etc.) — fastest path to removal across every DSP at once.

What it does. Routes the evidence bundle to the distributor's rights team using the correct contact channel, with a structured request to revoke distribution. Reaches every DSP downstream in one step.

Feature 05

Multi-tenant workspaces and RBAC

A distributor or rights agency can run dozens of label workspaces under one account. Every row in the database is scoped to a workspace and enforced by Postgres row-level security, so workspace A cannot read workspace B's catalog, findings or actions — period.

5 built-in roles cover catalog ops, rights ops and read-only stakeholders. Roles are assigned per workspace, so the same person can be admin in one workspace and viewer in another.

Role Scope
owner Workspace billing, members, deletion.
admin All settings and members except billing and workspace deletion.
catalog_manager Import, edit and tag releases; no takedown filing.
rights_ops Review findings, file takedowns, manage counter-notice clock.
viewer Read-only access to findings, actions and reports.

Feature 06

Webhooks and REST API

DSP Watch is built to fit inside an existing rights ops stack. Outbound webhooks notify your systems on every state transition; the inbound REST API lets you import catalogs, query findings and file actions programmatically.

Outbound webhook events

  • action.submitted

    Fires when a takedown adapter posts to a DSP, distributor or host.

  • action.acknowledged

    Fires when the recipient returns a case or claim ID.

  • action.resolved

    Fires when the offending release is removed or the claim is closed.

  • action.counter_notice_warning

    Fires at T-3 days before the §512(g) counter-notice clock expires.

REST API — example

POST /api/v1/catalog/releases
Authorization: Bearer dspw_live_…
Content-Type: application/json

{
  "isrc": "USRC17607839",
  "upc": "00602508273476",
  "title": "Midnight Drive",
  "artist": "Neon Lane",
  "release_date": "2024-09-12"
}

Endpoints cover catalog import, findings query (with filters and cursors) and action filing. Full reference ships at /docs/api.

Feature 07

Counter-notice deadline tracking

Under 17 U.S.C. §512(g), once an alleged infringer files a counter-notice the service provider must restore the material in 10–14 business days unless the rights holder files suit. Miss the window and the offending release goes back up.

DSP Watch starts a T-10 business-day clock the moment a counter-notice is recorded, fires the action.counter_notice_warning webhook at T-3 days, and surfaces the deadline in the action timeline so legal can escalate to filing or stand down with the full record intact.

Counter-notice clock

T+0    counter_notice received → clock starts
T+7    action.counter_notice_warning fires
        (3 business days before reinstatement window)
T+10   §512(g) reinstatement window opens
T+14   §512(g) reinstatement window closes

Try it free for 14 days.

Connect a catalog, see real findings in the first scan, and ship your first §512(c)(3)-compliant takedown before the trial ends.

See pricing