Security by Design · Defense Infrastructure for Critical Applications

The most defended place to host what you cannot lose.

We don't sell hosting. We operate critical applications on infrastructure where defense is not a layer you add, but the nature of the environment. Built for sectors where failure is not an option.

Animated globe: worldwide traffic from the largest cities, weighted by population, strikes 15 major capitals. Each impact is judged by the WAF and logged with origin, target and decision.

< 1 ms latency added
0 external network hops
IPv4 + IPv6 dual stack
One roof infrastructure and defense, inseparable
The platform

One environment, every layer of defense built in.

Application firewall, behavioral filtering, DDoS mitigation, kernel-level banning, continuous monitoring and incident response are not products you assemble. They are capabilities of a single environment we operate for you. Every rule is engineered, every session analyzed, every block explained.

Session Intelligence

Real-time analysis and rate limiting of user sessions. Detects anomalous navigation patterns, automated scraping and data exfiltration attempts.

Application Firewall

The WAF layer, engineered around your application logic. Bespoke rules for your threat landscape: block or throttle by country, ASN, cloud provider, ISP or enterprise. One capability among many, not a bolt-on.

Data Exfiltration Shield

Blocks systematic database extraction, even with non-sequential or encrypted IDs. Enumeration patterns are detected regardless of obfuscation: exactly what signature-based WAFs miss.

NGINX-Native Logging

Every block carries a unique request ID, shown to the end user and logged in NGINX. Any block can be audited down to the exact rule triggered and the full request context.

Client Backoffice

Full control at your fingertips. Blacklist, whitelist, create, modify or delete any rule in real time through your dedicated management interface. Every change flows through the orchestrator: validated, traced, reversible.

Direct Engineering Access

You talk to the engineer who writes your rules. Continuous fine-tuning, threat intelligence and incident response. Not a chatbot, not a ticket queue.

Filesystem Write Lock

Your application code is read-only for the application itself and writable for you. The lock is enforced by the kernel on the runtime process: an exploit that reaches the application cannot install a webshell, alter an extension or inject pages, because it cannot write. Unlock a directory from your backoffice for the duration of an operation; it relocks itself after one hour, and every toggle is traced. Writable directories, uploads, cache, logs, are defined per profile and never executable.

Encryption and Recovery

Partitions encrypted with LUKS2 on request; for data in use, AMD SEV-SNP encrypts your virtual machine's memory against the host, on compatible hardware, from Fortress upward. We say where each stops: LUKS protects the disk, SEV-SNP the memory. Backups are what our restore guarantee stands on: two copies, in two datacenters run by two different providers, encrypted twice before they leave, the volume with LUKS2 and each file with AES. Daily by default with three months of retention, hourly on quotation. Restoration starts within minutes in business hours and completes within about an hour, depending on the volume to restore.

Under-Attack Mode

When an application-layer attack saturates the stack, the orchestrator switches the whole chain to under-attack mode: thresholds tighten, filtering turns far more aggressive, and curated whitelists hold. A Stripe webhook or a verified Googlebot still lands at the peak of the storm. Volumetric floods never reach this point. They are absorbed upstream, by hardware mitigation appliances in the datacenter network of our accredited hosting partner, before your server link: the right place for the wrong kind of traffic. Tyrant starts where that layer stops, at the request.

Why Tyrant.sh

Tyrant.sh vs. generic WAFs.

Cloudflare and AWS WAF protect at the network level. Tyrant.sh protects at the application level. Here is why it matters.

Position determines knowledge. A cloud WAF inspects your traffic in transit: anonymous requests, with no idea of what lives behind each endpoint. Tyrant.sh runs on your server, directly in front of your application, tuned by engineers who know your routes, your data model and the cost of every request. That proximity buys a depth of analysis and anticipation that is structurally out of reach for a cloud WAF: every path is classified before the first request ever arrives, sessions are correlated with real application behavior, and an attacker's next move is often predictable. Superior knowledge of your business is not something we bolt on. It is built into where we sit.

That position comes with privileges a cloud WAF will never hold: access to the application source code, to the file system, and to the real logs in both directions. We write to them, injecting the metrics a generic WAF doesn't know it needs. We read them back, mining weeks of live traffic to sharpen and reinforce the rules. Cloudflare strips the volumetric noise upstream; everything that reaches the server is the demanding part, requests that look legitimate and can only be judged with context. That is where Tyrant operates, and the precision shows in the numbers: on high-traffic production sites, we have run entire weeks with over 30% of requests blocked and zero false positives.

