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
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