{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-31T14:51:57.992834+00:00",
  "record_id": "VXI-EXT-ICE13-ADK-SERVICE-ID-TOKEN-AUDIENCE-LIFECYCLE-01-v1",
  "record_kind": "external_reference",
  "title": "ADK service ID-token target and lifetime boundary",
  "system": "Google",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Can an ADK service-account ID token be reused as a general Google API access token?",
  "near_questions": [
    "When should ADK use_id_token be enabled instead of OAuth scopes?",
    "Can an ADK ID token authenticate to a different service URL?",
    "Do ADK service-account ID tokens refresh on a background timer?",
    "Does an ID token prove permission to call every Google API?"
  ],
  "supported_claims": [
    {
      "claim": "ADK distinguishes audience-bound ID tokens for IAM-secured services from scoped access tokens for Google APIs. The documented ID-token path fetches at request time rather than refreshing on a background timer.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence.",
    "Buyer implementation, live runtime enforcement, settled payment, verified deletion or certification are not established.",
    "No expanded capabilities or licences for existing INDEX executables."
  ],
  "public_summary": "ADK distinguishes audience-bound ID tokens for IAM-secured services from scoped access tokens for Google APIs. The documented ID-token path fetches at request time rather than refreshing on a background timer.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "Google ADK: authentication and credential management",
    "source_url": "https://raw.githubusercontent.com/google/adk-docs/97b313e91243af5abaeaa97636689e8d0a7a18dd/docs/tools-custom/authentication.md",
    "checked_on": "2026-10-31",
    "candidate_record_id": "VXI-EXT-ICE13-ADK-SERVICE-ID-TOKEN-AUDIENCE-LIFECYCLE-01-v1",
    "candidate_record_sha256": "f33057fd41d429ec36161e08ca6157cb94906fae0d89026eca5d8c84e25c2026",
    "method": "Primary documentation reviewed for the published bounded statement.",
    "deployment_tested_by_varexis": false,
    "revalidation": "The delivered snapshot preserves the review date shown. Recheck current primary documentation and deployment context before relying on present applicability; payment does not trigger fresh research."
  },
  "answer_policy": {
    "classification": "DOCUMENTED_WITH_DEPLOYMENT_BOUNDARY",
    "bounded_answer": "ADK distinguishes audience-bound ID tokens for IAM-secured services from scoped access tokens for Google APIs. The documented ID-token path fetches at request time rather than refreshing on a background timer.",
    "required_buyer_context": "Token kind and intended audience; Service IAM permissions; Issuance path and installed ADK version. Buyer deployment not inspected.",
    "missing_evidence": "A broader claim needs evidence matching the intended use. Payment does not upgrade the evidence state."
  },
  "private_boundary": "Raw logs, thresholds, private paths, source code, protected mechanisms and reconstruction-level details are excluded from public and paid delivery.",
  "decision_profile": {
    "schema": "varexis-vendor-evidence-review/1",
    "review_status": "documentation_review_only",
    "applicability_status": "Google ADK documentation repository 97b313e91243af5abaeaa97636689e8d0a7a18dd; Python authentication or experimental confirmation scope as stated. Review capture 2026-10-31. Buyer deployment not inspected.",
    "checked_on": "2026-10-31",
    "claim_to_check": "Can an ADK service-account ID token be reused as a general Google API access token?",
    "documented_statement": {
      "status": "documented",
      "statement": "ADK distinguishes audience-bound ID tokens for IAM-secured services from scoped access tokens for Google APIs. The documented ID-token path fetches at request time rather than refreshing on a background timer.",
      "source_ids": [
        "adk-auth"
      ]
    },
    "review_inference": {
      "status": "review_inference",
      "statement": "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence. The MCP record concerns inbound versus upstream bearer authority. This review addresses ADK service-account token selection and request-time issuance for IAM services, not MCP token forwarding. Operational review inference; no deployment outcome was observed.",
      "source_ids": [
        "adk-auth"
      ]
    },
    "buyer_evidence_required": [
      "Token kind and intended audience",
      "Service IAM permissions",
      "Issuance path and installed ADK version"
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence."
    },
    "unknowns": "Buyer implementation, installed versions, effective authority, source completeness and actual business outcomes were not inspected.",
    "unknown_finding": {
      "status": "unknown",
      "statement": "No buyer deployment or transaction was observed."
    },
    "evidence_sources": [
      {
        "source_id": "adk-auth",
        "url": "https://raw.githubusercontent.com/google/adk-docs/97b313e91243af5abaeaa97636689e8d0a7a18dd/docs/tools-custom/authentication.md",
        "final_url": "https://raw.githubusercontent.com/google/adk-docs/97b313e91243af5abaeaa97636689e8d0a7a18dd/docs/tools-custom/authentication.md",
        "captured_at_utc": "2026-10-31T14:46:30.158415+00:00",
        "status": 200,
        "content_type": "text/plain; charset=utf-8",
        "bytes": 47066,
        "sha256": "4e8f53c007b916d9ce3c3204e36151239d5c9ed9c1dec5d2ac8f0d34a42fc6c5",
        "title": "Google ADK: authentication and credential management",
        "publisher": "Google",
        "checked_on": "2026-10-31",
        "capture_status": "captured_primary_documentation",
        "claim_review_completed": true,
        "hash_basis": "Raw HTTP response bytes retained privately; not deployment attestation.",
        "version_context": "Google ADK documentation revision 97b313e91243af5abaeaa97636689e8d0a7a18dd; Python authentication and experimental confirmation scope; feature/backend restrictions are record-specific.",
        "rights_disposition": "Original bounded paraphrase with publisher attribution. Full source capture remains private; no vendor code, examples or documentation is redistributed. Microsoft source terms and trademarks remain with Microsoft. Google ADK repository Apache-2.0 licence was separately captured; no rights to third-party marks are asserted.",
        "reviewed_sections": [
          "Credential storage and security risks",
          "Self-managed authentication",
          "Key takeaways",
          "ServiceAccount configuration parameters",
          "ADK **automatically retries**",
          "Authentication Logic within the Tool Function"
        ]
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Documentation supports only the stated boundary. Existing licensed checkers analyse supported supplied declarations locally; they do not inspect provider accounts, verify live behaviour, enforce decisions or certify compliance.",
    "paid_value": {
      "decision_context": "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence.",
      "free": "Complete source review, questions, provenance and limitations; free to read and save locally.",
      "single_request": "Unavailable for this publication-only record; historical saved retrieval is unchanged.",
      "evidence_receipt": "Unavailable for this publication-only record; no paid retrieval entitlement is added.",
      "excluded": [
        "Fresh source research",
        "Native provider integration or schema support",
        "Live inspection or runtime enforcement",
        "Payment settlement or verified deletion",
        "Certification or expanded licences"
      ],
      "integrity": "Hashes identify content versions; they do not prove factual truth or provide a signature."
    },
    "revalidation": {
      "trigger": "Recheck current primary documentation and applicable SDK, service and configuration before reliance. No ongoing monitoring is included.",
      "specific_watch": "Key takeaways; ServiceAccount configuration parameters"
    },
    "buyer_relevance": "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence.",
    "refusal_conditions": [
      "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence.",
      "Do not infer deployment conformance, authority or successful outcomes from source documentation."
    ],
    "decision_context": {
      "operator": "Developer or reviewer assessing agent execution and evidence",
      "scenario": "Can an ADK service-account ID token be reused as a general Google API access token?",
      "consequence": "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence.",
      "confidence": "Primary-documentation support only; buyer demand and deployment outcomes unestablished."
    },
    "novelty_review": {
      "candidate_id": "ICE13-21",
      "disposition": "new_distinct",
      "nearest_record_id": "VXI-EXT-PROCUREMENT-MCP-TOKEN-AUDIENCE-01-v1",
      "nearest_record_url": "/varexis-index/records/mcp-token-audience-not-upstream-authority.json",
      "nearest_record_sha256": "8715f08855f7bf6de6db9222753ffffa62465549ae75d853be9a99cfd930cde6",
      "material_distinction": "The MCP record concerns inbound versus upstream bearer authority. This review addresses ADK service-account token selection and request-time issuance for IAM services, not MCP token forwarding.",
      "review_status": "Primary-source review and full adjacent-record comparison; no independent challenge claimed."
    },
    "optional_selection": {
      "guide_id": "delegated-agent-identity-continuity",
      "guide_url": "/index-guides/delegated-agent-identity-continuity",
      "guide_manifest": "/varexis-index/decision-guides.json",
      "checker": {
        "product_id": "agent-tool-admission",
        "price_gbp_excluding_vat": 49,
        "purchase_url": "/index-access?route=agentic_pack_tool_admission_v1",
        "licence_scope": "Existing separate internal-use licence; subscriptions do not include the executable.",
        "benefit": "Optional local analysis of supported supplied declarations only; no native Microsoft Agent Framework, AG-UI or ADK integration is added."
      },
      "boundary": "This free record supports an evidence-selection decision. The existing checker does not diagnose these platforms, extract their logs or prove the documented condition occurred."
    },
    "exact_access": {
      "endpoint": "/mcp/catalogue",
      "tool": "get_publication_record",
      "arguments": {
        "record_id": "VXI-EXT-ICE13-ADK-SERVICE-ID-TOKEN-AUDIENCE-LIFECYCLE-01-v1"
      },
      "record_url": "/varexis-index/records/adk-service-id-token-audience-lifecycle.json",
      "original_mcp_search": false,
      "paid_saved_retrieval": false
    }
  },
  "niche": {
    "niche_id": "ice13-identity",
    "label": "Agent Identity, Credentials & Delegation",
    "classification_id": "identity",
    "classification_label": "Agent Identity, Credentials & Delegation",
    "topic_id": "identity",
    "buyer_intent": "Refuse cross-service authority or unattended-refresh assumptions without the correct token type, target audience, IAM permission and issuance evidence.",
    "comparison_role": "supplementary_discovery"
  },
  "paid_access_note": "The full published answer and boundaries are free. Paid access saves the selected route and source versions, with an unsigned receipt when purchased. Preview coverage before paying. Fresh research, bespoke assessment and protected evidence are excluded.",
  "service_route": {
    "request_guide": "/varexis-index/request.html",
    "request_workflow": "/varexis-index/request-workflow.json",
    "service_id": "single_request",
    "service_routes_url": "/varexis-index/service-routes.json",
    "payment_required": true,
    "availability_endpoint": "/api/index/capabilities",
    "operational_status": "AUTOMATIC_SERVICE_CAPABILITIES_GATED",
    "checkout_url": "/index-access"
  },
  "authority_boundary": "VAREXIS-INDEX informs evidence reliance. It does not provide advice, certification, deployment authority, security assurance, production approval, or guarantee.",
  "human_page": "/varexis-index/catalog.html#adk-service-id-token-audience-lifecycle",
  "machine_readable_record": "/varexis-index/records/adk-service-id-token-audience-lifecycle.json"
}