Network WAF (Cloudflare, AWS)
Tyrant.sh
Network WAFGeneric rules applied to all clients
Tyrant.shCustom rules engineered for your application
Network WAFNo access to your application: source code, file system and logs are out of reach
Tyrant.shSource-level access: application code, file system and real logs, read and written, inform every rule
Network WAFNothing to say once a request is through: what an exploit does inside the server is out of scope
Tyrant.shKernel-enforced write lock on application code: an exploit that gets through cannot install itself
Network WAFNo distinction between static and dynamic requests
Tyrant.shGranular policies per route: static assets vs database-heavy endpoints
Network WAFSequential ID crawling goes undetected
Tyrant.shDetects enumeration: sequential, non-sequential and encrypted IDs
Network WAFGlobal rate limiting, no business context
Tyrant.shSurgical rate limiting based on route cost and business logic
Network WAFOpaque block reasons, limited logging
Tyrant.shUnique request ID per block, full audit trail in your NGINX logs
Network WAFSelf-service configuration, no human support
Tyrant.shA named engineer, continuous fine-tuning
Network WAFNo pre-built rules for CMS, CRM or ERP platforms
Tyrant.shStandard rules for Laravel, Odoo, Nextcloud, WordPress and more, plus a generic attack pattern library
Network WAFTraffic routed through third-party servers: data leaves your infrastructure
Tyrant.shRuns inside your own stack: traffic never transits a third party's cloud
Network WAFIf your origin IP leaks, attackers bypass the cloud WAF and hit your server directly
Tyrant.shBans enforced at the kernel level, on the machine itself: banned IPs are dropped before NGINX, even on direct-to-origin attacks
Network WAFExternal network transit adds latency and points of failure
Tyrant.shRuns at the reverse proxy level: zero external hops, zero packet loss risk

Cloudflare is your armored door. Tyrant.sh is the armed guard behind it who checks every ID.

We recommend running Tyrant.sh alongside a network WAF such as Cloudflare for volumetric DDoS protection. Their free tier is sufficient.

Performance obsessed

Tyrant.sh doesn't slow you down. It speeds you up.

Upstream, Not After the Fact

Tyrant is not a fail2ban. A fail2ban reads logs after the damage and bans an address once the request has already crossed the web server and the application. Tyrant decides before: at the reverse proxy, in memory, before the backend web server ever starts working, and for banned sources at the kernel, before a connection is accepted. The log pipeline exists, but it feeds analysis and the fleet-wide blacklists; it is not where verdicts are made.

Decision Trees, Not Regex

Most WAFs evaluate each rule as a regular expression, one after the other: processing time grows with the rule count, which is why rule sets get capped. Tyrant's engine is built on decision trees. A request walks the tree once, whatever the number of rules and the number of criteria combined in each: method, path, parameters, headers, country, ASN, address history, session state. Thousands of rules, under a millisecond.

Proprietary End to End

No third-party technology in the protection chain: no open-source WAF wrapped in a service, no vendor module we do not control. Every layer, kernel to log pipeline, is ours, written with performance as an obsession and a minimal CPU and memory footprint. Filtering junk traffic relieves your server far more than the processing it adds.

Scale Down, Not Up

Eliminating unwanted traffic at the gate often removes the need to scale out, avoiding the cost and complexity of multi-server architectures.

Measured, not claimed

Real numbers, measured on your traffic. On some production deployments, filtering junk traffic before it reaches the application has cut compute consumption by an order of magnitude, and with it the saturation incidents that come with unfiltered traffic. Your figures depend on your traffic profile: we measure before and after during the audit, and report both.

Integration

A system, not a stack.

Every capability on this page exists somewhere on the market as a separate product: a WAF, an IP ban, a blacklist feed, a file lock. Our value is in none of them taken alone. It is in their vertical integration: proprietary layers from the kernel to the log pipeline, designed together, inside one unified infrastructure that we operate end to end, and that talk to each other permanently.

01

A verdict feeds the score

Each request the reverse proxy rejects costs the address points, whatever the rule that fired. The memory is the address's, not the rule's.

02

The score triggers the ban

Past the threshold, the kernel drops the address's packets before a connection is accepted: the exploit request it was building up to is never sent, at zero cost to the server.

03 · 04

Every verdict goes off path

The log pipeline runs the analyses too heavy for the request path and surfaces ranges, ASNs and patterns, for your environment and for the whole fleet.

05

Back to the proxy, for the next request

A range burned last night is refused this morning, on the first request, before any rule has to recognize a payload.

06

The lock closes what got through

If an exploit still reaches the application, it cannot write: no webshell, no altered extension, no injected page.

