Communitygithub.com

YepAPI/skills

GDPR コンプライアンス — データ削除、同意管理、PII 匿名化、データポータビリティ。

skills とは?

このスキルは、アプリケーションにおいて EU 一般データ保護規則 (GDPR) への準拠を実装するための包括的なガイドを提供します。開発者は、本人確認されたユーザーからのリクエストに応じて、データベーストランザクションを使用してすべての個人を特定できる情報 (PII) を完全に削除または匿名化するデータ削除エンドポイントを構築できます。同意管理はタイムスタンプとポリシーバージョンで記録され、ユーザーがマーケティングや分析のために明示的にオプトインするまでトラッキングスクリプトが読み込まれないようにします。このスキルは、ユーザーデータの JSON または CSV エクスポートのためのデータポータビリティエンドポイント、PII アクセスのための監査ログ、および侵害通知のための 72 時間以内の文書化されたプロセスも義務付けています。主に Claude Code、Cursor、Codex などの AI エージェントプラットフォーム向けに設計されており、実際のコードスニペットを使用して、ソフトデリートの回避や同意前のトラッキング防止など、非準拠の実装の落とし穴を回避する方法を示しています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/gdpr-compliance

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

GDPR コンプライアンス

ルール

  • データ削除エンドポイント(忘れられる権利)を実装する:すべてのユーザー PII をリクエストに応じて削除または匿名化する
  • 明示的な同意をタイムスタンプ付きで追跡する:ユーザーが何に同意したか、いつ、どのバージョンのポリシーに同意したか
  • 分析とログ内の PII を匿名化する — 不透明な ID を使用し、生のメールアドレスや名前は使用しない
  • データエクスポートエンドポイント(データポータビリティの権利)を実装する:すべてのユーザーデータを JSON または CSV として返す
  • Cookie 同意バナーを表示する:ユーザーがオプトインするまでトラッキングスクリプトを読み込まない
  • データ収集フォームのあるすべてのページからプライバシーポリシーにリンクする
  • PII アクセスの監査ログを維持する — 誰がどの個人データをいつ閲覧したか
  • 72時間以内の侵害通知:文書化されたプロセスと連絡先リストを準備しておく
// データ削除エンドポイント
app.delete("/api/user/data", requireAuth, async (req, res) => {
  const userId = req.user.id;
  await db.transaction(async (tx) => {
    await tx.delete(userProfiles).where(eq(userProfiles.userId, userId));
    await tx.delete(userSessions).where(eq(userSessions.userId, userId));
    await tx.update(users).set({
      email: `deleted_${userId}@anonymized.local`,
      name: "Deleted User",
      deletedAt: new Date(),
    }).where(eq(users.id, userId));
  });
  await auditLog("user_data_deleted", { userId, requestedBy: userId });
  res.json({ success: true });
});
// 同意管理
const consentSchema = z.object({
  marketing: z.boolean(),
  analytics: z.boolean(),
  policyVersion: z.string(),
});

app.post("/api/consent", requireAuth, async (req, res) => {
  const consent = consentSchema.parse(req.body);
  await db.insert(consentRecords).values({
    userId: req.user.id,
    ...consent,
    consentedAt: new Date(),
    ipAddress: req.ip,
  });
  res.json({ success: true });
});

回避すべきこと

  • PII を実際に削除せずにユーザーデータをソフトデリートする — 「削除済み」ユーザーのメールアドレスがデータベースに残っている
  • Cookie 同意前に Google アナリティクスやトラッキングピクセルを読み込む
  • 分析イベントやアプリケーションログに生のメールアドレスを保存する
  • データエクスポートメカニズムがない — ユーザーは自分のデータに対する法的権利がある
  • GDPR は EU 拠点の企業のみに適用されると仮定する — EU ユーザーにサービスを提供するすべてのアプリに適用される

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

関連スキル