SDK

Drop in the SDK. Integrate your pipeline.

Groovian is SDK-first. Identity values are OPRF-blinded client-side inside the SDK before any network call, so plaintext never leaves your environment. The SDK handles cryptography, normalisation, transport, and retries. You pass raw values in, screen results come out.

ready Sample Live pipeline
02 wire payload · what Groovian receives
03 response

SDK methods

Four methods for your workflow.

$client->screenIdentity()

Screen Identity

Check a person or company against the fraud network before onboarding them. Pass raw identity values into the SDK; OPRF blinding happens client-side.

  • Raw inputs in: email, phone, name, payout, company
  • OPRF-blinded inside the SDK; only opaque tokens go on the wire
  • Returns match, risk_score, signal_count, severity, signals[]
$client->screenContent()

Screen Content

Verify ISRCs and UPCs against known fraud signals before distribution. No OPRF needed since content identifiers are not PII.

  • Check ISRCs, UPCs, and Spotify URLs
  • Returns matched signals with severity and fraud type
  • Cross-references against the entire network
$client->bulkScreen()

Bulk Screening

Screen up to 100 items in a single round-trip for high-volume pipelines. Mix identity and content checks. Ideal for batch ingestion.

  • Up to 100 items per request
  • Mix identity and content checks in one round-trip
  • Single OPRF batch per call, individual risk scores per item
$client->submitSignal()

Submit Signal

Report fraud programmatically from your internal moderation tools. Same submission pipeline as the dashboard, scripted.

  • Structured fraud reports with evidence
  • All nine fraud types and four severity levels
  • Automatic cross-org matching on submission

Response format

Simple, structured responses.

Every API response returns a clear risk assessment with match data, risk scores, and linked signal details. Integrate the results into your existing decision-making pipeline: approve, flag for review, or reject automatically.

match
boolean. true when entity is in the network
risk_score
0 to 100. composite cross-org confidence
signal_count
integer. distinct signals matched
severity
low | medium | high | critical
response.json Sample 200 OK
{
  "match": true,
  "risk_score": 72,
  "signal_count": 5,
  "severity": "high",
  "signals": [
    {
      "case_type": "stolen_content",
      "severity": "high",
      "distributor_count": 3,
      "first_reported": "2025-08-14"
    }
  ]
}

Available languages

One install. Plaintext stays home.

Official SDKs in every major language. The SDK is the only way to talk to Groovian: it owns the cryptography, the normalisation, the transport, and the retries. You pass raw identity values; only blinded group elements ever leave your process.

  • RFC 9497 OPRF (P256_SHA256), client-side blinding
  • Normalisation built in (email, phone E.164, name, company)
  • Single OPRF round-trip per call, batched in bulkScreen()
  • Strictly-typed request/response DTOs, framework-agnostic core
install.sh PHP example
# 1. install
$ composer require groovian/client-sdk-php

# 2. screen identity (raw values in, tokens out)
$client->screenIdentity(new ScreenIdentityRequest(
  email:   'alice@example.com',
  phone:   new Phone('1', '(415) 555-0100'),
  name:    'Alice Smith',
));

# 3. result
$result->match;          // true
$result->riskScore;      // 72
$result->signals;        // Signal[]

Build on top

Where to wire Groovian into your stack.

Six places to call the SDK in a music distributor or DSP pipeline. Mix and match. Groovian sits behind your existing systems, not in front of them.

01
Onboarding

Customer signup screening

Screen identity (name, email, phone, payout, company) the moment an artist or label account is created. Fail registration outright, route to manual review, or accept based on the risk score.

Trigger: POST /signup
02
Distribution

Release intake gate

Auto-screen every ISRC, UPC, artist name, and label name before a release reaches your distribution pipeline. Block known bad actors at the door, hold borderline cases for review, accept clean ones automatically.

Trigger: release.submitted
03
Audit

Nightly catalogue re-screen

Run a scheduled job that batch-screens your existing catalogue against the network's latest signals. Surface previously-clean accounts that have since been flagged elsewhere. Pull suspect content before DSPs do.

Trigger: cron, nightly
04
Payouts

Royalty pre-flight

Screen identity and payout details before each royalty payment. Block transfers to bad actors who slipped through earlier checks. The cheapest place to catch a fraudster is right before money moves.

Trigger: payout.pending
05
Reviewer tools

Admin dashboard lookups

Embed the SDK in your fraud reviewer admin tools. Type an artist, ISRC, email, or bank detail and pull full match history, corroboration counts, and signal evidence on demand.

Trigger: reviewer query
06
Bulk + alerting

Banlist sync & corroboration alerts

Push your existing internal banlist into the network in bulk. Receive webhook callbacks (coming soon) when other partners corroborate one of your signals so your reviewers can prioritise.

Trigger: bulk-screen + webhook

Integration

Built for your stack.

Auth

API Key Auth

Generate and rotate keys from your dashboard. The SDK reads the key from your environment; track usage and control access at the organization level.

Privacy

OPRF Blinding

RFC 9497 P256_SHA256. Identity values are blinded client-side inside the SDK; only opaque group elements reach Groovian. Plaintext never leaves your environment.

Latency

Real-time Results

Sub-second response times for single screenings. Bulk methods optimised for throughput without sacrificing accuracy.

Access

Get SDK access.

Talk to our team to get your API key and the SDK for your stack. Start screening fraud at the point of ingestion.