This diagram shows one loop, not the system: the layers and mechanisms you can see in your logs and your measurements. Other layers sit elsewhere in the stack, at points we do not describe in writing, and other mechanisms feed the same loop: an attacker has no business mapping them, and neither does a page. What stays verifiable is the same for every layer, disclosed or not: each block carries its identifier and its rule in your logs.

Bricks bought separately overlap badly and leave seams. Seams are exactly what an attacker looks for.

You will see the integration in your monthly report, through indicators that only exist because the layers talk.

Kernel drops

Packets from banned addresses rejected before NGINX, at no cost to the server.

Banned on noise

Addresses banned by their own scanning, before their exploit request was ever sent.

Ranges by neighbourhood

Ranges refused because neighbouring addresses attacked, here or elsewhere in the fleet.

Rules per layer

Which rule fired, at which layer, for every block, with its request identifier.

PHP load, before / after

Saturated workers, 5xx errors and CPU, measured on your traffic, month after month.

Security by design

Most applications are secured after they are built. Ours are built around the defense.

Security by design is not a label here. It is the order in which things were made. The protection was not added to an environment; the environment was designed around the protection. That single decision is why the numbers hold and the false positives don't appear.

The usual model
build the app → ship it → bolt a WAF in front

Security is the last layer, added once the application already exists. The firewall sees traffic from outside, blind to what each endpoint does. Gaps are the spaces between components nobody designed together.

The Tyrant model
design the defense → weave it through the stack → the app runs inside it

Defense lives in the kernel, the proxy and the application at once, conceived as one system. The application is hosted within the protection, never in front of it. There are no seams to slip through, because nothing was added after the fact.

This is what regulators mean by security by design, and what GDPR Article 25 requires: protection conceived from the start, not retrofitted. The architecture on the next screen is not a feature list. It is the proof that the environment was designed, from the kernel up, to defend what it hosts.

How it works

From onboarding to full protection in four steps.

STEP 01

Audit

We map your attack surface, application logic and business-critical flows, and take the baseline measurements.

STEP 02

Deploy

Deployed on accredited infrastructure and integrated with your NGINX stack. Zero downtime, zero change to your application, Cloudflare compatible.

STEP 03

Fine-tune

Custom rules are engineered for your environment and calibrated against your live traffic. Every pattern is validated with your team.

STEP 04

Monitor

Continuous monitoring, rule updates and periodic threat reviews by the engineer who owns your account.

Multi-layer by design

A system woven through the stack, not a plugin.

Tyrant.sh is not a single module sitting in front of a website. It is an 8+1+1 architecture: eight protection modules installed at eight points of the infrastructure, one supply module that keeps them armed, one orchestrator that keeps them coordinated. They interact under an ultra-strict specification covering protocol, traceability, memory footprint, security and performance: a verdict cannot wait, and every decision must be reconstructable.

The armory · keeps the chain armed

One job: pull from Tyrant.sh's servers, signed and verified, everything protection consumes, and nothing else. The flow is one way, out of the traffic path.

  • New and updated rules, emerging exploitation patterns
  • Fleet-wide blacklists: an address burned at one client is known to all
  • Curated whitelists of ultra-legitimate third parties, Stripe, Google, that must never be blocked
  • ASN and cloud ranges, GeoIP, Tor exits, verified crawlers, VPN and residential proxies
  • The modules' own updates
The orchestrator · one place to tune

It sequences the eight modules, watches their health and memory budgets, enforces the specification between them, and rolls out updates without ever interrupting a verdict. It is the one module you can tune, and the single point all tuning flows through.

  • Three channels: real-time adjustments from your traffic, your backoffice settings, your engineer's fine-tuning
  • Every change validated, attributed, traced, reversible
  • Any rule can run detect-only before it is allowed to block
  • Under-attack mode: thresholds tighten, whitelists hold, Stripe and Googlebot still land
The write lock · beside the chain

Enforced by the kernel on the application's own process: to the runtime, its code is read-only; to you, through SFTP, SSH or your deployment tooling, it is writable as ever. Code that runs inside the application cannot lift a restriction placed on its process.

  • Writable directories, uploads, cache, logs, declared per profile, never executable
  • Unlock from your backoffice for one operation; relocks itself after one hour
  • Every toggle attributed and traced
  • Protects the code, not the data, and we say so
8 modules at 8 points of the stack
+1 armory, supply only, one-way
+1 orchestrator, the single tuning point
0 changes to your application, ever
Nothing to change on your side

