Skip to main content

CPNI (FCC U.S. Telecommunications)

Customer Proprietary Network Information (CPNI) is the data a telecommunications provider collects while delivering service — call detail records, line usage patterns, and customer-billing information. The FCC’s CPNI rules (47 CFR §64.2001–§64.2011) control how that data may be used for marketing, approved by customers, and certified annually. If you use Orbit’s US voice or SMS surfaces and your organization acts as a telecommunications carrier toward your downstream customers, these rules apply to you. Orbit gives you the register to record the consent decisions and certifications the rules call for. All endpoints below are rooted at https://api.orbit.devotel.io/api/v1/compliance/cpni.
Orbit records and attests compliance evidence — it does not by itself make your use of CPNI lawful, and this page is not legal advice. You remain responsible for delivering customer notices and for any filings you certify.

Orbit’s role: tenant-owned record-keeping

CPNI compliance is a control you own. Orbit maintains the auditable register — the §64.2007/§64.2008 marketing-use consent decisions and the §64.2009(e) annual certification wheel — but it does not mandate or enforce those steps. You decide when notices go out and whether you adopt opt-in (§64.2007(c)) or opt-out (§64.2007(b)(1)) approval; Orbit records whatever you decide and computes which customers currently permit marketing use. Two things Orbit deliberately never does:
  • Customer notices. The §64.2008 notice-and-approval notices are sent between you and your customer, out-of-band. Orbit attests that a notice was given — it never sends a notice for you.
  • Direct law-enforcement notification. On a CPNI breach, the §64.2011 USSS/FBI notification duty falls to you outside Orbit; the count of those notifications belongs on your annual certification.
  • Out-of-band filings. Filing with the FCC (EB Docket 06-36) is a step you take with the Commission; Orbit records the filing reference and timestamp.
That boundary keeps the register accurate: it attests what happened, and it never pretends to deliver what it cannot.

Reading the register — RBAC

RBAC: reads are open to any authenticated tenant member; writes require an owner or admin role (same pattern as other regulatory controls on the compliance surface, e.g. breach incidents). GET /compliance/cpni returns the combined posture — the consent summary plus the certification summary — in one call. Use it for a dashboard tile or a pre-audit snapshot.

POST /compliance/cpni/consent (admin) records one customer’s current decision. Records upsert by customer_ref — a customer has one current decision at a time. Opt-in approval (express affirmative consent, §64.2007(c)):
Opt-out notice (§64.2007(b)(1), with the 30-day §64.2008(d)(1) window): record status: "pending" with the instant the notice was sent. Once 30 days elapse without an objection, the summary counts the customer as permitting marketing use.
Returns 201 Created with the stored record. A missing customer_ref or an unknown enum returns 422 VALIDATION_ERROR with per-field messages. GET /compliance/cpni/consent lists the register with the summary counts; GET /compliance/cpni/consent/{id} fetches a single record.
A customer can revoke oral approval at any time. Re-posting a new decision for the same customer_ref replaces the current one and returns 200 OK instead of 201.

Running the annual certification

§64.2009(e) requires carriers to certify annually — with an officer’s signature — that their operating procedures ensure CPNI rule compliance. The certification is due with the FCC by March 1 of the following year, and EB Docket 06-36 tracks the filing. The lifecycle has three states: draftcertifiedfiled. 1. Open the certification (admin):
One certification per calendar year. Duplicate years return 409. Returns 201 with the record in draft. 2. Certify (admin) — moving to certified requires the signing officer, their title, the compliance statement, and compliant: true:
3. File (admin) — once you have filed with the FCC yourself, record the filing reference:
Moving straight to filed skips a required certified state and is rejected; an empty patch returns 422. GET /compliance/cpni/certifications lists the certifications with a draft / certified / filed / overdue summary. GET /compliance/cpni/certifications/{id} fetches one.

Exporting the attestation

GET /compliance/cpni/certifications/{id}/attestation produces a self-contained, signed attestation of the certification and its FCC filing timeline — the row you export to your compliance binder.
The filed_within_window flag tells you whether the filing landed before the March-1 deadline; an unfiled certification past the deadline shows in the summary as overdue.

Where CPNI fits in the rest of the compliance surface

  • SOC 2 Controls — the complementary control framework pages on this compliance surface.
  • Consent Management — per-channel messaging consent for contacts (a different register from CPNI’s customer-marketing decisions).
  • Country Requirements — the carrier-registry and sender rules CPNI sits alongside for US traffic.
  • API Reference → Compliance — full request/response schemas (regenerated from the live API).