Agent-skills api-compliance-checker
install
source · Clone the upstream repo
git clone https://github.com/LambdaTest/agent-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/LambdaTest/agent-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/api/API-Compliance" ~/.claude/skills/lambdatest-agent-skills-api-compliance-checker && rm -rf "$T"
manifest:
api/API-Compliance/SKILL.mdsource content
API Compliance & Audit Skill
Design compliant API patterns for GDPR, PCI-DSS, HIPAA, SOC2, and other regulatory frameworks.
GDPR Data Subject Rights Endpoints
POST /api/v1/privacy/data-export-request — user requests copy of their data (Art. 20) GET /api/v1/privacy/data-export/{token} — download export (after processing) POST /api/v1/privacy/deletion-request — right to erasure (Art. 17) GET /api/v1/privacy/deletion-status/{id} — track deletion progress POST /api/v1/privacy/rectification — correct inaccurate personal data (Art. 16) GET /api/v1/privacy/consent — get user's consent records POST /api/v1/privacy/consent — record/update consent DELETE /api/v1/privacy/consent/{purpose} — withdraw consent for a purpose POST /api/v1/privacy/portability — export data in machine-readable format
Data Export Response
{ "request_id": "uuid", "status": "processing", "estimated_completion": "2024-01-02T00:00:00Z", "download_url": null, "expires_at": null }
Consent Record
{ "user_id": "uuid", "consents": [ { "purpose": "marketing_email", "granted": true, "granted_at": "2023-06-01T00:00:00Z", "ip_address": "1.2.3.x", "method": "explicit_checkbox" }, { "purpose": "analytics", "granted": false, "withdrawn_at": "2023-12-01T00:00:00Z" } ] }
PCI-DSS Field Masking Rules
| Field | Storage | API Response | Logs |
|---|---|---|---|
| Card number (PAN) | Tokenised only | | Never log |
| CVV/CVC | Never store | Never return | Never log |
| Expiry date | Encrypted | only | Never log |
| Cardholder name | Encrypted | Masked | Never log |
| Bank account number | Tokenised | Last 4 digits only | Never log |
{ "payment_method": { "type": "card", "last4": "4242", "brand": "visa", "exp_month": 12, "exp_year": 2027, "token": "tok_abc123" } }
HIPAA — Health Data Endpoints
PHI (Protected Health Information) rules:
- Minimum necessary data principle: return only fields required for the stated purpose
- All endpoints carrying PHI must require MFA-backed auth
- Audit log every access to PHI — who accessed what, when
GET /api/v1/patients/{id}/records — requires: HIPAA BAA, audit logged GET /api/v1/patients/{id}/medications — minimum necessary: only active prescriptions POST /api/v1/access-log/query — compliance officer audit log query
PHI fields requiring special handling:
name, dob, ssn, address, phone, email, mrn, diagnosis, treatment.
SOC2 Audit Log Schema
Every state-changing action must produce an immutable audit log entry:
{ "id": "evt_uuid", "timestamp": "ISO8601", "actor": { "type": "user|service|system", "id": "uuid", "ip_address": "1.2.3.x", "user_agent": "Mozilla/5.0..." }, "action": "user.deleted", "resource": { "type": "user", "id": "uuid" }, "changes": { "before": { "status": "active" }, "after": { "status": "deleted" } }, "result": "success|failure", "request_id": "uuid", "tenant_id": "uuid" }
Audit Log Query Endpoint
GET /api/v1/audit-logs Query params: actor_id, resource_type, action, from, to, result Response: paginated list of audit events
Audit log requirements:
- Immutable: no DELETE or UPDATE on audit records
- Retention: minimum 1 year online, 7 years archived (SOC2)
- Integrity: hash-chain or WORM storage to prevent tampering
- Export: CSV/JSON export for compliance officer review
Data Retention Policy Endpoints
GET /api/v1/admin/retention-policies — list policies by data type POST /api/v1/admin/retention-policies — define new policy POST /api/v1/admin/retention/purge-dry-run — preview what would be deleted POST /api/v1/admin/retention/purge — execute purge (requires 2-person auth) GET /api/v1/admin/retention/purge/{id} — track purge job progress
Retention Policy
{ "data_type": "user_activity_logs", "retention_days": 90, "action_on_expiry": "anonymise", "legal_hold": false, "regulation": "GDPR" }
Compliance Response Headers
X-Data-Classification: public|internal|confidential|restricted X-Data-Residency: EU X-Retention-Policy: 90d X-Audit-Logged: true
Compliance Checklist
- All PII fields documented in a data map
- Data subject rights endpoints implemented
- Consent captured and stored with timestamp + method
- PCI fields tokenised — never stored in plaintext
- Audit log on every state-changing operation
- Audit logs immutable and retained per regulation
- Data residency enforced at routing layer
- Encryption at rest (AES-256) and in transit (TLS 1.2+)
- Breach notification workflow documented
- Third-party API data sharing documented (Art. 28 GDPR)
After Completing the API output
Once the API output is delivered, ask the user:
"Would you like me to generate SDKs for API for this design? (yes/no)"
If the user says yes:
- Check if the api-sdk-generator on skill is available in the installed skills list
- If the skill is available:
- Read and follow the instructions in the api-sdk-generator skill
- Use the API output above as the input
- If the skill is NOT available:
- Inform the user: "It looks like the api-sdk-generator skill isn't installed. You can install it and re-run.
If the user says no:
- End the task here