FetchVectors icon
DeleteVectors icon
SlackIncomingWebhook icon
DiscordIncomingWebhook icon

Execute GDPR Right-to-Erasure on Pinecone Vectors with Proof of Deletion

Handle right-to-erasure for vector stores with Kestra. Verify Pinecone vectors exist, delete them by id, prove absence, and post an audit trail to Slack.

Categories
AIData

Embeddings are personal data too. A vector computed from a user's support tickets or documents falls under the right to erasure just like the source text, and a RAG index that keeps serving it after a deletion request is a compliance incident. This blueprint executes the erasure with evidence: io.kestra.plugin.pinecone.FetchVectors records which of the requested ids exist, io.kestra.plugin.pinecone.DeleteVectors removes them, a second fetch proves they are gone, and Slack receives a before-and-after audit message tied to the execution id.

How it works

  1. verify_presence (io.kestra.plugin.pinecone.FetchVectors) fetches the ids parsed from the comma-separated user_ids input and returns the found vectors keyed by id, establishing what exists before deletion.
  2. erase_vectors (io.kestra.plugin.pinecone.DeleteVectors) deletes exactly those ids. The deletion is permanent.
  3. verify_absence fetches the same ids again; after a successful erasure the result is empty.
  4. notify posts the before count, the after count, and the requested ids to Slack, using the length of each fetch result as plain scalars.
  5. The errors block escalates to Discord when any step fails, flagging that the requested ids may still exist and the erasure deadline still applies.

What you get

  • An erasure that produces its own evidence: existence before, absence after, both in one message.
  • Deletion scoped to exact vector ids, leaving the rest of the corpus untouched.
  • An execution record per request, so every erasure has a timestamp, inputs, and outcome for the compliance file.
  • A failure path that treats an incomplete erasure as an escalation, not a silent retry-later.

Who it's for

  • Compliance and privacy teams extending GDPR and CCPA deletion workflows to vector stores.
  • Platform engineers who embed user-derived content and key vectors by user or record id.
  • RAG teams who need deletion requests handled in hours with proof, not in the next reindex.

Why orchestrate this with Kestra

The hard part of right-to-erasure is not the delete call, it is proving the delete happened everywhere, on time, every time. Kestra chains the verification around the deletion so the proof is generated by the same execution that erased the data, stores the whole run in an auditable history, and separates the audit trail in Slack from failure escalation in Discord. When a regulator asks how vector data is erased, the answer is a flow definition and a list of executions.

Prerequisites

  • A Pinecone index where vector ids map to users or records, so an erasure request translates directly to ids.
  • A Slack incoming webhook for the audit trail and a Discord incoming webhook for failure escalation.
  • If vectors live outside the default namespace, add the namespace property to all three Pinecone tasks.

Secrets

  • PINECONE_API_KEY: Pinecone API key with read and delete permission on the index.
  • SLACK_WEBHOOK_URL: Slack incoming webhook URL for the audit messages.
  • DISCORD_WEBHOOK_URL: Discord incoming webhook URL for failure escalation.

Quick start

  1. Add the three secrets to your Kestra namespace.
  2. Upsert a throwaway vector with a known id, then execute the flow with that id as user_ids.
  3. Check the Slack message reports one vector before and zero after, and keep the execution id as the audit reference.

How to extend

  • Feed user_ids from an upstream ticketing or DSAR system so requests flow in without manual input.
  • Add a namespace input when user vectors are partitioned per tenant.
  • Fail the flow explicitly when the after-count is not zero, turning partial erasures into hard failures.
  • Pair with the namespace retention blueprint when whole cohorts expire at once rather than individual users.

Links

See How

New to Kestra?

Use blueprints to kickstart your first workflows.