New to Kestra?
Use blueprints to kickstart your first workflows.
AI agent that crawls privacy policies and cookie notices and scores them against GDPR Articles 12-14 and ePrivacy consent rules, orchestrated with Kestra.
Manually auditing a privacy policy against GDPR and the ePrivacy Directive is slow, inconsistent, and easy to let drift between releases. This blueprint runs an AI agent that fetches a website's privacy policy and cookie notice from live URLs, then grades them element by element against GDPR transparency obligations (Articles 12, 13, 14), data subject rights (Articles 15-22), international transfer safeguards (Chapter V), and ePrivacy cookie consent rules, returning a structured Markdown report with a compliance score and a prioritized remediation list.
analyze_policy task (io.kestra.plugin.ai.agent.AIAgent) takes the policy URL, cookie notice URL, and analysis scope as inputs, then runs a GDPR specialist systemMessage with a low temperature (0.1) for consistent, auditable output.io.kestra.plugin.ai.retriever.TavilyWebSearch content retriever lets the agent crawl and read both live URLs (maxResults: 5) instead of relying on stale training data.io.kestra.plugin.ai.provider.MistralAI (Mistral Large), an EU-based model that suits a data sovereignty posture for legal workflows; YAML comments show how to switch to io.kestra.plugin.ai.provider.Ollama for fully local, no-API-call operation.log_analysis task (io.kestra.plugin.core.log.Log) prints the agent's textOutput, so the full report is visible in the execution logs.A standalone LLM script cannot schedule itself, retry a flaky web crawl, or keep an audit trail. With Kestra you get event and schedule triggers (re-run on every policy change or on a quarterly cadence), automatic retries on transient API or search failures, full execution lineage and logs for every audit, and a declarative YAML definition you can version in Git. The AI provider and Tavily retriever have no built-in scheduler, retry policy, or run history of their own: Kestra supplies all of that around them.
A running Kestra instance and accounts for Mistral AI and Tavily.
MISTRAL_API_KEY: API key from the Mistral AI console.TAVILY_API_KEY: API key from Tavily for web crawling and search.MISTRAL_API_KEY and TAVILY_API_KEY as secrets in your Kestra instance.privacy_policy_url, optional cookie_policy_url, and an analysis_scope.log_analysis task output.analysis_scope to transparency only, cookie focus, data subject rights, or international transfers.Schedule trigger to re-audit policies on a recurring cadence.io.kestra.plugin.ai.provider.Ollama for an air-gapped, local-only run.