You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement strict input validation on REST (OpenAPI 3.1) and GraphQL boundaries per doc 13 §8.1, §8.2. REST: OpenAPI is the source of truth; oapi-codegen generates Go request types with strict validators; unknown fields rejected by default (additionalProperties: false); numeric ranges, string lengths, and enums enforced before the handler. GraphQL: schema-first with gqlgen; variables validated by runtime; no JSON scalar except for BlockAttributes (validated downstream by block registry); introspection disabled in production by default with super-admin opt-in. Also: URL-bearing fields canonicalized (§8.4), JSON body/depth/array caps (§8.5).
Summary
Implement strict input validation on REST (OpenAPI 3.1) and GraphQL boundaries per doc 13 §8.1, §8.2. REST: OpenAPI is the source of truth;
oapi-codegengenerates Go request types with strict validators; unknown fields rejected by default (additionalProperties: false); numeric ranges, string lengths, and enums enforced before the handler. GraphQL: schema-first withgqlgen; variables validated by runtime; noJSONscalar except forBlockAttributes(validated downstream by block registry); introspection disabled in production by default with super-admin opt-in. Also: URL-bearing fields canonicalized (§8.4), JSON body/depth/array caps (§8.5).Design reference
Acceptance criteria
additionalProperties: falseon every schema (or explicitx-allow-additionalopt-in)oapi-codegenintegrated with strict validators in the request-decoding pathJSONscalar exceptBlockAttributesDependencies
none
Complexity
L