Skip to content
Back to skills

5 1 2 I Ai Disclosure

ASecurity

Implement 5.1.2(i) third-party AI disclosure: name provider explicitly + explicit consent modal before first call. Use when the user says '5.1.2(i)', 'AI disclosure', 'third-party AI consent', 'OpenAI consent', 'Anthropic disclosure'.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
developmentgoawsapi

Works with

  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add khadinakbarlabs/expo-mobile-app-builder --skill 5-1-2-i-ai-disclosure --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 5 1 2 I Ai Disclosure?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 5 1 2 I Ai Disclosure
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/khadinakbarlabs-5-1-2-i-ai-disclosure/badge)](https://www.skillsdirectory.com/skills/khadinakbarlabs-5-1-2-i-ai-disclosure)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "5-1-2-i-ai-disclosure"
description: "Implement 5.1.2(i) third-party AI disclosure: name provider explicitly + explicit consent modal before first call. Use when the user says '5.1.2(i)', 'AI disclosure', 'third-party AI consent', 'OpenAI consent', 'Anthropic disclosure'."
---

# 5.1.2(i) AI Disclosure

The Nov 2025 rule that's the single most disruptive change for any RN app touching LLMs.

## What 5.1.2(i) requires
For every third-party AI provider you call (OpenAI, Anthropic, Replicate, Gemini, AWS Bedrock, etc.):
1. **Name the provider explicitly** in privacy disclosures (Privacy Policy + Privacy Nutrition Label). Generic "we share data with service providers" is NOT enough.
2. **Show explicit consent modal** before the first network call to that provider. Modal must name the provider.

## Exempt
- On-device inference (Apple Foundation Models, Core ML, on-device Whisper, llama.cpp)
- Run `add-foundation-models` to use the exempt path when possible

## Sample consent modal copy

### OpenAI
```
Use AI assistance?

To answer your question, we'll send your message to OpenAI.

OpenAI is a third-party service. They will receive what you type so they can generate a response. Per their policy, they don't train models on this data when accessed via API.

Your message: [preview of what will be sent]

[Cancel]   [Allow OpenAI]
```

### Anthropic
```
Use Claude?

To process this, we'll send your text to Anthropic (Claude).

Anthropic is a third-party AI provider. They will receive your input to generate the response. Per their API policy, they don't train models on your data.

[Cancel]   [Allow Anthropic]
```

## Implementation pattern
```tsx
// services/ai-consent.ts
import * as SecureStore from 'expo-secure-store';

export async function ensureAIConsent(provider: 'openai' | 'anthropic') {
  const key = `ai_consent_${provider}`;
  const granted = await SecureStore.getItemAsync(key);
  if (granted === 'true') return true;

  return new Promise<boolean>((resolve) => {
    Alert.alert(
      `Use ${provider === 'openai' ? 'OpenAI' : 'Claude'}?`,
      `We'll send your text to ${provider === 'openai' ? 'OpenAI' : 'Anthropic'} for processing.`,
      [
        { text: 'Cancel', onPress: () => resolve(false) },
        { text: 'Allow', onPress: async () => {
          await SecureStore.setItemAsync(key, 'true');
          resolve(true);
        }},
      ]
    );
  });
}

// usage
const consented = await ensureAIConsent('anthropic');
if (consented) await callExternalAIProvider(prompt);
```

## Privacy Policy update
Add section:
```
Third-Party AI Services

When you use the [feature] feature, your input is sent to [Provider] (a third-party AI service) to generate the response. [Provider]'s data handling is governed by their [link to their privacy policy].

We obtain explicit consent before sending data to [Provider] for the first time. You can revoke consent in Settings → Privacy → AI Providers.
```

## Settings revoke flow
```tsx
<Pressable onPress={async () => {
  await SecureStore.deleteItemAsync('ai_consent_openai');
  Alert.alert('Revoked', 'Consent revoked. We will ask again next time.');
}}>
  <Text>Revoke OpenAI consent</Text>
</Pressable>
```

## Reference
`references/06-store-readiness.md`

Files in this skill

  • SKILL.md3.2 KB
  • agents/openai.yaml194 B
  • references/06-store-readiness.md1.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…