Please do not open a public GitHub issue for security vulnerabilities.
Report vulnerabilities privately via one of:
- Email: security@form.io
- GitHub: privately report a vulnerability on this repository
Include a description of the issue, steps to reproduce, and the affected package (@formio/uag, @formio/uag-claude) or image (formio/uag, formio/uag-claude) and version. We will acknowledge receipt within 5 business days.
Only the latest published version of each package and image receives security fixes.
- The UAG is a server you deploy. It holds credentials for the Form.io deployment it is bound to —
PROJECT_KEYorADMIN_KEY— and signs its own JWTs withJWT_SECRET. Treat all three as secrets and supply them through your platform's secret store rather than a committed file. BASE_URLis published in the.well-knownOIDC (PKCE) definitions and used for authentication callbacks. Point it at the URL clients actually reach, and use a public URL only when remote agents genuinely need to connect in.NODE_TLS_REJECT_UNAUTHORIZED=0disables TLS certificate verification for all outbound requests. It exists for local and internal deployments using self-signed certificates — never set it on a deployment reachable from outside your network.CORSdefaults permissively for ease of local development. Restrict it before exposing the UAG beyond a trusted network.- Integrations under
integrations/run their own MCP client and connect outward to the UAG, so the UAG does not need to be publicly reachable for them to work. Prefer a private network over a public endpoint where possible.