Skip to main content
Blog
Blog security

What Is RASP? Runtime Application Self-Protection Defined

RASP (Runtime Application Self-Protection) is a security technology that runs inside an application and blocks attacks from within at runtime, using the application's own context. This guide defines RASP, compares it to WAFs, and explains where its server-side model stops — and what plays the equivalent role in the browser.

Aug 18, 2026 3 min read
What Is RASP? Runtime Application Self-Protection Defined
Table of Contents

RASP — Runtime Application Self-Protection — is a security technology that runs inside an application and protects it from within. By instrumenting the application's runtime, RASP observes how input is actually used and can detect and block attacks at the moment of exploitation, with context a perimeter defense never sees.

How does RASP work?

RASP attaches to the application's runtime — a JVM agent, a .NET profiler, a Node instrumentation hook — and intercepts security-relevant operations: database queries, file access, command execution, deserialization. When a request's data reaches one of those operations in a way that matches exploitation (a parameter that rewrites the SQL structure, a path that escapes its directory), RASP can log it, alert, or block the operation in-process.

The defining property is context. A perimeter filter guesses maliciousness from the request's shape; RASP watches what the code actually does with it, which collapses most of the false-positive/false-negative trade-off.

RASP vs WAF vs client-side monitoring

WAFRASPBrowser-layer monitoring
Where it runsIn front of the appInside the server runtimeIn the visitor's browser session
SeesRequests and responsesActual code executionScripts executing on the page
Blind spotHow input is usedEverything client-sideServer internals
StopsKnown attack patternsExploits reaching the runtimeSkimming, injected scripts, data exfiltration
DeploymentNetwork-levelPer language/runtime agentScript tag

Where RASP stops

RASP's boundary is the server process. Everything that happens after the response leaves — the JavaScript your page and its dozens of third-party vendors execute in the visitor's browser — is invisible to it. A compromised analytics tag skimming a checkout form never touches the instrumented runtime; from the server's perspective, nothing abnormal occurred.

That client-side gap has its own attack classes — JavaScript injection, DOM-based XSS, Magecart — and, for payment pages, its own regulatory response in PCI DSS 4.0.1's script-inventory and tamper-detection requirements (6.4.3 and 11.6.1).

The browser-layer equivalent

The idea behind RASP — watch the runtime, not the perimeter — applies equally to the browser, where the "runtime" is every script executing in a real session. That is what cside's client-side monitoring does: it observes what each script actually does as it runs — DOM access, form reads, outbound requests — and flags behavior that shouldn't be there. cside is not a RASP; it is the same protection philosophy applied to the half of the application RASP cannot see. Most mature stacks end up with a WAF at the perimeter, RASP or equivalent controls in the server runtime, and runtime monitoring in the browser — layered client side security rather than any single box.

Simon Wijckmans
Founder & CEO

Founder and CEO of cside. Previously a product manager on Cloudflare Page Shield (now Cloudflare Client-Side Security). Co-chair of the W3C Anti-Fraud Community Group and a Forbes 30 Under 30 honoree. Building accessible security against client-side attacks, web security is not an enterprise-only problem.

FAQ

Frequently Asked Questions

A WAF sits in front of the application and filters traffic by inspecting requests against patterns; it has no visibility into what the application does with the input. RASP runs inside the application's runtime, sees the actual execution — the query being built, the file being opened — and blocks the exploit at that point. WAFs are easier to deploy and protect anything behind them; RASP is more precise but is language/runtime-specific and adds in-process overhead.

No. RASP instruments the server-side runtime — JVM, .NET, Node, and similar. The JavaScript executing in your visitors' browsers, including every third-party tag, is outside its reach entirely. Attacks that live in the browser, like Magecart skimming, formjacking, and DOM-based XSS exploitation, happen after the server's work is done, which is why the browser layer needs its own runtime monitoring.

They cover different failure modes and are commonly layered: the WAF absorbs commodity noise at the perimeter, RASP catches what reaches the application with exploit-level context. Whether the added in-process complexity is worth it depends on your runtime, risk profile, and how much unpatched legacy code the RASP would be shielding. Neither addresses the client side, which is a separate decision.

Monitor and Secure Your Third-Party Scripts

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Start free, or try Business with a 14-day trial.

cside dashboard interface showing script monitoring and security analytics
Related Articles
Book a demo

Want to walk through this with an engineer?

Thirty minutes, on your own site. Not a slide deck.

We'll show you:

Which third-party scripts are running on your site right now
Where you stand on PCI DSS 6.4.3 and 11.6.1
How much of your traffic is bots and AI agents

Rather just send a question?

Finding open slots…

Real humans only. We'd know.

Having trouble booking? Open scheduler in a new tab

What are you trying to solve?

Tell us in a line and we'll come back with something useful, not a generic pitch.

We usually help with:

Seeing which third-party scripts run on your site
PCI DSS 6.4.3 and 11.6.1 evidence
Bots, AI agents and account takeover

Prefer to just book a time? Pick a slot instead