AI-SDLC Accelerator · Live Demo
Type your own fake secrets below (or use the pre-filled examples) — the guardrails scan and redaction that follow run for real, live, in your browser, against exactly what you typed. Then the same file gets reviewed by two Claude models side by side, replayed from a real captured run.
"""Tiny order-lookup service — sample file for the AI-SDLC Accelerator demo."""
import sqlite3
# Fake credentials, filled in at demo time — never hardcoded here.
AWS_SECRET_ACCESS_KEY = "{{AWS_SECRET_ACCESS_KEY}}"
STRIPE_API_KEY = "{{STRIPE_API_KEY}}"
ON_CALL_CONTACT = "{{ON_CALL_CONTACT}}"
def get_user_orders(db_path: str, username: str):
"""Look up all orders placed by a given user."""
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Bug: string-formatted SQL is vulnerable to injection.
query = f"SELECT * FROM orders WHERE username = '{username}'"
cursor.execute(query)
return cursor.fetchall()
def average_order_value(order_totals):
"""Return the average of a list of order totals."""
# Bug: divides by zero when order_totals is empty.
return sum(order_totals) / len(order_totals)
Nothing here is sent anywhere or saved — it exists only in this browser tab while you use it. Edit these, or leave the examples as-is.
These pre-filled values are fake by default (one is AWS's own public documentation placeholder) — type your own to see the same detection logic catch a different shape.
| Model | Latency | Cost | Tokens in/out |
|---|---|---|---|
| claude-haiku-4-5 | 3.6s | $0.001514 | 424 / 218 |
| claude-sonnet-5 | 6.4s | $0.006704 | 587 / 553 |