Cardiosense · Authentication Profile

Cardiosense Authentication

Authentication

Cardiosense publishes no developer API and no authentication documentation. The authentication profile below is not derived from an OpenAPI securitySchemes block — there is no OpenAPI — it is read directly from the two OAuth discovery documents the host serves anonymously, plus the authentication block of the public WordPress REST route index.

Cardiosense declares 2 security scheme(s) across its OpenAPI definitions.

CompanyHealthDigital HealthMedical DevicesCardiologyHeart FailureRemote Patient MonitoringWearablesArtificial IntelligenceMachine LearningModel Context Protocol
Methods: Schemes: 2 OAuth flows: API key in:

Security Schemes

oauth2
http
scheme: basic

Source

Authentication Profile

cardiosense-authentication.yml Raw ↑
generated: '2026-08-09'
method: probed
source: https://cardiosense.com/.well-known/oauth-authorization-server
description: >-
  Cardiosense publishes no developer API and no authentication documentation.
  The authentication profile below is not derived from an OpenAPI
  securitySchemes block — there is no OpenAPI — it is read directly from the
  two OAuth discovery documents the host serves anonymously, plus the
  authentication block of the public WordPress REST route index.
docs: null
docs_note: >-
  There is no published auth guide. Everything here came from machine-readable
  discovery documents, not from prose a developer could read.

schemes:
  - id: mcp_oauth2
    type: oauth2
    flow: authorization_code
    applies_to: https://cardiosense.com/wp-json/mcp/mcp-oauth-server
    issuer: https://cardiosense.com
    authorization_endpoint: https://cardiosense.com/oauth/authorize
    token_endpoint: https://cardiosense.com/oauth/token
    revocation_endpoint: https://cardiosense.com/oauth/revoke
    response_types_supported: [code]
    grant_types_supported: [authorization_code, refresh_token]
    code_challenge_methods_supported: [S256]
    token_endpoint_auth_methods_supported: [none]
    bearer_methods_supported: [header]
    scopes: [mcp]
    client_identification: >-
      client_id_metadata_document_supported = true. No RFC 7591 dynamic client
      registration endpoint is advertised, so a client is identified by a URL
      pointing at its own client-ID metadata document.
    observations:
      - PKCE is mandatory in practice — S256 is the only challenge method offered and no client secret method is supported.
      - Public-client only (`none`); there is no confidential-client path.
      - A refresh_token grant is offered, but no token lifetime or rotation policy is published.
      - No id_token / OpenID Connect layer — /.well-known/openid-configuration returns 404.
    evidence:
      url: https://cardiosense.com/.well-known/oauth-authorization-server
      http_status: 200

  - id: wp_application_passwords
    type: http
    scheme: basic
    applies_to: https://cardiosense.com/wp-json/
    description: >-
      The WordPress REST API index advertises Application Passwords as its
      authentication mechanism, authorized at
      https://cardiosense.com/wp-admin/authorize-application.php. This is a
      WordPress platform default rather than a Cardiosense product decision,
      and it gates the CMS content routes and the default MCP server.
    evidence:
      url: https://cardiosense.com/wp-json/
      http_status: 200

anonymous_access:
  - surface: https://cardiosense.com/llms.txt
    authenticated: false
    status: 200
  - surface: https://cardiosense.com/wp-json/ (route index)
    authenticated: false
    status: 200
  - surface: https://cardiosense.com/wp-json/mcp/mcp-oauth-server
    authenticated: true
    status: 401
  - surface: https://cardiosense.com/wp-json/wp-abilities/v1/abilities
    authenticated: true
    status: 401

gaps:
  - No human-readable authentication documentation exists for the MCP surface.
  - No dynamic client registration endpoint, so onboarding an agent client requires an out-of-band conversation with Cardiosense.
  - Token lifetimes, refresh rotation, and scope semantics for `mcp` are undocumented.

x-evidence:
  fetched: '2026-08-09'
  probes:
    - url: https://cardiosense.com/.well-known/oauth-authorization-server
      status: 200
    - url: https://cardiosense.com/.well-known/oauth-protected-resource
      status: 200
    - url: https://cardiosense.com/.well-known/openid-configuration
      status: 404
    - url: https://cardiosense.com/wp-json/
      status: 200