# Convex Authz > Audit and harden Convex authorization: identity-from-arg impersonation, missing per-document ownership checks, PII-leaking public queries, and writes into containers the caller doesn't own. Deterministic scan + canonical requireIdentity/requireOwner fix + tsc verify. Use for 'secure my app' / 'audit auth' / 'who can access this data', not generic code review. Source: https://skillsagentes.com/skills/get-convex/agent-skills/convex-authz Repository: https://github.com/get-convex/agent-skills Author: get-convex License: not specified Updated: hace 10 días Context cost: 90 tok installed, 2.3k tok once triggered, 2.3k tok with every bundled file Bundle: 1 file, 9 KB Permissions requested: none declared ## Install ```bash npx -y skills add get-convex/agent-skills --skill convex-authz --agent claude-code ``` ## What it does - Escanea todo convex/**/*.ts con regex para 4 patrones: identity-from-arg, falta de ownership check, PII expuesta en queries públicas y escritura en contenedores ajenos - Verifica primero si existe una base de auth (auth.config.ts + tabla de usuarios con subject) antes de inyectar ctx.auth - Aplica el patrón canónico requireIdentity/requireOwner de convex-expert.md a cada hallazgo, o convierte funciones a internalQuery/internalMutation si falta la base de auth - Corre npx tsc --noEmit tras los cambios y vuelve a escanear para confirmar 0 hallazgos restantes - Reporta cada hallazgo con archivo:línea, por qué es explotable y el diff aplicado ## Use it when - El usuario pide 'secure my app', 'audit auth' o 'who can access this data' - Se necesita revisar impersonación por identity-from-arg, checks de ownership faltantes, filtrado de PII o escrituras en contenedores no propios ## Don't bother when - No hay directorio convex/ en el proyecto - Se busca una revisión de código general (rendimiento, esquema, validadores) — eso corresponde a convex-reviewer ## What triggers it - "Audita la autorización de mi app Convex" - "Revisa si alguien puede acceder a datos de otro usuario en mis queries" - "¿Quién puede acceder a estos datos en mi backend Convex?" - "Refuerza la seguridad de mis mutations en convex/" ## Before you install - Requiere un directorio convex/; para inyectar requireIdentity/requireOwner hace falta auth.config.ts con proveedor y una tabla de usuarios indexada por el subject de auth. ## Files - SKILL.md — 9 KB ## SKILL.md Not reproduced here. Read it at https://github.com/get-convex/agent-skills/blob/main/skills/convex-authz/SKILL.md --- Skills Agentes — https://skillsagentes.com/skills/get-convex/agent-skills/convex-authz