{"id":2766,"date":"2026-08-11T15:31:37","date_gmt":"2026-08-11T15:31:37","guid":{"rendered":"https:\/\/dmarketertayeeb.com\/blog\/spotify-xirp-security-privacy\/"},"modified":"2026-08-11T15:31:37","modified_gmt":"2026-08-11T15:31:37","slug":"spotify-xirp-security-privacy","status":"publish","type":"post","link":"https:\/\/dmarketertayeeb.com\/blog\/spotify-xirp-security-privacy\/","title":{"rendered":"Spotify Xirp Security and Privacy: What to Review Before a Pilot"},"content":{"rendered":"\n\n\n<p><strong>Spotify Xirp can be piloted safely only if you treat it as several connected trust boundaries\u2014not as one security control.<\/strong> Xirp keeps project registration and much of its state on the Mac, but the selected native coding agent still communicates and acts under its own provider, credentials, permissions, and sandbox. Connecting Spotify Portal introduces identity, Workspace, MCP, and optional transcript-sharing flows. Spotify&#8217;s public preview terms also describe an early-access evaluation product with fewer assurances than a mature production service.<\/p>\n\n\n\n\n\n\n\n<p>The most important documented warning is easy to miss: uploading a session to Portal is manual, but the transcript can contain the full conversation, tool calls, file changes, reasoning, file paths, and code excerpts, and Xirp does not automatically redact it. A Git worktree reduces checkout collisions; it is not a process sandbox or a data-loss-prevention system.<\/p>\n\n\n\n\n\n\n\n<p>This guide evaluates the public documentation and terms captured on 11 August 2026. It is not a penetration test, certification, legal opinion, or substitute for your security, privacy, procurement, and employment-policy reviews. Start with the <a href=\"https:\/\/dmarketertayeeb.com\/blog\/spotify-xirp-agentic-development-environment\/\">complete Xirp product explainer<\/a> if you first need the product boundary, or the <a href=\"https:\/\/dmarketertayeeb.com\/blog\/spotify-xirp-portal-mcp-architecture\/\">Portal and MCP architecture map<\/a> for the context flow.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Executive risk summary<\/h2>\n\n\n\n\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Area<\/th><th>Documented position<\/th><th>Pilot implication<\/th><\/tr><\/thead><tbody><tr><td>Local projects<\/td><td>Registering a local folder does not itself upload its files to Portal.<\/td><td>Still map what the native agent sends to its provider and what commands it can execute.<\/td><\/tr><tr><td>Native agent<\/td><td>Credentials, models, reasoning, permissions, and sandbox settings remain owned by Claude Code, Codex, or Gemini CLI.<\/td><td>Approve each agent\/provider separately; Xirp does not replace native controls.<\/td><\/tr><tr><td>Worktrees<\/td><td>Xirp can isolate concurrent sessions in separate Git worktrees.<\/td><td>Useful for branch separation, not for process, network, secret, or production isolation.<\/td><\/tr><tr><td>Telemetry<\/td><td>Spotify says pseudonymous product telemetry excludes prompts, code, paths, and free text and can be disabled.<\/td><td>Verify the setting and outbound behavior on the managed endpoint; do not extrapolate to native-agent traffic.<\/td><\/tr><tr><td>Portal context<\/td><td>Portal identity and Workspace membership control available organizational context.<\/td><td>Review RBAC, membership, integrations, catalog visibility, and resource provenance.<\/td><\/tr><tr><td>Session uploads<\/td><td>Manual and optional, but broad; there is no automatic redaction.<\/td><td>Default-deny uploads until a human review and prohibited-data policy exist.<\/td><\/tr><tr><td>Preview maturity<\/td><td>Public terms describe early-access evaluation software without preview SLA or the usual production assurances.<\/td><td>Keep scope limited and reversible; avoid relying on it for production-critical control.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">What is the Xirp security boundary?<\/h2>\n\n\n\n\n\n\n\n<p>A security boundary is the point at which identity, data, permissions, or responsibility changes. Xirp is the desktop coordination layer; the Mac protects local state; each native coding agent controls its provider and execution permissions; Git separates and records changes; and Portal controls organizational context and shared knowledge. Controls do not automatically transfer across those boundaries. For example, the behavior of one emerging native permission layer is examined separately in my <a href=\"https:\/\/dmarketertayeeb.com\/blog\/claude-code-auto-mode-permission-classifier\">Claude Code permission-classifier analysis<\/a>.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Map every data flow before granting access<\/h2>\n\n\n\n\n\n\n\n<p>A useful review asks what data object exists, where it goes, what triggers movement, and which product controls it. \u201cIt runs locally\u201d answers only one part of that question.<\/p>\n\n\n\n\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Data object<\/th><th>Location or recipient<\/th><th>Trigger<\/th><th>Control to verify<\/th><\/tr><\/thead><tbody><tr><td>Repository files and Git metadata<\/td><td>Local project and optional worktree<\/td><td>Add a project; launch a session<\/td><td>Endpoint access, repository classification, branch protection, backup<\/td><\/tr><tr><td>Xirp application state<\/td><td><code>$XIRP_HOME<\/code> or the default <code>~\/.xirp<\/code> area, including a local database<\/td><td>Normal application use<\/td><td>File permissions, disk encryption, endpoint backup and offboarding<\/td><\/tr><tr><td>Native-agent interaction<\/td><td>The selected provider and any tools\/MCP servers it calls<\/td><td>Prompt, tool call, command, or configured integration<\/td><td>Provider agreement, data controls, credentials, model, permission mode, network policy<\/td><\/tr><tr><td>Claude session history<\/td><td>Native Claude history that Xirp may surface<\/td><td>Use\/import of the native agent<\/td><td>Native history settings and endpoint access<\/td><\/tr><tr><td>Xirp telemetry<\/td><td>Spotify&#8217;s telemetry service<\/td><td>Application diagnostics\/usage events unless disabled<\/td><td>Documented exclusions, <code>XIRP_TELEMETRY=0<\/code>, egress verification<\/td><\/tr><tr><td>Portal identity and metadata<\/td><td>Spotify Portal<\/td><td>OAuth connection<\/td><td>Identity lifecycle, scopes, membership, RBAC, revocation<\/td><\/tr><tr><td>Workspace MCP requests<\/td><td>Portal Workspace integrations and resources<\/td><td>Agent retrieves organizational context<\/td><td>Resource access, source permissions, auditability, prompt-injection review<\/td><\/tr><tr><td>Uploaded session transcript<\/td><td>Selected Portal Workspace<\/td><td>User manually uploads<\/td><td>Pre-upload review, prohibited data, membership, retention, deletion<\/td><\/tr><tr><td>Diagnostic export<\/td><td>User-chosen export file\/support channel<\/td><td>User creates and shares a diagnostic bundle<\/td><td>Inspect contents before transfer; approved storage and recipient<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Local storage is an endpoint-security responsibility<\/h2>\n\n\n\n\n\n\n\n<p>Spotify&#8217;s FAQ says Xirp stores its data locally, and the settings documentation identifies the Xirp home directory and local database. That reduces one class of automatic cloud ingestion, but it increases the importance of endpoint fundamentals: full-disk encryption, screen locking, least-privilege OS accounts, malware protection, managed updates, backup rules, and reliable removal when a user changes role or leaves.<\/p>\n\n\n\n\n\n\n\n<p>Decide whether your backup or endpoint-management tools copy <code>~\/.xirp<\/code> into another jurisdiction or retention tier. Also test deletion: removing a project from Xirp, deleting a local session, deleting a worktree, revoking Portal, and removing a native-agent credential are different actions. A pilot is not governed until owners can execute and evidence each one.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Xirp does not inherit one universal agent permission model<\/h2>\n\n\n\n\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backstage.spotify.com\/docs\/xirp\/settings\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/mintcdn.com\/spotify-89f50c35\/Au6-kNeho5Rk8Vno\/xirp\/assets\/settings-coding-agents.webp?fit=max&amp;auto=format&amp;n=Au6-kNeho5Rk8Vno&amp;q=85&amp;s=339c46bf175bdb2cf90ae13a6e71c7c5\" alt=\"Spotify Xirp coding agent settings showing native agents configured separately\" \/><\/a><figcaption class=\"wp-element-caption\">Xirp&#8217;s coding-agent settings. Spotify&#8217;s documentation says each native agent retains its own authentication, model, reasoning, permissions, and sandbox behavior. Screenshot: Spotify Xirp documentation.<\/figcaption><\/figure>\n\n\n\n\n\n\n\n<p>Xirp detects and launches supported agent CLIs; it does not flatten their security models into a single Spotify policy. Review Claude Code, OpenAI Codex, and Gemini CLI independently for authentication, model\/provider routing, approval modes, filesystem scope, shell execution, network access, MCP configuration, environment-variable exposure, and logging. A safe selection in one CLI says nothing about another.<\/p>\n\n\n\n\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Control<\/th><th>Xirp<\/th><th>Native agent<\/th><th>Portal<\/th><\/tr><\/thead><tbody><tr><td>Project\/session organization<\/td><td>Primary owner<\/td><td>Runs within the launched session<\/td><td>Can provide launch context<\/td><\/tr><tr><td>Model and provider credential<\/td><td>Does not replace<\/td><td>Primary owner<\/td><td>Not the native model control<\/td><\/tr><tr><td>Tool approvals and sandbox<\/td><td>Surfaces agent use<\/td><td>Primary owner<\/td><td>Context access is separate<\/td><\/tr><tr><td>Git worktree creation<\/td><td>Can orchestrate<\/td><td>May operate inside it<\/td><td>Not a sandbox<\/td><\/tr><tr><td>Organizational context access<\/td><td>Client\/launch surface<\/td><td>Consumes through MCP<\/td><td>Identity, membership, resources, catalog<\/td><\/tr><tr><td>Transcript publication<\/td><td>User initiates upload<\/td><td>Conversation is the source material<\/td><td>Stores\/shares in Workspace<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n\n\n\n<p>For a broader pattern that separates context, permission, validation, and release controls, see my <a href=\"https:\/\/dmarketertayeeb.com\/blog\/ai-agent-harness-context-compaction\">production AI-agent harness guide<\/a>. For hands-on Xirp session and worktree operation, use the <a href=\"https:\/\/dmarketertayeeb.com\/blog\/how-to-use-spotify-xirp\/\">safe setup guide<\/a>.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">A worktree prevents overlap, not unsafe execution<\/h2>\n\n\n\n\n\n\n\n<p>A separate Git worktree gives a session its own checkout and branch. That is valuable when several agents edit one repository: uncommitted changes and branch heads do not collide in the same working directory. It does not restrict which local processes can run, which network endpoints can be reached, which secrets can be read, whether destructive commands succeed, or whether generated code is correct.<\/p>\n\n\n\n\n\n\n\n<p>Require the same controls you would for a native CLI: non-production credentials, least-privilege tokens, protected branches, review, tests, secret scanning, dependency controls, and an explicit release step. Do not mount production credentials simply because the task is running in a disposable worktree.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Telemetry: document the narrow claim precisely<\/h2>\n\n\n\n\n\n\n\n<p>Spotify&#8217;s Xirp FAQ says pseudonymous product telemetry excludes prompts, code, file paths, and free-text content. It also documents disabling telemetry with <code>XIRP_TELEMETRY=0<\/code>. That is useful, but it is a claim about Xirp telemetry\u2014not about requests sent by Claude Code, Codex, Gemini CLI, an MCP server, a repository integration, or Portal.<\/p>\n\n\n\n\n\n\n\n<ul class=\"wp-block-list\"><li>Record the documented event categories and exclusions in the pilot data inventory.<\/li><li>Set and centrally enforce the disable flag if policy requires it.<\/li><li>Observe endpoint egress to verify the deployed build behaves as expected.<\/li><li>Review each native agent&#8217;s telemetry and provider data policy independently.<\/li><li>Repeat the check after Xirp or agent updates; this is a beta and the surface can change.<\/li><\/ul>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Connecting Portal changes the trust boundary<\/h2>\n\n\n\n\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/backstage.spotify.com\/docs\/xirp\/connecting-to-portal\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/mintcdn.com\/spotify-89f50c35\/Au6-kNeho5Rk8Vno\/xirp\/assets\/portal-get-xirp-connect.webp?fit=max&amp;auto=format&amp;n=Au6-kNeho5Rk8Vno&amp;q=85&amp;s=8fb41da6add8f70548940a2a82478889\" alt=\"Spotify Portal interface for connecting the Xirp desktop application\" \/><\/a><figcaption class=\"wp-element-caption\">The Xirp connection flow in Spotify Portal. Connection uses Portal authorization; review identity, scopes, Workspace membership, and revocation. Screenshot: Spotify Portal documentation.<\/figcaption><\/figure>\n\n\n\n\n\n\n\n<p>Standalone Xirp can manage local projects, sessions, worktrees, files, rules, skills, and its grid without Portal. A Portal connection adds catalog-based repository discovery, Workspace context through MCP, and optional shared session continuity. The correct security question is therefore not \u201cIs Portal on?\u201d but \u201cWhich identity can retrieve which Workspace resource through which integration, and who reviews the result before action?\u201d<\/p>\n\n\n\n\n\n\n\n<p>Audit Workspace owners and members, catalog ownership, source-location annotations, GitHub App repository selection, integrations, records, wiki pages, and session visibility. Treat retrieved text as data that can be stale, contradictory, over-permissioned, or instruction-bearing. An MCP response can improve grounding without becoming automatically authoritative.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Transcript uploads are the highest-consequence user action<\/h2>\n\n\n\n\n\n\n\n<p>Spotify documents transcript upload as explicit and manual. That is a strong default compared with automatic sharing, but the user is the final gate. The uploaded artifact may include conversation text, tool calls, file changes, reasoning, paths, and code excerpts. The documentation warns that Xirp does not automatically scrub secrets or sensitive information.<\/p>\n\n\n\n\n\n\n\n<h3 class=\"wp-block-heading\">A workable upload policy<\/h3>\n\n\n\n\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Default deny:<\/strong> do not upload unless the session has reusable value and an approved Workspace.<\/li><li><strong>Classify first:<\/strong> prohibit credentials, tokens, personal data, customer data, regulated data, unreleased financial\/product information, and third-party confidential code.<\/li><li><strong>Review the entire transcript:<\/strong> search both visible messages and tool\/file-change details; do not review only the final answer.<\/li><li><strong>Confirm audience:<\/strong> inspect current Workspace membership and resource permissions immediately before upload.<\/li><li><strong>Record purpose:<\/strong> state why the session is reusable, its source repository, reviewer, and review date.<\/li><li><strong>Apply retention:<\/strong> define deletion ownership and test removal before the pilot begins.<\/li><li><strong>Prefer distilled knowledge:<\/strong> where possible, publish a reviewed decision or wiki page instead of a raw conversational record.<\/li><\/ol>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Debug exports need the same pre-transfer review<\/h2>\n\n\n\n\n\n\n\n<p>Xirp&#8217;s settings documentation provides diagnostics and export mechanisms and warns users to inspect exports before sharing. A diagnostic package can be operationally useful while containing environment details, paths, command output, integration state, or other material your normal telemetry excludes. Store it in an approved incident channel, minimize recipients, time-limit access, and delete it when the support purpose ends.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">What the public preview terms mean for a pilot<\/h2>\n\n\n\n\n\n\n\n<p>The public <a href=\"https:\/\/backstage.spotify.com\/spotify-for-backstage-terms\/xirp-preview-terms\/\" target=\"_blank\" rel=\"noopener\">Xirp Preview Terms<\/a> are part of the technical decision because they define the maturity and responsibility boundary. This summary is operational, not legal interpretation; your counsel should read the current terms.<\/p>\n\n\n\n\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Public term or limitation<\/th><th>Operational risk<\/th><th>Reasonable response<\/th><\/tr><\/thead><tbody><tr><td>Early-access, pre-release, evaluation-oriented product<\/td><td>Behavior, availability, and interfaces may change.<\/td><td>Use a bounded pilot with rollback and versioned evidence.<\/td><\/tr><tr><td>No preview SLA and limited preview support commitments<\/td><td>Not suitable as an unmitigated critical-path dependency.<\/td><td>Keep the native CLI workflow available and document manual fallback.<\/td><\/tr><tr><td>No usual third-party attestations promised for the preview<\/td><td>May not satisfy procurement or regulated-control requirements.<\/td><td>Do not claim certifications; ask Spotify for applicable assurance artifacts.<\/td><\/tr><tr><td>Customer responsibility for use of third-party agents<\/td><td>Provider, model, account, and output risks remain yours.<\/td><td>Approve each provider and native agent separately.<\/td><\/tr><tr><td>Session-interaction data may be processed for documented preview purposes<\/td><td>Uploaded content can enter a different processing and retention context.<\/td><td>Minimize and review uploads; execute a privacy\/legal assessment.<\/td><\/tr><tr><td>Non-public preview information and benchmarks may be confidential<\/td><td>Internal tests or beta observations may not be publishable.<\/td><td>Keep external articles and procurement records within authorized public evidence.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">A high-control pilot design<\/h2>\n\n\n\n\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Choose low-sensitivity repositories.<\/strong> Exclude production infrastructure, credentials, regulated data, customer data, and restricted third-party code.<\/li><li><strong>Use managed Macs.<\/strong> Enforce disk encryption, OS patching, endpoint monitoring, account lifecycle, and screen lock.<\/li><li><strong>Approve one native agent first.<\/strong> Fix provider, model, account type, permission mode, MCP servers, and allowed tools; expand only after evidence.<\/li><li><strong>Use least-privilege test credentials.<\/strong> No production tokens; short-lived credentials where possible.<\/li><li><strong>Start without Portal.<\/strong> Validate local Xirp behavior before adding organizational context and transcript sharing.<\/li><li><strong>Curate one Workspace.<\/strong> Limit members and resources; verify ownership and repository annotations.<\/li><li><strong>Disable transcript uploads initially.<\/strong> Enable only after the review policy, reviewer, and deletion test exist.<\/li><li><strong>Require worktrees plus review.<\/strong> Separate concurrent changes, run automated tests and secret scanning, and require a human merge.<\/li><li><strong>Observe egress and logs.<\/strong> Confirm Xirp, native agent, MCP, and Portal traffic against the approved architecture.<\/li><li><strong>Define stop conditions.<\/strong> Pause on unexpected upload, unscoped access, unrecoverable state, missing audit evidence, or policy-bypassing permissions.<\/li><\/ol>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Pilot evidence checklist<\/h2>\n\n\n\n\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Gate<\/th><th>Pass evidence<\/th><th>Owner<\/th><\/tr><\/thead><tbody><tr><td>Endpoint<\/td><td>Managed Mac, encryption, patch state, Xirp-home permissions<\/td><td>IT\/security<\/td><\/tr><tr><td>Repository scope<\/td><td>Named allowlist and data classification<\/td><td>Engineering owner<\/td><\/tr><tr><td>Native agent<\/td><td>Provider approval, credential scope, permissions, sandbox, MCP list<\/td><td>AI platform\/security<\/td><\/tr><tr><td>Network<\/td><td>Observed destinations match approved data-flow map<\/td><td>Security<\/td><\/tr><tr><td>Portal<\/td><td>Identity, Workspace membership, RBAC, selected repositories<\/td><td>Portal admin<\/td><\/tr><tr><td>Knowledge quality<\/td><td>Resources have owner, provenance, review date, conflict path<\/td><td>Workspace owner<\/td><\/tr><tr><td>Transcript<\/td><td>Default-deny policy, human reviewer, prohibited-data list, deletion test<\/td><td>Privacy\/security<\/td><\/tr><tr><td>Change safety<\/td><td>Worktree, tests, scan, review, protected merge\/release<\/td><td>Repository owner<\/td><\/tr><tr><td>Fallback<\/td><td>Native CLI path works without Xirp\/Portal<\/td><td>Pilot lead<\/td><\/tr><tr><td>Exit<\/td><td>Credential revocation, local cleanup, Portal removal, retained-evidence plan<\/td><td>IT\/pilot lead<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Proceed, limit, wait, or reject?<\/h2>\n\n\n\n\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Proceed with a limited pilot<\/strong> when managed Macs, low-sensitivity repos, approved native-agent controls, review, logging, and a rollback path are available.<\/li><li><strong>Proceed without Portal<\/strong> when local session orchestration is useful but organizational-context access or transcript governance is not ready.<\/li><li><strong>Wait<\/strong> when you require Windows\/Linux, server\/SSH-hosted sessions, production SLA, specific attestations, or mature administrative evidence not present in the public preview material.<\/li><li><strong>Reject for the current use case<\/strong> when sensitive data cannot be separated, native-agent permissions cannot be constrained, or raw session content cannot be reviewed before sharing.<\/li><\/ul>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Questions Spotify should answer before production procurement<\/h2>\n\n\n\n\n\n\n\n<p>The public corpus does not fully answer retention and deletion guarantees, subprocessor details, data residency, enterprise audit events, desktop update signing and release controls, incident commitments, general-availability roadmap, future support for Windows\/Linux or remote execution, or which production assurances will apply after preview. Ask for current contractual and security documentation; do not fill gaps with marketing inference.<\/p>\n\n\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Bottom line<\/h2>\n\n\n\n\n\n\n\n<p>Xirp&#8217;s documented design contains useful safety properties: local project registration, optional Portal, explicit transcript upload, worktree separation, and native-agent transparency. None is a complete security boundary. A defensible pilot separately governs the Mac, repository, agent\/provider, permissions, network, Portal identity, Workspace knowledge, transcript, and release path\u2014and treats preview maturity as a constraint rather than a footnote.<\/p>\n\n\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group dmt-author-note\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n\n<h3 class=\"wp-block-heading\">About the author and evidence<\/h3>\n\n\n\n<p>Tayeeb reviewed Spotify&#8217;s public Xirp product documentation, settings, FAQ, Portal connection and Workspace-session guidance, plus the public Xirp Preview Terms captured on 11 August 2026. Claims are limited to that public corpus. No private preview access, source-code audit, penetration test, certification, or legal conclusion is represented.<\/p>\n\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A source-backed security and governance review of Xirp&#8217;s local state, agent permissions, telemetry, Portal context, transcript sharing, diagnostics and public preview terms.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[386],"tags":[357,397,402,398,395],"class_list":["post-2766","post","type-post","status-publish","format-standard","hentry","category-ai-for-marketers","tag-ai-security","tag-developer-experience","tag-privacy","tag-spotify-portal","tag-spotify-xirp","no-featured-image"],"_links":{"self":[{"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/posts\/2766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/comments?post=2766"}],"version-history":[{"count":0,"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/posts\/2766\/revisions"}],"wp:attachment":[{"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/media?parent=2766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/categories?post=2766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dmarketertayeeb.com\/blog\/wp-json\/wp\/v2\/tags?post=2766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}