generated: '2026-07-19' method: searched sources: - https://docs.leena.ai/docs/external-aop-api-authentication-usage-guide - https://docs.leena.ai/docs/audit-logs-external-api-authentication-usage-guide-beta - https://docs.leena.ai/docs/leena-ai-mcp-server - https://trust.leena.ai/ summary: >- Standards conformance for Leena AI's external API surface. The strong results are on the agent-interoperability side — Leena AI implements both MCP and A2A as first-party hosted protocols — and on the compliance side, where it holds a broad named certification set. The weak results are the HTTP-API hygiene standards: no RFC 9457 problem details, no RFC 8414 authorization server metadata, no RFC 8594 sunset headers, no idempotency. standards: - id: oauth2 name: OAuth 2.0 (RFC 6749) conforms: true evidence: >- Resource owner password credentials grant with client_secret_basic client authentication; Bearer access tokens with refresh tokens and expires_in 3600. source: https://docs.leena.ai/docs/external-aop-api-authentication-usage-guide note: >- Uses the password grant, which RFC 9700 (OAuth 2.0 Security Best Current Practice) deprecates. See rfc9700 below. - id: rfc6750 name: OAuth 2.0 Bearer Token Usage (RFC 6750) conforms: true evidence: 'Access token sent as `Authorization: Bearer `.' - id: rfc9700 name: OAuth 2.0 Security Best Current Practice (RFC 9700) conforms: false evidence: >- RFC 9700 says the resource owner password credentials grant MUST NOT be used. Leena AI's documented and only published flow for its external APIs is the password grant, requiring the integrator to hold a username and password in addition to client credentials. No authorization code + PKCE flow is documented for the external APIs. - id: rfc8414 name: OAuth 2.0 Authorization Server Metadata (RFC 8414) conforms: false evidence: >- /.well-known/oauth-authorization-server returns 404 on acl.leena.ai and us-east-1-acl.leena.ai (probed 2026-07-19). - id: oidc name: OpenID Connect Discovery conforms: false evidence: >- /.well-known/openid-configuration returns 404 on all probed hosts. Leena AI does document Okta as a platform SSO integration, but exposes no OIDC discovery of its own. - id: rfc9457 name: Problem Details for HTTP APIs (RFC 9457) conforms: false evidence: >- Errors are a plain JSON object with a `message` string; no application/problem+json, no `type`/`title`/`detail`/`instance` members. detail: errors/leena-ai-problem-types.yml - id: rfc9116 name: security.txt (RFC 9116) conforms: true evidence: >- https://leena.ai/.well-known/security.txt returns 200 with Contact, Expires, Policy, Preferred-Languages and Canonical fields; Expires 2027-05-27 is in the future. detail: security/leena-ai-vulnerability-disclosure.yml - id: rfc8594 name: Sunset HTTP Header (RFC 8594) conforms: false evidence: No Sunset or Deprecation header support and no deprecation policy published. detail: lifecycle/leena-ai-lifecycle.yml - id: rfc9727 name: api-catalog well-known URI (RFC 9727) conforms: false evidence: /.well-known/api-catalog returns 404 on leena.ai (probed 2026-07-19). - id: idempotency name: Idempotency keys for unsafe HTTP methods conforms: false evidence: >- No idempotency key header is documented on POST /api/v1/external/aop/execute, the side-effecting operation that starts an agent run. detail: conventions/leena-ai-conventions.yml - id: pagination name: Cursor pagination conforms: true evidence: >- GET /external/v1/audit-logs implements opaque base64 cursor pagination with nextCursor/hasMore and a stable ascending (updatedAt, _id) sort, suitable for incremental sync. - id: openapi name: OpenAPI description conforms: false evidence: >- Leena AI publishes no machine-readable OpenAPI/Swagger definition. Probed /openapi.json, /openapi.yaml, /swagger.json on docs and API hosts — all 404 (2026-07-19). The specs in openapi/ are generated by this pipeline from the published prose documentation. - id: mcp name: Model Context Protocol conforms: true evidence: >- First-party hosted MCP server, enabled per tenant, OAuth 2.0 secured, exposing send_message, request_details and cancel tools. detail: mcp/leena-ai-mcp.yml - id: a2a name: A2A (Agent-to-Agent protocol) conforms: true evidence: >- A2A endpoint of the form .../a2a/bots/{bot_id}/rpc, OAuth 2.0 secured, documented as interoperating with Microsoft Copilot Studio, IBM watsonx Orchestrate, Salesforce Agentforce and ServiceNow. detail: mcp/leena-ai-mcp.yml - id: llmstxt name: llms.txt conforms: true evidence: >- https://leena.ai/llms.txt and https://docs.leena.ai/llms.txt both return 200 (2026-07-19); the docs variant is a full curated link index of the documentation. - id: asyncapi name: AsyncAPI conforms: false evidence: >- No event, streaming or outbound-webhook catalogue is published for consumers. Leena AI's documented webhook support is inbound-connector configuration (Leena calling customer systems), not a subscribable event surface, so no AsyncAPI is asserted. - id: scim name: SCIM conforms: false evidence: No SCIM provisioning endpoint is documented. - id: soc2 name: SOC 2 Type 2 conforms: true evidence: Named on the trust center; report available on request. detail: security/leena-ai-trust-center.yml - id: iso27001 name: ISO/IEC 27001 conforms: true evidence: Named on the trust center, alongside ISO/IEC 27017, 27018 and 27701. detail: security/leena-ai-trust-center.yml - id: hipaa name: HIPAA conforms: true evidence: Named on the trust center. - id: fedramp name: FedRAMP conforms: partial evidence: >- Trust center names "FedRAMP Certified Class C". This is not standard FedRAMP authorization language (FedRAMP uses Low/Moderate/High impact levels and JAB/Agency ATOs), so the claim is recorded verbatim without being interpreted as an ATO. - id: gdpr name: GDPR conforms: true evidence: Named on the trust center with a published subprocessor list.