Featured project

DeployGuard

AI-powered application security and deployment readiness platform.

DeployGuard is the release gate for a registered service fleet. Teams register an application, run an inspection across health and security controls, and get a scored decision: deploy, hold for review, or block. Tony, the in-product advisor, answers from those results.

Product

The operations dashboard is the product surface: fleet posture, health versus security, services that need a decision, and the inspection calendar. The frame below is the DeployGuard demo UI, signed in on sample data.

DeployGuard · Production readiness

Interactive demo. Sign-in, inspections, and Tony stay in the browser. This copy does not call the DeployGuard API.

Problem

What it solves

A release decision with no shared gate

Health, headers, auth, secrets, and dependency risk usually live in different tools. DeployGuard puts a registered service on one gate so an owner, a security reviewer, and a release operator see the same score and the same block reason.

What it does

Register, inspect, score, advise

Register the service and its health URL. Run an inspection. Review health and security. Score readiness. Ask the advisor whether to ship. Open the result to print a readiness report. Scheduled services stay on a daily, weekly, monthly, or yearly calendar.

Inspection

An inspection walks a fixed sequence, then writes a health score, a security score, a readiness score, a written analysis, and recommendations. HTTPS is taken from the registered health URL. The other gates, dependency notes, header evidence, and method notes are produced by the inspection model and stored with the result.

1
Register handshakeConfirm the application, environment, stack, and release target.
2
Health and response timeLiveness, rolling uptime against a 99% bar, and a 280ms p95 budget.
3
Database and error handlingEncrypted connections, pending migrations, pool latency, and generic client errors.
4
Security controlsAuth, cookies, CORS, headers, rate limits, debug exposure, secrets, dependencies, uploads, and audit logs.
5
ScoreHealth and security penalties are subtracted from 100, then combined.
6
Advisor and verdictDeployment advice, then deploy, warning, or block.

Readiness

45% health, 55% security

round(health × 0.45 + security × 0.55)

Both scores are clamped from 0 to 100. A critical finding, or a readiness score under 60, blocks the release. 60 to 79 is a warning and needs a human review. 80 or above, with no critical findings, can deploy.

Deploy80+ and no critical findings.
Warning60–79. Hold a full cutover.
BlockUnder 60, or any critical gate.
Security checks

Nineteen gates are implemented. Four are health. Fifteen are security. Each failed gate carries a severity and a score impact, and the report lists what to fix first.

Health and reliability

Application health Response time Database Error handling

Security and compliance

HTTPS Authentication Authorization Session cookies CORS HSTS Content type options Frame protection Content Security Policy Rate limiting Debug exposure Environment variables Dependencies File uploads Audit logs

File uploads fail when a registered uploader writes into a public path or skips type and size checks. Session cookies are checked for Secure, HttpOnly, and SameSite. Dependency evidence is a lockfile-style table on the report, not a live advisory feed.

Advisor

Deployment advisor

Ready, risks, fix order

From the latest inspection, the advisor answers whether the service is ready, lists the biggest risks, orders the first fixes from P0 to P2, and recommends approved, hold, or blocked.

Tony

Workspace-trained answers

Tony trains on the registered apps and inspections. Without an API key, answers come from that DeployGuard data. With TONY_API_KEY, training can be compiled by the configured model. The default model is gpt-4o-mini.

Voice

Optional spoken reply

The app can speak a sentence through ElevenLabs when that provider is configured. The portfolio demo does not call a voice provider. Its voice button says so.

Implemented features

Fleet dashboard

Average readiness, healthy / warning / blocked counts, health and security bars, and recent gate results.

Application catalog

Register name, owner, email, environment, stack, health URL, repository, description, and whether the app accepts uploads.

Recurring inspections

Daily, weekly, monthly, or yearly. The dashboard lists what is due and can run due inspections.

Readiness report

Open an inspection to review gates, then print or download a report with the advisor decision.

Owner mail

After an inspection, the owner can be emailed the score and whether the release is cleared, on hold, or blocked.

Access control

People apply for access. An admin approves or denies. Roles cover admin, developer, DevOps, platform, security, and engineering manager.

Sessions

Passwords require 12 characters with upper, lower, number, and symbol. They are stored as PBKDF2-SHA-256. Sessions use an httpOnly cookie.

Notices and theme

In-app notices for new apps, finished inspections, and held releases. Light, dark, and system appearance.

SQL-backed API

The product UI calls a Node API. Applications, inspections, users, notices, and mail logs are stored in SQL Server.

Stack
React 19 TypeScript Vite React Router Tailwind CSS Chart.js Express SQL Server Helmet Tony · gpt-4o-mini ElevenLabs voice

No public GitHub repository or documentation site is configured for this project.