None of it touches your business application: no code change, no SDK, no redeployment, not a single update required on your side, ever. That complexity is ours to absorb, never yours. It is also why Tyrant.sh is deployed exclusively on infrastructure operated by accredited hosting partners: providers vetted for their engineering standards and contractually bound to protect our proprietary technology. Tyrant cannot be downloaded, and it cannot be installed on arbitrary infrastructure. If your application lives elsewhere, the migration to an accredited environment is scoped during the audit. Citadel clients can have a dedicated environment accredited for them.

Isolation by design

Every layer will fail one day. The next one must stop the spread.

That is the assumption we build on, and it is why the platform has several safety nets rather than one wall. Vertical isolation keeps a flaw in the application from reaching the system; horizontal isolation keeps a flaw in a system from reaching its neighbours. Each net is designed so that the one above it can be lost without consequence for the one below.

Vertical isolation

Inside a virtual machine, every component of your application runs in its own Docker container: the web server, PHP-FPM, each database in a container of its own, Redis, Elasticsearch, ClamAV. Every container runs as a non-root user, with its capabilities dropped, a seccomp profile, no-new-privileges and user namespaces, and it sees only the directories its own job needs: the MariaDB container cannot read the site's files, the PHP container cannot read MariaDB's. The reverse proxy itself is containerized; Tyrant's modules run on the host and inside containers, and the kernel module sits on the VM, below everything else. There is no direct SSH access to the virtual machine. Clients who need a shell get an SSH container of their own, with php-cli and Composer, holding the application code read-write, which is how deployments and updates keep working while PHP holds that same code read-only. That container reaches the databases, Redis, Elasticsearch and ClamAV over the network only, according to its configuration, and never sees the database files or their configuration.

Horizontal isolation

Between virtual machines, the rule is one KVM virtual machine per production environment, with its stagings alongside in their own sets of containers, on latest-generation AMD or Intel hosts with NVMe storage and a very low pooling of resources. In Sentinel and Fortress, the physical host is shared between environments, which may belong to the same client or to different ones: each VM has its own kernel, memory and disk, and there is no path from one to its neighbour, in either direction. In Citadel, the physical servers are reserved for one client, and the one-VM-per-environment rule still applies, because the remaining risk, however small, is not one we choose to keep.

Three CVEs that shook servers worldwide. No hold here, like many before them.

This is what the nets are for. Three privilege escalations that put nearly every Linux server on the planet at risk, each with a working public exploit, each used in real attacks: two in the Linux kernel, one in a userland helper every distribution ships. We detail these three because they are the best known; the same test, with the same outcome, has been run on many others since the platform exists, and it is run again whenever a new one appears. Functional exploits of the three, which our teams reproduced on common shared-hosting architectures, there opened the data of every other client on the same machine.

On ours they had no hold, and the reason is the same three times. An exploit is a chain: a foothold, then a primitive, then a capability, then a target. The foothold is not what we count on; an exploit in the application would give one. What the containers withhold is the next link, a setuid bit that elevates nothing, a namespace that cannot be created, a capability that is not there, or the value of the last one, a root that is an unprivileged user on the VM with nothing but its own directories in sight; and whatever survives that is bounded by one virtual machine, which is why the neighbouring environments were never in the picture.

CVE-2021-4034 · PwnKit · userland

What it is. A local privilege escalation in pkexec, polkit's setuid-root helper, shipped by every major Linux distribution: any local user becomes root. The bug had sat in the code since 2009 and was disclosed on 25 January 2022; it entered CISA's Known Exploited Vulnerabilities catalogue in June 2022 and has been used in ransomware campaigns.

Why it had no hold. Not because the binary was missing: pkexec was there, in the images we tested, and the exploit ran. Its reward was root inside the container, and that root is worth little. Containers run in user namespaces, so container root is an unprivileged user on the virtual machine; it saw the container's own directories and nothing else: not another environment's files, not another container's, not even the list of the VM's users. Today no-new-privileges closes the door one step earlier, since under that flag a setuid binary grants nothing at all, pkexec or another.

CVE-2022-0847 · Dirty Pipe · kernel

What it is. A flaw in the kernel's pipe buffers, from Linux 5.8 onward, that lets an unprivileged local user overwrite read-only files in the page cache and inject code into root processes. Disclosed on 7 March 2022, with public exploits within days; fixed in 5.16.11, 5.15.25 and 5.10.102.

Why it had no hold. Dirty Pipe writes only into the page cache of files the process can open for reading, and a container here can open nothing that belongs to another environment: not its data, not its users, not its binaries. Each environment runs under its own system user, in its own set of containers, with only its own directories mounted; the primitive had no neighbouring file to aim at. On the files it could reach, its own, the classic escalation, rewriting a setuid binary to become root, grants nothing under no-new-privileges and non-root. Measured result: blocked, and no propagation to any other user or environment. The one class of files two environments could ever share, the system files of a common image, holds no data and no user of anyone's; and it is why the virtual machine, one per environment, stays the last net below the containers.

