Join our Newsletter — 33% off our NHI Course

Should organisations replace WAFs with API monitoring for GraphQL and gRPC?

No. WAFs still matter for boundary validation, schema checks, and basic abuse suppression, but they are not sufficient on their own. Organisations should layer API discovery, runtime behavioural monitoring, and identity-aware enforcement on top of WAF controls so that execution-time abuse is visible and containable.

Why WAFs and API Monitoring Solve Different Problems for GraphQL and gRPC

Replacing a web application firewall with API monitoring treats two different control layers as if they were interchangeable. A WAF is designed to inspect inbound requests at the edge and suppress obvious abuse before it reaches the application, while API monitoring is used to observe how requests behave once they are interpreted by the service. For GraphQL and gRPC, that distinction matters because the interface can look valid at the transport boundary while still being abusive at execution time. NIST SP 800-53 Rev. 5 remains useful here because it distinguishes boundary protection, monitoring, and access enforcement as separate control functions, not a single substitute layer. NIST SP 800-53 Rev 5 Security and Privacy Controls In practice, many security teams discover the gap only after a GraphQL query or gRPC call has already consumed backend resources, bypassed normal edge heuristics, or exposed an access path the WAF never had enough context to judge.

How WAF Controls and Runtime API Visibility Complement Each Other

GraphQL and gRPC change the inspection problem. A WAF can still help by filtering malformed requests, blocking known exploit patterns, and enforcing coarse request constraints at the perimeter. That is valuable, but it is not enough to understand whether a request is legitimate once schema resolution, nested fields, service-to-service calls, or business logic are involved. API monitoring adds the missing runtime view: which operations are being called, by whom, at what rate, against which objects, and whether the call pattern matches expected use.

For GraphQL, the biggest practical issue is that a single request can hide a large amount of work, especially when deeply nested queries or excessive field selection are allowed. For gRPC, the issue is often different: binary transport and strongly defined service methods reduce some surface area, but they do not remove abuse of method-level privileges, object access, or high-frequency automated calling. A WAF can still contribute by rejecting obviously bad traffic and enforcing edge policy, but it cannot reliably infer whether the caller is overreaching within the API contract.

  • WAFs are strongest where the abuse is visible at the request boundary.
  • API monitoring is strongest where the abuse emerges only after parsing, routing, or authorization decisions.
  • Identity-aware enforcement becomes important when the same endpoint is safe for one principal and unsafe for another.
  • Schema governance matters because monitoring is weaker when the application contract itself is too broad or ambiguous.

That is why the better model is layered control, not replacement. A WAF reduces exposure to generic attack traffic, while monitoring and authorization controls reduce exposure to abuse that only becomes clear during execution. Where teams rely on the WAF as the primary API defense, the guidance usually breaks down once the service exposes high-value data or complex object-level permissions.

Where the Replacement Argument Breaks Down in Real Deployments

Tighter runtime monitoring often increases operational overhead, requiring organisations to balance visibility against latency, tuning effort, and alert quality. The replacement argument is weakest where the API surface is dynamic, the schema is large, or legitimate client behaviour is diverse enough that simple perimeter rules would create false confidence. That is particularly true for GraphQL introspection, nested queries, and batched operations, where edge-only inspection can miss the actual business effect of the request. For gRPC, the same problem appears when service methods are numerous or when a trusted internal network is assumed to be a safe boundary.

There is also a genuine consensus gap in the industry: some teams expect API gateways or observability platforms to absorb the WAF role, while others treat the WAF as sufficient because it already sits in front of the service. Both views fail when they erase the difference between pre-execution filtering and post-routing visibility. The practical answer is to preserve a WAF for boundary enforcement, then add discovery, behavioural policy, and identity context where the API contract creates deeper risk. OWASP and other API-focused guidance generally support this layered view, but the exact tool split varies by architecture and service model. In environments with tightly governed, low-complexity APIs, the edge layer may do more of the work; in high-change or high-value APIs, it usually does far less.

Risk and Threat Considerations

Replacing WAFs with API monitoring creates a control gap at the perimeter. The main risk is not that monitoring is ineffective, but that it sees too late to stop common abuse patterns such as request flooding, malformed payloads, schema probing, and high-cost operations that exhaust backend resources.

Failure mechanism: Attackers and abusive clients can send traffic that appears acceptable at the transport boundary but becomes harmful only after parsing, field resolution, method execution, or authorization checks. If the WAF is removed, the organisation loses an early suppression layer and must rely on runtime detection after the request has already consumed application or infrastructure capacity.

Impact: The result can be higher exposure to denial of service, abuse of overly broad API methods, weaker containment of unauthorised data access, and slower detection of anomalous use patterns across GraphQL and gRPC services.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

MITRE ATT&CK address the attack and risk surface, while NIST CSF 2.0, NIST CSF 2.0, NIST CSF 2.0 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
NIST CSF 2.0 PR.AC-4 GraphQL and gRPC abuse often depends on overbroad caller permissions.
Recommendation: Access should be limited so runtime API monitoring can enforce meaningful caller-specific boundaries.
NIST CSF 2.0 DE.CM-1 The question is about adding monitoring to edge controls for API traffic.
Recommendation: Monitoring is a distinct detection layer, not a replacement for boundary protection.
NIST CSF 2.0 PR.PT-1 Runtime API monitoring depends on records that reveal request and execution behaviour.
Recommendation: Logging and review are needed to observe abuse after requests pass the perimeter.
CIS Controls v8 8.2 API monitoring relies on logs to reveal request-level and execution-time abuse.
Recommendation: Audit records are necessary to detect API misuse that a WAF will not catch alone.
MITRE ATT&CK T1499 GraphQL and gRPC abuse can aim to exhaust backend resources through expensive requests.
Recommendation: Attackers may use costly API calls to consume resources even when traffic looks valid at the edge.

Practitioner Guidance

What to prioritise: Keep the WAF where it has clear boundary value, then define which API abuses must be detected after parsing and which must be blocked before execution. The useful distinction is not “WAF or monitoring,” but “which failure is cheapest to stop at the edge versus which requires runtime context.”

What to verify: Confirm that edge controls can still enforce basic request hygiene, while runtime controls can see schema-level or method-level behaviour, caller identity, and object access patterns. If neither layer can answer those questions, the gap is architectural, not merely operational.

Practitioner takeaway: Organisations should not treat API monitoring as a substitute for WAFs; the defensible posture is layered enforcement, because edge filtering and execution-time visibility protect against different classes of abuse.