Resk
A self-hostable full-stack LLM firewall that provides capability-bitmask-based RBAC, programmable filtering policies and an endpoint compatible with the OpenAI interface, used to defend against attacks such as prompt injection.
Timeline (last 90 days)
Resk is a self-hostable full-stack LLM firewall that provides RBAC based on 64-bit capability bitmasks, editable filtering policies, and an endpoint compatible with the OpenAI interface (with logits-level filtering implemented underneath by resklogits).
Resk supports multi-provider routing, including OpenAI, vLLM, Ollama, and custom backends.
Resk's start.sh script automatically creates a Python virtual environment, installs dependencies, and initializes the SQLite database; the default administrator account is admin/changeme, the backend listens on port 8000, and the frontend is on port 5173.
In Resk, if the travel assistant does not need to call external tools, can_call_tools (bit 0) should remain unset, and any tool-call attempt will be blocked with a 403.
Resk's filtering policy compiles typical injection phrases (such as "ignore previous instructions" and "system prompt") into token bans, which are masked at the logits level via resklogits.
After pointing the travel assistant's chat completions request at the Resk endpoint (http://localhost:8000/v1/chat/completions) and carrying the JWT in the Authorization header, Resk applies the user's capability mask, compiles the policy, and post-filters the response.
Resk records agent sessions via the reskPoints bridge's POST /api/sessions/record, providing visibility into tool usage per session for auditing and anomaly detection.
Resk is not a silver bullet: it relies on predefined banned phrases and token masking, may fail against novel or obfuscated injections, and introduces latency and requires ongoing maintenance.
All Facts (8)
Resk is a self-hostable full-stack LLM firewall that provides RBAC based on 64-bit capability bitmasks, editable filtering policies, and an endpoint compatible with the OpenAI interface (with logits-level filtering implemented underneath by resklogits).
50%UnverifiedResk supports multi-provider routing, including OpenAI, vLLM, Ollama, and custom backends.
50%UnverifiedResk's start.sh script automatically creates a Python virtual environment, installs dependencies, and initializes the SQLite database; the default administrator account is admin/changeme, the backend listens on port 8000, and the frontend is on port 5173.
50%UnverifiedIn Resk, if the travel assistant does not need to call external tools, can_call_tools (bit 0) should remain unset, and any tool-call attempt will be blocked with a 403.
50%UnverifiedResk's filtering policy compiles typical injection phrases (such as "ignore previous instructions" and "system prompt") into token bans, which are masked at the logits level via resklogits.
50%UnverifiedAfter pointing the travel assistant's chat completions request at the Resk endpoint (http://localhost:8000/v1/chat/completions) and carrying the JWT in the Authorization header, Resk applies the user's capability mask, compiles the policy, and post-filters the response.
50%UnverifiedResk records agent sessions via the reskPoints bridge's POST /api/sessions/record, providing visibility into tool usage per session for auditing and anomaly detection.
50%UnverifiedResk is not a silver bullet: it relies on predefined banned phrases and token masking, may fail against novel or obfuscated injections, and introduces latency and requires ongoing maintenance.
50%