CVE-2024-1086 · nf_tables · kernel

What it is. A use-after-free in the kernel's netfilter nf_tables component, introduced in 2014, giving a local user root. Disclosed on 31 January 2024 and patched in February; a public exploit followed in March with a 99.4% success rate on Debian and Ubuntu. CISA listed it as exploited on 30 May 2024 and confirmed ransomware use in October 2025.

Why it had no hold. The exploit needs an unprivileged user namespace, then a network namespace of its own, to reach nf_tables with CAP_NET_ADMIN. Three links are missing inside our containers. Docker's default seccomp profile allows clone only when the namespace-flag mask is zero, and that mask, 0x7E020000, includes CLONE_NEWUSER; unshare is in the group allowed only with CAP_SYS_ADMIN, a capability our containers never hold, so unshare -U returns "operation not permitted". The documentation's remark that the kernel gates every namespace flag "except CLONE_NEWUSER" describes the kernel, and is exactly the gap the profile exists to close. A network namespace is refused by the same rules, and in the one the container already lives in, CAP_NET_ADMIN is dropped, so nf_tables is out of reach there too. No namespace, no nf_tables, no double free.

The test protocol behind these three statements, kernel, Docker and runc versions, the attacker's starting point, the proofs of concept used and their results, is available during your briefing, under NDA. We would rather be checked than believed.

Sources: Qualys advisory on CVE-2021-4034 · dirtypipe.cm4all.com · Notselwyn's write-up and proof of concept for CVE-2024-1086 · CISA Known Exploited Vulnerabilities catalogue · Docker Engine documentation, seccomp default profile, its source in moby/profiles/seccomp/default.json, and moby issues #42441, #43086 and #49756 on clone and unshare.

Sectors

Built for sensitive industries.

We operate critical applications for organizations where a data breach is an existential threat. None of them is named here, and none ever will be: a client of a security company is not a reference to display, it is a target to protect.

Banking & Finance

Protect online banking portals, trading platforms and payment gateways from sophisticated attacks.

  • Anti-scraping on account data
  • Brute-force session protection
  • PCI-DSS and DORA-ready logging
Insurance

Secure customer portals handling sensitive personal and medical data against enumeration and exfiltration.

  • PII exfiltration detection
  • Policy data enumeration blocking
  • GDPR-ready audit trails
Healthcare

Defend patient portals and medical record systems against unauthorized data extraction.

  • DORA-compliant threat logging
  • Medical record scraping defense
  • Session anomaly detection
Government & Defense

Sovereign protection for government portals and sensitive public-sector web applications.

  • Geo-fencing & IP sovereignty
  • Advanced bot detection
  • Full audit compliance
Enterprise SaaS

Shield B2B platforms from API abuse, competitive scraping and credential stuffing attacks.

  • API rate limiting & abuse detection
  • Competitive intelligence blocking
  • Custom rule development
Gaming & Betting

Protect high-traffic platforms from fraud, multi-accounting and automated abuse at scale.

  • Multi-account fraud detection
  • Bot & automation blocking
  • Real-time session profiling
Tiers

Three levels of defended hosting.

Not a software subscription. Each tier is a managed environment where your critical application runs, defended end to end. Pricing is transparent, with no hidden fees.

Sentinel

Institutional
from $1,200 /mo
Non-institutional
from $800 /mo
  • Named security engineer
  • Dedicated KVM virtual machine, one per environment
  • Daily encrypted backups, two datacenters, two providers, 3-month retention
  • Up to 5 domains or aliases on the same environment
  • Standard rule set, plus custom rules on request within one business day
  • Session analysis
  • Filesystem write lock
  • Encrypted partitions (LUKS2), on request
  • Client backoffice
  • NGINX log integration
  • Automated supervision, self-healing and engineer alerting 24/7
  • Human intervention 24/7 in practice; guaranteed response to incident tickets in business hours, Monday to Friday, 10:00 to 19:00, Dubai time (UTC+4)
Contact sales

Citadel

Institutional
Custom
Non-institutional
Custom
  • Everything in Fortress
  • Dedicated hardware: physical servers reserved for you, one VM per environment
  • Dedicated accredited environment
  • SLA-backed response times
  • Regulatory compliance support
  • Executive threat briefings
  • Dedicated incident response
  • Block and challenge pages without any mention of Tyrant
