[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M754VJMNTVE52891ATAAQE2A":3,"skill-same:01M754VJMNTVE52891ATAAQE2A":55},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":29,"commitSha":30,"skillDirectory":5,"forksCount":14,"repositoryHtmlUrl":31,"repositoryHomepageUrl":6,"ownerHtmlUrl":32,"ownerBlogUrl":33,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M754VJMNTVE52891ATAAQE2A","openevidence-security-basics",null,"Apply OpenEvidence security best practices for HIPAA compliance and PHI protection.\nUse when securing API keys, implementing PHI handling,\nor auditing OpenEvidence security configuration.\nTrigger with phrases like \"openevidence security\", \"openevidence hipaa\",\n\"openevidence phi\", \"secure openevidence\", \"openevidence compliance\".","SamuelChien\u002Fmega-skills-collection","SamuelChien","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F4652114?v=4","01M74KK34WVHA0P5ZYSJRDDFMG","Samuel Chien","01M74KK35FQN1N9VZ9EPTH3P2S",0,"MIT","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenevidence-security-basics\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: openevidence-security-basics\ndescription: |\n  Apply OpenEvidence security best practices for HIPAA compliance and PHI protection.\n  Use when securing API keys, implementing PHI handling,\n  or auditing OpenEvidence security configuration.\n  Trigger with phrases like \"openevidence security\", \"openevidence hipaa\",\n  \"openevidence phi\", \"secure openevidence\", \"openevidence compliance\".\nallowed-tools: Read, Write, Grep\nversion: 1.0.0\nlicense: MIT\nauthor: Jeremy Longshore \u003Cjeremy@intentsolutions.io>\ncompatible-with: claude-code, codex, openclaw\n---\n# OpenEvidence Security Basics\n\n## Table of Contents\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n- [Instructions](#instructions)\n- [Output](#output)\n- [Error Handling](#error-handling)\n- [Examples](#examples)\n- [Resources](#resources)\n\n## Overview\nSecurity best practices for OpenEvidence integrations handling Protected Health Information (PHI). Covers credential management, PHI sanitization, HIPAA audit logging, webhook verification, and data retention compliance.\n\n## Prerequisites\n- OpenEvidence SDK installed\n- Understanding of HIPAA requirements\n- Signed Business Associate Agreement (BAA)\n- Access to organization security policies\n\n## OpenEvidence Security Certifications\n- SOC 2 Type II certified\n- HIPAA compliant with BAA\n- AES-256 encryption at rest\n- TLS 1.2+ encryption in transit\n\n## Security Checklist\n- [ ] API keys in secret manager (not env vars in production)\n- [ ] BAA signed with OpenEvidence\n- [ ] PHI sanitization before all queries\n- [ ] HIPAA audit logging on all access\n- [ ] Webhook signatures verified\n- [ ] TLS 1.2+ enforced\n- [ ] Different keys for dev\u002Fstaging\u002Fprod\n- [ ] Key rotation schedule established\n- [ ] Data retention policy implemented\n\n## Instructions\n\n### Step 1: Secure Credential Management\nUse `.env` locally (gitignored), GCP Secret Manager or AWS Secrets Manager in production. Never hardcode credentials.\n\n### Step 2: Implement PHI Sanitization\nRemove names, dates, MRNs, SSNs from queries before sending to OpenEvidence. Map patient demographics to age ranges and condition categories instead of specific identifiers.\n\n### Step 3: Enable HIPAA Audit Logging\nLog all clinical queries and DeepConsult requests with userId, userRole, resourceId, ipAddress, success status. Never log actual query content or responses (may contain PHI).\n\n### Step 4: Verify Webhook Signatures\nParse `t=timestamp,v1=signature` header format. Compute HMAC-SHA256 with timing-safe comparison. Reject timestamps older than 5 minutes for replay protection.\n\n### Step 5: Configure Data Retention\n- Audit logs: 6 years (2190 days) -- HIPAA minimum\n- Query results: Do not store (re-query as needed)\n- DeepConsult reports: 1 year\n- Run daily cleanup job to enforce policies\n\n## Output\n- Secure credential management (GCP\u002FAWS Secret Manager)\n- PHI sanitization layer with pattern detection\n- HIPAA-compliant audit logging\n- Webhook signature verification with replay protection\n- Data retention compliance with automated cleanup\n\n## Error Handling\n| Security Issue | Detection | Mitigation |\n|----------------|-----------|------------|\n| Exposed API key | Git scanning alert | Rotate immediately, audit access |\n| PHI in query | Log pattern matching | Block request, alert compliance |\n| Failed signature | Webhook verification | Reject webhook, alert security |\n| Unauthorized access | Audit log review | Revoke access, investigate |\n\n## Examples\n\n### Secure Query Flow\n```typescript\nconst sanitized = sanitizeQueryForOpenEvidence(question, patientContext);\nconst response = await client.query({ question: sanitized.question, context: sanitized.context });\nawait auditLogger.logClinicalQuery(user.id, user.role, response.id, true, request);\n```\n\nSee [detailed implementation](${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation.md) for advanced patterns.\n\n## Resources\n- [OpenEvidence Security](https:\u002F\u002Fwww.openevidence.com\u002Fsecurity)\n- [HIPAA Security Rule](https:\u002F\u002Fwww.hhs.gov\u002Fhipaa\u002Ffor-professionals\u002Fsecurity\u002Findex.html)\n- [NIST Cybersecurity Framework](https:\u002F\u002Fwww.nist.gov\u002Fcyberframework)","# OpenEvidence Security Basics\n\n## Table of Contents\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n- [Instructions](#instructions)\n- [Output](#output)\n- [Error Handling](#error-handling)\n- [Examples](#examples)\n- [Resources](#resources)\n\n## Overview\nSecurity best practices for OpenEvidence integrations handling Protected Health Information (PHI). Covers credential management, PHI sanitization, HIPAA audit logging, webhook verification, and data retention compliance.\n\n## Prerequisites\n- OpenEvidence SDK installed\n- Understanding of HIPAA requirements\n- Signed Business Associate Agreement (BAA)\n- Access to organization security policies\n\n## OpenEvidence Security Certifications\n- SOC 2 Type II certified\n- HIPAA compliant with BAA\n- AES-256 encryption at rest\n- TLS 1.2+ encryption in transit\n\n## Security Checklist\n- [ ] API keys in secret manager (not env vars in production)\n- [ ] BAA signed with OpenEvidence\n- [ ] PHI sanitization before all queries\n- [ ] HIPAA audit logging on all access\n- [ ] Webhook signatures verified\n- [ ] TLS 1.2+ enforced\n- [ ] Different keys for dev\u002Fstaging\u002Fprod\n- [ ] Key rotation schedule established\n- [ ] Data retention policy implemented\n\n## Instructions\n\n### Step 1: Secure Credential Management\nUse `.env` locally (gitignored), GCP Secret Manager or AWS Secrets Manager in production. Never hardcode credentials.\n\n### Step 2: Implement PHI Sanitization\nRemove names, dates, MRNs, SSNs from queries before sending to OpenEvidence. Map patient demographics to age ranges and condition categories instead of specific identifiers.\n\n### Step 3: Enable HIPAA Audit Logging\nLog all clinical queries and DeepConsult requests with userId, userRole, resourceId, ipAddress, success status. Never log actual query content or responses (may contain PHI).\n\n### Step 4: Verify Webhook Signatures\nParse `t=timestamp,v1=signature` header format. Compute HMAC-SHA256 with timing-safe comparison. Reject timestamps older than 5 minutes for replay protection.\n\n### Step 5: Configure Data Retention\n- Audit logs: 6 years (2190 days) -- HIPAA minimum\n- Query results: Do not store (re-query as needed)\n- DeepConsult reports: 1 year\n- Run daily cleanup job to enforce policies\n\n## Output\n- Secure credential management (GCP\u002FAWS Secret Manager)\n- PHI sanitization layer with pattern detection\n- HIPAA-compliant audit logging\n- Webhook signature verification with replay protection\n- Data retention compliance with automated cleanup\n\n## Error Handling\n| Security Issue | Detection | Mitigation |\n|----------------|-----------|------------|\n| Exposed API key | Git scanning alert | Rotate immediately, audit access |\n| PHI in query | Log pattern matching | Block request, alert compliance |\n| Failed signature | Webhook verification | Reject webhook, alert security |\n| Unauthorized access | Audit log review | Revoke access, investigate |\n\n## Examples\n\n### Secure Query Flow\n```typescript\nconst sanitized = sanitizeQueryForOpenEvidence(question, patientContext);\nconst response = await client.query({ question: sanitized.question, context: sanitized.context });\nawait auditLogger.logClinicalQuery(user.id, user.role, response.id, true, request);\n```\n\nSee [detailed implementation](${CLAUDE_SKILL_DIR}\u002Freferences\u002Fimplementation.md) for advanced patterns.\n\n## Resources\n- [OpenEvidence Security](https:\u002F\u002Fwww.openevidence.com\u002Fsecurity)\n- [HIPAA Security Rule](https:\u002F\u002Fwww.hhs.gov\u002Fhipaa\u002Ffor-professionals\u002Fsecurity\u002Findex.html)\n- [NIST Cybersecurity Framework](https:\u002F\u002Fwww.nist.gov\u002Fcyberframework)",{"name":5,"author":24,"license":15,"version":25,"description":26,"allowed-tools":27,"compatible-with":28},"Jeremy Longshore \u003Cjeremy@intentsolutions.io>","1.0.0","Apply OpenEvidence security best practices for HIPAA compliance and PHI protection.\nUse when securing API keys, implementing PHI handling,\nor auditing OpenEvidence security configuration.\nTrigger with phrases like \"openevidence security\", \"openevidence hipaa\",\n\"openevidence phi\", \"secure openevidence\", \"openevidence compliance\".\n","Read, Write, Grep","claude-code, codex, openclaw","main","c2b1fdccc779e99ac814e55fb69ca8d71215dd0f","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection","https:\u002F\u002Fgithub.com\u002FSamuelChien","http:\u002F\u002Fsamuelchien.com\u002F","2026-05-26 08:27:14",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add SamuelChien\u002Fmega-skills-collection --skill openevidence-security-basics",{"tool":41,"command":42},"bunx","bunx skills add SamuelChien\u002Fmega-skills-collection --skill openevidence-security-basics",{"tool":44,"command":45},"pnpm","pnpm dlx skills add SamuelChien\u002Fmega-skills-collection --skill openevidence-security-basics","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenevidence-security-basics\u002FSKILL.md",true,[49],{"path":50,"resourceType":51,"resourceTypeDesc":52,"sizeBytes":53,"sourceHtmlUrl":54},"references\u002Fimplementation.md","REFERENCE","参考文档",2314,"https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fopenevidence-security-basics\u002Freferences\u002Fimplementation.md",[56,63,70,77,84,92],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":62,"publishedAt":19},"01M76R4WZQZAXGGXMQCA0FZ716","zustand-store-ts","Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state\u002Faction separation. Use when building React state management, creating global stores, or implementing reactive state patterns with Zustand.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzustand-store-ts\u002FSKILL.md",[],[],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":69,"publishedAt":19},"01M76R4T9KENDH7FENGZQHBW4G","zustand-store-creator","Zustand Store Creator - Auto-activating skill for Frontend Development.\nTriggers on: zustand store creator, zustand store creator\nPart of the Frontend Development skill category.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzustand-store-creator\u002FSKILL.md",[],[],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":19},"01M76R3YWN84B7SANJ52X799ZE","zero-trust-config-helper","Zero Trust Config Helper - Auto-activating skill for Security Advanced.\nTriggers on: zero trust config helper, zero trust config helper\nPart of the Security Advanced skill category.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzero-trust-config-helper\u002FSKILL.md",[],[],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":19},"01M76R3HNSV2AEYSKHM915GJ58","zapier-integration-helper","Zapier Integration Helper - Auto-activating skill for Business Automation.\nTriggers on: zapier integration helper, zapier integration helper\nPart of the Business Automation skill category.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzapier-integration-helper\u002FSKILL.md",[],[],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":88,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":19},"01M76R3DJSKAT4FA7DV4BF3GCE","zai-cli","Execute z.AI CLI providing vision, search, reader, and GitHub exploration via CLI and MCP.\nUse when user needs image\u002Fvideo analysis, OCR, UI-to-code conversion, error diagnosis,\nreal-time web search, web page to markdown extraction, or GitHub code exploration.\nTrigger with phrases like \"analyze this image\", \"search the web for\", \"read this page\",\n\"explore this repo\", or \"use zai\". Requires Z_AI_API_KEY.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fzai-cli\u002FSKILL.md",[],[],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":19},"01M76R2KAM699XE9AJVAWE4H2E","yt-research","Research competitor YouTube channels, niches, and trending topics for your content strategy.\nUse this skill whenever the user says \"research channels\", \"analyze competitors\", \"find trending topics\",\n\"niche analysis\", \"competitive research\", \"what are other creators doing\", \"scrape YouTube channels\",\nor wants to understand the competitive landscape for a specific tool or topic area. Use when working with yt research. Trigger with 'yt', 'research'.","https:\u002F\u002Fgithub.com\u002FSamuelChien\u002Fmega-skills-collection\u002Fblob\u002Fmain\u002Fyt-research\u002FSKILL.md",[],[]]