Agent skill · Backend & API

device-integrity

Verify device legitimacy and app integrity using DeviceCheck (DCDevice per-device bits) and App Attest (DCAppAttestService key generation, attestation, and assertion flows). Use when implementing fraud prevention, detecting compromised devices, validating app authenticity with Apple's servers, protecting sensitive API endpoints with attested requests, or adding device verification to a backend architecture.

Derek Pearson935★ · +23/wk · 1 repos on radarProfile →
claude-codecodexcursorNOASSERTION
Install
npx skills add dpearson2699/swift-ios-skills --skill device-integrity --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 3
SKILL.md size: 17 KB
Bundled scripts: none
Path: skills/device-integrity/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 963 · +28 this week
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Device Integrity Verify that requests to your server come from a genuine Apple device running a legitimate instance of your app. DeviceCheck provides per-device bits for simple flags (e.g., "claimed promo offer"). App Attest uses Secure Enclave keys and Apple attestation to cryptographically prove app legitimacy on sensitive requests. ## Contents - [DCDevice (DeviceCheck Tokens)](#dcdevice-devicecheck-tokens) - [DCAppAttestService (App Attest)](#dcappattestservice-app-attest) - [App Attest Key Generation](#app-attest-key-generation) - [App Attest Attestation Flow](#app-attest-attestation-flow) - [App Attest Assertion Flow](#app-attest-assertion-flow) - [Server Verification Guidance](#server-verification-guidance) - [Error Handling](#error-handling) - [Common Patterns](#common-patterns) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## DCDevice (DeviceCheck Tokens) [`DCDevice`](https://sosumi.ai/documentation/devicecheck/dcdevice) generates a unique, ephemeral token that identifies a device. Treat each token as single-use: generate a new token for each server operation instead of caching or reusing one. The token is sent t

What's inside
Steps it walks through
  1. Contents
  2. DCDevice (DeviceCheck Tokens)
  3. Token Generation
  4. Sending the Token to Your Server
  5. Server-Side Overview
  6. What the Two Bits Are For
  7. DCAppAttestService (App Attest)
  8. Checking Support
  9. App Attest Key Generation
  10. App Attest Attestation Flow
  11. Client-Side Attestation
  12. Server-Side Attestation Verification
  13. App Attest Assertion Flow
  14. Client-Side Assertion
Ships with 2 files
  • evals/evals.json
  • references/device-integrity-patterns.md
More from swift-ios-skills
All skills →
About this skill
What does the device-integrity skill do?

Verify device legitimacy and app integrity using DeviceCheck (DCDevice per-device bits) and App Attest (DCAppAttestService key generation, attestation, and assertion flows). Use when implementing fraud prevention, detecting compromised devices, validating app authenticity with Apple's servers, protecting sensitive API endpoints with attested requests, or adding device verification to a backend architecture.

How do I install it?

Run `npx skills add dpearson2699/swift-ios-skills --skill device-integrity --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From dpearson2699/swift-ios-skills, a repository with 963 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going