Contact sales
Two prices, one product · the rules, in full
Institutional pricing

Institutional pricing applies to regulated sectors: banking, insurance, healthcare, public sector. It covers what those clients require beyond the engine itself: compliance documentation, auditor questionnaires and evidence packs, regulatory due diligence, and the recurring audits we commit to honor on their behalf.

Non-institutional pricing

Non-institutional pricing applies to organizations outside those sectors. Same engine, same rule sets, same named engineer, same environment: only the compliance workload is absent, because it is not needed. Eligibility is confirmed during the audit.

Starting prices, sized at audit

Every price is a starting price. It covers the base virtual machine, sized during the audit on latest-generation, high-frequency AMD or Intel hosts with NVMe storage and a very low pooling of resources: a vCPU here is physical core time, not a slice of an oversubscribed one. That base is enough for the large majority of applications, institutional ones included. The final price depends mostly on the resources your application actually needs, load and traffic analysed, and is validated with us before anything is deployed. Citadel environments run on physical servers reserved for you.

Staging and branded pages

Staging and pre-production environments cost 15% of the plan price per environment. Branded pages, the block page and the challenge page built to your own design and maintained with the platform: $100 per month per environment. From two production environments, whatever their tiers, each production environment comes with one staging environment at no charge, and the branded pages are included.

Trial month

One month free on your own application, as a Sentinel environment, in blocking mode, stateless; upgradable to Fortress or Citadel afterwards, and without the compliance work of the institutional tiers. A $500 transfer fee covers the migration in and, if you are not satisfied, the migration back; if you subscribe, it is credited against your first month.

Invoicing and VAT

Invoiced in USD from the United Arab Emirates, without VAT, as an export of services. A VAT-registered business in the EU accounts for its own VAT under the reverse-charge mechanism and deducts it in the same return: no cash advance, no foreign VAT to recover.

Estimate your monthly total

The same grid as above, one line per tier: mix them freely, a Fortress for the application that carries your data and a Sentinel for the site next to it. From two production environments, each one comes with a staging environment at no charge. Staging is never sold alone: adding one to a tier counts a production environment in that tier, and removing the last production environment clears its staging. Nothing is sent anywhere: the estimate is computed in your browser. Sizing of each environment is established during the audit, not here.

Sector
TierProduction environmentsStaging environments
Sentinel
Fortress
Citadel custom, scoped in the briefing
Request a briefing with this estimate Starting prices: the final figure depends mostly on the resources your application needs, and is validated with us after an analysis of your load and traffic. No hidden fees.
Who you work with

Not a self-service product. Not a call center either.

One owner

A senior security engineer owns your account end to end: rule design, tuning, monitoring review and incident response. The person who knows your application logic is the person who answers your escalations.

Around-the-clock monitoring

Automated monitoring analyzes verdicts and traffic patterns 24/7 and pages the on-call engineer when something needs human judgment.

Direct escalation

No tiers, no ticket roulette. The person who answers is the person who can fix it, backed by Synec's infrastructure practice.

FAQ

Common questions.

Is Tyrant.sh compatible with Cloudflare?

Yes. Tyrant.sh operates behind Cloudflare and is fully compatible with its CDN, proxy and DNS services. IPv4 and IPv6 dual stack are supported. We actually recommend keeping a network WAF such as Cloudflare in front for volumetric DDoS protection: their free tier is sufficient.

What happens during a DDoS?

Volumetric floods never reach your server. They are absorbed upstream, by hardware mitigation appliances in the datacenter network of our accredited hosting partner, before your server link: the right place for the wrong kind of traffic. A network WAF in front, if you keep one, adds a second layer, which is exactly what we recommend Cloudflare's free tier for. Tyrant starts where those layers stop, at the request: application-layer attacks are its job. The orchestrator switches the chain to under-attack mode and filters far more aggressively, while curated whitelists of ultra-legitimate third parties (Stripe, Google, payment and webhook providers) guarantee that what must never be blocked never is. Your payments keep landing in the middle of the storm.

What happens if an exploit gets through?

No firewall blocks what it does not know, ours included. What we do is reduce, layer by layer, the probability that an unknown exploit reaches the application: an attacker's own noise gets the address banned before the payload is sent; a fresh address is still judged on its range, its ASN and its nature; generic attack primitives are recognized without a dedicated rule; and a public exploit against your stack gets a virtual patch before the update is applied. Should something still get through, the filesystem write lock is the next wall: the code is read-only for the runtime, so the exploit cannot install a webshell, alter a component or inject pages. It protects the code, not the data in your database, and the update plan remains the priority; the filtering is what holds during the delay. If the environment is compromised all the same, we clean it and restore it from backup at our expense: two copies exist at all times, in two datacenters run by two different providers, taken daily with three months of retention, hourly on quotation; restoration starts within minutes in business hours and completes within about an hour, depending on the volume.

