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
| Obligation | Detail |
|---|---|
| Don't allow uploads from unverified accounts | Wait 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 webhooks | Remove 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 statement | Each 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 signatures | Every webhook is HMAC-signed. Always verify before processing. An unverified endpoint is an open door for spoofed events. |
| Don't store ID documents yourself | Easy2257 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
| Obligation | How |
|---|---|
| Government ID verification | Document 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 retention | Enforced at the API layer: takedowns inside the window preserve the custody record |
| Federal inspection response | We are the COR, so inspectors come to us |
| Mastercard AN 5196 performer consent | Performer-signed model release stored per scene |
| Monthly platform compliance report | Auto-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 persons | Public 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.comrather 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}/deactivateor the portal roster. They come off your next invoice, their records stay in custody for the retention window, andPOST .../reactivatebrings 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-keysand stored in your secrets manager (not committed) - Webhook endpoint registered at
partner.easy2257.com/webhookswith the events you care about. ThecallbackUrlin 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
complianceStatementUrlonGET /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 with403/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.deletedwebhook arrives -
externalContentIdalways sent onPOST /content. Without it you cannot issue takedowns later. -
accountIdpersisted against your user record. Every later call needs it, and it is the id you hand law enforcement. - Idempotency verified: replay
POST /v1/solo-accountsfor the sameexternalUserIdand confirm you handle thestatus: "active"response (existing-user path) -
409states handled, and told apart: confirm your content-logging code switches oncode, not on the status.CONSENT_PENDINGandCONSENT_DECLINEDmean "creator not ready", so hold and retry.uploader_not_solo_activemeans 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
- Solo Creator Guide: single-performer integration
- Productions Guide: multi-performer + JWT certificates
- Quickstart: 15-minute working integration
- Partners Guide: the referral program, for affiliates rather than platforms
- Affiliate Terms: full commission terms