A website built by a security architect, not just a developer
Most sites are designed by one party and hosted by another, and the holes appear at the join. Here the same person designs the cloud architecture, the identity and the network, then writes the application on top — AI for speed, a certified architect for judgement.
A website isn’t a brochure. It’s an application connected to the internet, usually to a database, sometimes to your company directory. The contact form lands in a mailbox. Payment runs through a third party. The domain carries the whole organization’s email.
Which is why the two trades ought to talk to each other. The holes we find on a penetration test are rarely subtle craft: a database reachable from the internet, API keys committed to the repository, an admin panel with no second factor, a domain with no transfer lock. None of those are programming bugs. They are architecture decisions, made — or skipped — before the first line of code.
The application and the ground it stands on
- The application. Built on ASP.NET Core, bilingual where you need it, keyboard-accessible and fast on a phone. No purchased theme to untangle two years from now.
- The cloud architecture. An Azure design sized for your real load, with data kept in Canada and the environment described in code rather than clicked together by hand.
- Identity and access. Entra ID sign-in where it fits, a second factor on anything administrative, and rights granted to the minimum that works — not one shared account three people know.
- Network and web application firewall. Segmentation, a database that cannot be reached from the internet, a WAF in front of the site, and rate limiting on anything that can be hammered.
- Domain, DNS and email. Registrar lock, DNS kept correct, and SPF, DKIM and DMARC set properly — neither wide open nor tight enough to bounce your own mail.
- Deployment and recovery. Automated, repeatable deployment, verified backups and a tested way back — because a backup nobody has restored is not a backup.
- The documentation. What was built, why, and how to pick it up. Written for whoever inherits the file, which may well not be us.
AI writes fast. It doesn’t sign anything off.
AI genuinely changes the repetitive half of this work: scaffolding, tests, migrations, documentation. It is what lets one person deliver what used to need a small team, and we are not going to pretend otherwise.
What it does not do is decide. Generated code always looks plausible, including when it wires a database too broadly or takes an input without validating it. Everything produced here is read by an architect certified SC-100 and Azure Solutions Architect Expert, then put through static analysis, dependency scanning and testing before it goes live. It is the same scrutiny we bring to a client’s estate on a penetration test — turned on our own work.
The question to ask anyone building you a site in 2026 isn’t “do you use AI?”. It’s “who reads what it wrote, and with what training?”.
Two production sites, and they’re ours
This site is one of them. Cactus Security — our free, public security tooling — is the other. Both are bilingual, built on ASP.NET Core, hosted in Canada and run by us, not handed to a vendor for the serious half.
The page on how this site is secured lists what is switched on here: a per-request CSP nonce, HSTS, the browser permissions we deny, the one piece of third-party code we allow. It is a shorter list than a client build gets — this site has no sign-in and holds no customer data — but the same person decided every line of it, and you can read those decisions before you buy anything.
A fixed fee, agreed before anything starts
Most projects land between $5,000 and $20,000.
Scoping is free and carries no obligation: we look at what you do, what the site has to accomplish and what it connects to, then you get a firm price. If the estimate turns out to have been optimistic, that is our problem, not yours.
What the fee does not include: a round-the-clock availability guarantee. Cloud hosting is a separate service, and the platforms we put in place do run continuously — but we don’t sell a person on call at night, and we would rather say so before than after.
Frequently asked questions
What does a project cost?
Most projects land between $5,000 and $20,000, priced up front after a free scoping call. The spread is scope: a five-page brochure site and a customer portal with sign-in, a database and integrations are not the same build. You get a fixed fee before anything starts, and that fee holds even if the estimate turns out to have been optimistic.
Do you use AI to write the code?
Yes, and we say so plainly. AI takes the repetitive work — scaffolding, tests, documentation, migrations — which leaves more time for the parts that actually decide whether the thing is sound: architecture, threat model and review. Nothing ships because a tool produced it. Every line is read by a Microsoft-certified security architect (SC-100) and goes through static analysis, dependency scanning and testing before it goes live. AI writes quickly; it does not get to decide what is acceptable.
Who owns the code and the domain at the end?
You do. The code is yours, the domain is registered to your organization, and the cloud environment is built in your subscription where you have one. Nothing is held hostage: if you later hand the work to someone else, all of it leaves with you, documentation included.
Do you host it afterwards?
That is a separate option, not a condition. Cloud hosting is its own service you can take or leave, and you are free to keep hosting in your own Azure subscription — we configure it, you own it. What we do not do is promise round-the-clock human monitoring: platforms run continuously, people do not.
How is this different from a web agency?
A web agency designs the interface and leaves the rest to whoever hosts it. Here the same person designs the cloud architecture, the identity, the network segmentation and the web application firewall, then writes the application on top. This is not a question of talent: those two trades rarely sit in one head, and the holes show up exactly at the join — a database left facing the internet, secrets committed to the repository, a domain with no transfer lock.
Can you take over an existing site?
Often, yes. We start with an inventory: what is running, where, with which access and which dependencies. Sometimes the right answer is to harden what exists; sometimes the foundation is shaky enough that rebuilding costs less than patching around it. We tell you which one it is before you commit to anything.
Something to build, or something that worries you?
Both start with the same free scoping call, and an honest look at what’s already there.
Get in touch