Does Tyrant.sh work with hosted platforms like Shopify or Wix?

No. Tyrant.sh is installed directly on your server at the reverse proxy level, which requires full infrastructure access. It is designed for full-stack applications (dedicated servers, VPS, cloud instances) operated through our accredited hosting partners. Hosted platforms do not provide the server-level access required for deployment.

How long does deployment take?

Initial deployment is typically completed within 48 hours on accredited infrastructure. If your application is hosted elsewhere, the migration to an accredited environment is scoped with you during the audit. Tyrant then opens in detect-only mode: verdicts are computed and written to your logs, nothing is enforced. That observation period runs several weeks, long enough for your real usage patterns to surface, including the monthly and seasonal ones. Enforcement is switched on only once those verdicts are confirmed against your own traffic, and tuning continues from there for as long as we operate the environment.

What do "business hours" mean?

Dubai working days and hours, on the Western calendar: Monday to Friday, 10:00 to 19:00, Dubai time (UTC+4), with the Western working week and its public holidays rather than the local ones. For a client in Paris that is 08:00 to 17:00 in summer and 07:00 to 16:00 in winter; for London, one hour earlier. Outside those hours, the platform does not stop watching: automated supervision runs around the clock, the defenses act on their own, bans, range bans, under-attack mode, whitelists, and so does most of what follows a failure. A database container that crashes at three in the morning is restarted by the orchestrator within seconds; the engineer is alerted all the same, and reads what happened, but the site was already back before anyone had to intervene. The same goes for a stalled process, a saturated PHP pool or a full log partition: recovery is automated first, alerted second, and the human comes third, for what the automation could not settle. Every major anomaly alerts an engineer, at any hour. In Sentinel, engineers do intervene at any hour in practice; what the contract guarantees is the response to incident tickets in business hours, and outside them that intervention is best effort: it usually happens, and it is not promised. In Fortress and Citadel it is promised, around the clock, with a response time and a penalty in the contract. That commitment is the difference between the two tiers, not the watching.

What counts as one environment, and what do "5 domains" mean?

One environment is one application on its own virtual machine: one code base, one database set, one filesystem, one protection profile. The five domains a plan includes are the hostnames that same application answers to, a main domain and its aliases, www and bare, a second TLD, a vanity domain pointing at the same site. Two applications with their own code and their own data are two environments, even if they belong to the same company and sit behind related domains: an extranet and the corporate site, for instance, are two. The estimator counts environments, not domains.

Can I install Tyrant.sh on my own infrastructure?

No. Tyrant.sh is an 8+1+1 architecture: eight protection modules communicating under an ultra-strict specification (protocol, traceability, memory footprint, security, performance), plus a supply module that keeps them updated from our servers and a global orchestrator that coordinates and tunes them. Its internals are a protected trade secret. It is deployed exclusively by Synec on infrastructure operated by accredited hosting partners. For Citadel clients, a dedicated environment can be accredited, including for sovereignty requirements.

Can I manage rules myself?

Yes. Your client backoffice gives you full control to blacklist, whitelist, add, modify or delete any rule in real time, applied through the orchestrator so every change is validated, traced and reversible. You are not expected to use it, though. Rule design, tuning and the resolution of any wrongly blocked request are your engineer's work, carried out in the same backoffice you see, so nothing is decided out of your view. In Sentinel, custom rules are written on request or in response to an incident, within one business day; in Fortress, they are also written on our initiative, from a weekly threat review.

What makes Tyrant.sh different from Cloudflare WAF?

Cloudflare WAF applies generic rules at scale, from outside your infrastructure. Tyrant.sh provides fine-tuned, application-specific protection engineered by people who understand your business logic, and it runs where a cloud WAF cannot: on your server, with full knowledge of what each endpoint serves and costs. We catch what automated WAFs structurally cannot see.

Is Tyrant.sh a fail2ban, a ModSecurity or a plugin?

None of them. A fail2ban reads logs after the fact and bans an address once the request has already been served. ModSecurity and its descendants evaluate regular expressions one by one inside the web server. A plugin runs inside the application it is supposed to protect and shares its fate. Tyrant decides upstream, at the reverse proxy and at the kernel, with a proprietary decision-tree engine and no third-party technology anywhere in the protection chain. The log pipeline feeds analysis and the fleet-wide blacklists; it does not make verdicts.

