Skip to content

Security: ZipLyne-Agency/Spotify-Playlist-Agent

Security

SECURITY.md

Security

Never include private account data in a report

Do not open an issue containing Spotify access/refresh tokens, .dev.vars, encrypted KV files, OAuth codes, real inventory JSON, playlist IDs/names, or a user's plan and receipts. Reproduce with the synthetic examples instead.

Local trust boundary

The service binds to 127.0.0.1 and uses an admin bearer token. Do not expose it through a tunnel, public Worker route, reverse proxy, or shared machine account. Encryption of the local token record prevents accidental plaintext disclosure; it does not isolate the token from another process running as the same OS user. Every live account artifact path is restricted to .spotify-organizer/, and symlinked path components are rejected. The admin token is accepted only in an Authorization: Bearer header, never in a URL.

AI and Spotify Content

Do not place real Spotify inventory, playlist, track, artist, or plan content in an AI prompt, model context, issue, log, or third-party service. The repository skill may operate commands by path and report content-free counts; it must not open private account artifacts. Spotify's current Developer Policy separately prohibits content analysis and AI-model ingestion. Written Spotify approval is required before changing this boundary.

Spotify currently requires user-library-modify for removing even a playlist URI through DELETE /me/library. A stolen token therefore has broader library authority than this code exercises. The executor calls that endpoint only with spotify:playlist: URIs after separate approval and never exposes an unlike operation.

Revoke and clean up

To revoke access, remove the app authorization in Spotify's account settings. After stopping the exact local Wrangler process, delete only your own local .wrangler/, .dev.vars, and .spotify-organizer/ directories/files if you no longer need them. Never publish those paths or a Git history that contained them.

Reporting a code vulnerability

Use the repository's private security-reporting channel when one is configured. Until then, do not post exploit details or secrets in a public issue.

There aren't any published security advisories