SentrySentry
Sentry Auto

Framework Profiles

FrameworkProfile per stack

Framework Profiles

Each profile is a "preset" that knows the framework's structure and generates specific rules. Profiles are plugins (sentry-profile-*) that register a detector and a rule generator.

Framework table

FrameworkDetection (signals)Generated rules
WordPresswp-config.php, wp-login.php, wp-admin/Block wp-login.php brute-force rate-limit, allowlist /wp-admin/admin-ajax.php, protect wp-content/uploads, block xmlrpc.php abuse
Laravelartisan, composer.json with laravel/frameworkProtect /.env, block storage/logs, allowlist /storage/app/public, rate-limit /login
Next.jsnext.config.js, package.json with nextAllowlist /_next/static/* (CDN assets), protect /api/admin/*, block /.next/
Djangomanage.py, wsgi.py, settings.pyProtect settings.py, block admin/ brute-force, allowlist /static/
Flaskrequirements.txt with flask, app.pyDetect routes via @app.route (AST scan), protect /.env
RailsGemfile with rails, config/routes.rbParse routes.rb for valid routes, protect /admin/*
Expresspackage.json with expressDetect routes via AST of app.js/routes/
ASP.NET*.csproj with Microsoft.AspNetCoreProtect web.config, allowlist /wwwroot/*
Nginx confnginx.conf or sites-enabled/*Parse location blocks → exact known routes
Dockerdocker-compose.yml, DockerfileDetect exposed ports, internal services, generate a monitor per port

Anchor file detection

Anchor fileFramework
wp-config.phpWordPress
artisanLaravel
manage.pyDjango
app.py + flask depFlask
config/routes.rbRails
next.config.jsNext.js
*.csproj (AspNet)ASP.NET
nginx.confNginx
DockerfileDocker

Manifests

ManifestLanguage/Stack
composer.jsonPHP
package.jsonNode
requirements.txtPython
pyproject.tomlPython
GemfileRuby
*.csproj.NET

Multiple frameworks

If the scanner detects more than one framework (e.g. nginx + WordPress, or Laravel + Docker), the profiles are combined — routes and rules from all detected profiles are merged into sentry.auto.toml.

On this page