Easy2257
Guides

Platforms

What it means to integrate as an Easy2257 partner platform: your obligations, our obligations, and the economic model.

This guide is for the business side of integration: who you are vs. who Easy2257 is in the eyes of 18 U.S.C. § 2257, what you owe each other, and what the integration costs.

The deal in one sentence

Easy2257 becomes the Custodian of Records for every creator who onboards through your integration. Your platform never stores government IDs, never responds to inspection requests, and never has a physical records office. A platform integration is a paid agreement rather than a revenue share: see the economic model below, and note that no referral commission accrues on your own creators (the 25% affiliate program is for link-referral affiliates, which is a different relationship: see the Partners guide).

Your obligations as a partner platform

ObligationDetail
Don't allow uploads from unverified accountsWait for solo_account.verified (Solo Creator) or collab_scene.greenlit (Productions) before unlocking content. The intermediate subscribed_pending_id status is not "verified".
Honor takedown webhooksRemove content from your CDN within 48 hours of content_log.deleted (TAKE IT DOWN Act), and by the removalDeadline carried on production.takedown_requested (48 hours, 72 hours, or 7 business days depending on the legal basis of the request).
Display the 2257 statementEach producer has a public page at https://easy2257.com/producer/{slug}/2257-statement. GET /api/v1/solo-accounts/{accountId} returns the finished URL as complianceStatementUrl once the account is active and the creator has published that page, so you never construct the slug yourself. Link to it from every content page that contains the producer's content. Footer placement is conventional.
Verify webhook signaturesEvery webhook is HMAC-signed. Always verify before processing. An unverified endpoint is an open door for spoofed events.
Don't store ID documents yourselfEasy2257 is the COR. Store the accountId we return and refer law enforcement to Easy2257 with that ID.

That last row costs you nothing to comply with, because the Partner API never returns identity data in the first place. No endpoint returns a legal name, a date of birth, an ID image, or a linked Easy2257 user id. The whole identifier surface you hold is the opaque accountId plus your own externalUserId. The single exception is deliberate and symmetric: on a collab scene you created, the read echoes back the performer addresses you supplied when you created it. A partner that only publishes somebody else's scene receives counts, never the roster. Sensitive material that never reaches your database can never leak from it.

What Easy2257 handles for you

ObligationHow
Government ID verificationDocument authenticity check plus biometric face match against the submitted ID
Records organisation and cross-reference (28 CFR 75.2(a)(3))Kept per creator inside that creator's Easy2257 record; every POST /content entry is logged against the creator's verified identity
7-year retentionEnforced at the API layer: takedowns inside the window preserve the custody record
Federal inspection responseWe are the COR, so inspectors come to us
Mastercard AN 5196 performer consentPerformer-signed model release stored per scene
Monthly platform compliance reportAuto-generated on the 2nd of every month for platforms with a published 2257 statement, nil reports included; creators on producer plans also receive the per-producer acquirer report
Removal portal for depicted personsPublic unauthenticated intake at easy2257.com/report/removal

Economic model

A platform deal has two parts, set per deal:

  • A flat monthly platform fee, quoted from your creator volume. It covers the platform-only goods: Easy2257 named as custodian of records on your platform's 2257 statement, roster visibility, the removal portal, records production on demand, and inspection handling, with notice to you of an inspection request where the law allows. There is no setup fee and no per-seat license.
  • Who pays for your creators, set in your agreement. Either your creators subscribe to Easy2257 directly at the per-creator custody rate your deal names, with checkout on easy2257.com rather than your platform; or your platform funds them, in which case no creator ever sees a payment screen and the per-creator charge is added to your own monthly invoice, in arrears, for the creators you covered during the month that just closed. Either way the per-creator rate is a custody price, not a verification fee: Easy2257 holds the record set for the seven-year window, publishes the statement, and produces records on demand. The annual option on the public pricing page belongs to a different, direct-signup plan that the partner flow never touches.
  • Deactivate and reuse. When your platform funds its creators, a creator who goes quiet can be taken off your roster with POST /api/v1/solo-accounts/{accountId}/deactivate or the portal roster. They come off your next invoice, their records stay in custody for the retention window, and POST .../reactivate brings them back on the record already held, with no new verification.
  • Commission. The 25% affiliate program is for link-referral affiliates. A platform integration under a platform agreement is governed by that agreement, and no referral commission accrues on your own creators' payments.

Both the fee and the per-creator rate are quoted per deal against your creator volume, so ask rather than reading a number off the public pricing page: that page prices direct signups, not platform agreements.

Affiliate terms, for link-referral affiliates: easy2257.com/affiliate-terms.

Pre-launch checklist

Run through this before flipping the switch in production:

  • Live API key generated at partner.easy2257.com/api-keys and stored in your secrets manager (not committed)
  • Webhook endpoint registered at partner.easy2257.com/webhooks with the events you care about. The callbackUrl in your API calls does not register anything: an integration without a portal endpoint receives no events at all.
  • Webhook signature verification implemented and proven with the portal's test button, which sends a real signed test.ping
  • Event dedupe keyed on event.id, not on the signature timestamp (retries are re-signed with a fresh timestamp)
  • 2257 statement link added to your content page footer, taken from complianceStatementUrl on GET /api/v1/solo-accounts/{accountId} rather than assembled by hand
  • First end-to-end pass run against production with addresses you control. There is no sandbox, and ez_test_* keys are rejected with 403 / TEST_MODE_UNAVAILABLE. Every call writes a real record and can send real email, so rehearse with your own mailboxes, then DELETE the content you logged.
  • Takedown flow tested end-to-end: log a piece of test content, call DELETE, confirm the content_log.deleted webhook arrives
  • externalContentId always sent on POST /content. Without it you cannot issue takedowns later.
  • accountId persisted against your user record. Every later call needs it, and it is the id you hand law enforcement.
  • Idempotency verified: replay POST /v1/solo-accounts for the same externalUserId and confirm you handle the status: "active" response (existing-user path)
  • 409 states handled, and told apart: confirm your content-logging code switches on code, not on the status. CONSENT_PENDING and CONSENT_DECLINED mean "creator not ready", so hold and retry. uploader_not_solo_active means their Easy2257 account has stopped being active, so retrying never clears it and the creator has to go back through onboarding. Treating all three as one retryable state is the mistake this row exists to catch

Reference

On this page