Why human-tuned rules instead of machine learning?

ML-based WAFs generate opaque anomaly scores and cannot understand your business logic. A traffic spike from a marketing campaign looks like an attack to a model. A human who knows your application builds rules that distinguish real threats from legitimate usage, with clear, auditable block reasons instead of black-box scores.

How do you handle false positives?

Rarely, and by construction rather than by luck. The default rule set targets the unambiguous: a client asking for password.txt or sitename.zip, or probing admin paths belonging to a technology your stack does not even run. Sitting on the server, with access to the source and the file system, we know what exists and what never did, so those requests are not a judgement call. Every deployment then opens with several weeks in detect-only mode: verdicts are logged, nothing is enforced, and rules go blocking only once your real traffic confirms them. The fine-tuning that follows adds rules for what slipped through; it is not a walk-back of rules that were too aggressive. On high-traffic production deployments, we have run entire weeks with over 30% of requests blocked and not one false positive: none reported by the client, none found in our own review of the verdicts.

When one does occur, the end user gets a block page carrying a unique request ID, with an invitation to pass it to the site's administrators. There is deliberately no contact link on that page: an open channel there collects automated noise, not signal. The same ID appears in your logs, alongside the exact rule that fired and the reason it did. Your engineer traces it, lifts the block and corrects the rule: for your application alone if the case is specific to you, across the whole fleet if the rule is a generic one. Kernel-level bans require sustained hostile volume from a single IP, so reaching one by accident is close to impossible; should it happen, it is lifted from the backoffice.

The pages a visitor may see, the block page and the challenge page, can be built to your own design and maintained with the platform as a template of yours: $100 per month per environment, included from two production environments. For Citadel clients, they also carry no mention of Tyrant.

Do you support regulatory compliance?

Yes. Tyrant.sh supports organizations subject to PCI-DSS, GDPR, DORA and regional financial regulations. Compliance documentation and audit logs are available through the backoffice.

Do you encrypt data at rest and in use?

At rest, on request and at every tier: partitions encrypted with LUKS2, so that a disk removed, replaced or decommissioned is unreadable without the key, including for a datacenter operator. The trade-off is operational: the volume must be unlocked at each boot, a step we handle, which adds a few minutes to a restart. Backups are encrypted twice, a LUKS2 partition for the volume and AES for each backup file inside it, so a copy that leaves the platform is unreadable on its own; they are kept in two datacenters run by two different providers, daily with three months of retention, hourly on quotation. In use, from Fortress upward and on compatible hardware: AMD SEV-SNP encrypts the memory of your virtual machine against access from the host, which is precisely where LUKS stops. On a running server, the decrypted volume is readable by the system; SEV-SNP is what closes that gap.

Can you share references?

Never on this site, in a sales deck or in a case study: a list of protected applications is a map for attackers, and our clients operate in sectors where discretion is part of the defense. References exist, and they are given privately, during your briefing, once we know who we are talking to: with the written consent of the client concerned, asked each time, in the form that client chooses, a peer-to-peer conversation under NDA more often than not. Until then, the proof is your own traffic: the one-month trial below runs Tyrant on your application, every verdict is written to your logs, and you judge on your own numbers.

Can I try Tyrant.sh before subscribing?

Yes: one month, free, on your own application and your own traffic. The trial is a Sentinel environment, whatever tier you end up choosing: you can move up to Fortress or Citadel afterwards, but the month itself is Sentinel, and it does not include the compliance work of the institutional tiers, documentation, auditor questionnaires, regulatory due diligence. We move your application to an accredited environment and run Tyrant in blocking mode, stateless: what a rule recognizes is blocked, request by request, and every verdict is written to your logs with its identifier and the rule that fired. The trial does not include what the full version adds on top, address memory, range bans, kernel enforcement, the fleet-wide blacklists and the backoffice; at the end, you receive the report of the month and a simulation of the full version on your logs, so that the difference is a table, not a promise.

The only cost is a transfer fee of $500. It covers the migration in and, if you are not satisfied, the migration back to where your application came from, at no further charge. If you subscribe, the $500 is credited against your first month.

Who operates Tyrant.sh?

Tyrant.sh is operated by Synec FZCO, a cybersecurity company for sensitive sectors, registered in Dubai Silicon Oasis (UAE) and serving clients in banking, insurance and the public sector. The engineers who operate Tyrant.sh are the engineers who built it.

Contact

Request your security briefing.

Send us your domains. We will assess your exposure and deliver a tailored threat report within 48 hours.

Write to [email protected]

Dubai, UAE · Paris, FR · Encrypted communications available