NAIC · Authentication Profile

Naic Authentication

Authentication

NAIC secures its APIs with none, cookie, and saml-oidc-sso across 0 declared security schemes, as derived from its OpenAPI definitions.

InsuranceUnited StatesRegulatorMarket InfrastructureInsurance RegulationProperty and CasualtyLife InsuranceHealth InsuranceProducer LicensingRate and Form FilingRegulatory ReportingStandards BodyModel LawsRegulatory DataOpen Data
Methods: none, cookie, saml-oidc-sso Schemes: 0 OAuth flows: API key in:

Security Schemes

Source

Authentication Profile

Raw ↑
generated: '2026-07-25'
method: searched
source: >-
  Live probes of content.naic.org, api.naic.org, eapps.naic.org, sbs.naic.org,
  services.serff.com and services-beta.serff.com on 2026-07-25, plus the SERFF Technical
  Support Checklist at serff.com.
docs: null
docs_note: >-
  The NAIC publishes no authentication documentation for any machine surface. This profile was
  established entirely by probing. derive-authentication.py was not used because the only
  OpenAPI in this repo is one API Evangelist derived from the live JSON:API index, and it
  declares no securitySchemes — the read surface genuinely has none.

summary:
  types: [none, cookie, saml-oidc-sso]
  api_key_in: []
  oauth2_flows: []
  public_read_without_credentials: true
  self_serve_signup: false
  oauth_metadata_published: false

surfaces:

- name: NAIC Content JSON:API
  host: https://content.naic.org/jsonapi
  audience: public
  scheme: none
  read: anonymous
  evidence: >-
    Anonymous GET returned HTTP 200 application/vnd.api+json on every content collection
    probed (node--article, node--page, node--committee_page, node--state_department_contact,
    taxonomy_term--model_laws, taxonomy_term--states, taxonomy_term--insurance_types,
    taxonomy_term--publications, media--document, node--newsletter, user--user). No API key,
    bearer token, cookie or referer was sent.
  write: closed
  write_evidence: >-
    POST /jsonapi/node/article returned HTTP 401 with detail "No authentication credentials
    provided."; DELETE returned HTTP 405 with "Allow: GET, HEAD, POST".
  credentialing_path: >-
    None published. Drupal would authenticate writes with a session cookie or, if enabled, HTTP
    Basic / OAuth — but no signup, no key issuance and no documentation exist, so the write
    surface is effectively unreachable for third parties.
  caveat: >-
    Because reads are anonymous, there is also no per-caller identity, no quota and no
    revocation. Consumption etiquette is the only control: see the crawl_delay and
    max_requests_per_day the NAIC publishes in llms/naic-llms.txt.

- name: NAIC regulator and industry portals (myNAIC, iSite+, SBS, OPTins, InsData, SERFF Login)
  hosts:
  - https://eapps.naic.org/
  - https://isiteplus.naic.org/
  - https://sbs.naic.org/
  - https://insdata.naic.org/
  audience: partner-only
  scheme: Okta-fronted SSO (SAML / OIDC), interactive browser login
  evidence: >-
    eapps.naic.org returns HTTP 200 for both /.well-known/openid-configuration and
    /.well-known/oauth-authorization-server, but with `content-type: text/html;charset=utf-8`
    rendering the Okta Sign-In Widget 7.35.3 — a catch-all login route, NOT an OIDC discovery
    document. No anonymous OAuth/OIDC metadata is served anywhere on the estate. Re-verified
    2026-07-25.
  self_serve: false
  note: >-
    These are human web applications behind SSO, not delegated-authorization API surfaces. No
    OAuth client registration, no scopes, no token endpoint is exposed to third parties, which
    is why scopes/ is deliberately absent from this repo.

- name: SERFF Web Services (Legacy SPI, Legacy SIS, Modernized Data API)
  hosts:
  - https://services.serff.com/
  - https://services-beta.serff.com/
  audience: partner-only
  scheme: per-integrator credentials issued by the NAIC on request
  provisioning: email wsrequest@naic.org
  evidence: >-
    services.serff.com returns HTTP 403 anonymously at the root. The SERFF Technical Support
    Checklist names the three services and their PROD/BETA environments but publishes no auth
    scheme, no endpoint list, no WSDL and no OpenAPI.
  self_serve: false

- name: api.naic.org
  host: https://api.naic.org/
  audience: internal
  scheme: unknown
  evidence: >-
    Host resolves and answers over HTTP/2 but returns a bare `text/plain` 404 "Not Found" on /,
    /openapi.json, /openapi.yaml, /swagger.json, /v1/openapi.json, /api-docs, /docs, /redoc,
    /graphql, /.well-known/openid-configuration and /.well-known/oauth-authorization-server
    (re-probed 2026-07-25). An internal gateway with no public surface and no advertised auth.

well_known:
  oauth_authorization_server: not published
  oauth_protected_resource: not published
  openid_configuration: not published
  detail: >-
    See well-known/naic-well-known.yml. The only two hosts that answer 200 on a /.well-known/
    OAuth path (eapps.naic.org) serve an HTML login page, not metadata — recorded as a
    false-positive trap rather than as discovery documents.

cross_links:
  conventions: conventions/naic-conventions.yml
  errors: errors/naic-problem-types.yml
  well_known: well-known/naic-well-known.yml
  domain_security: security/naic-domain-security.yml