Documentation

Step-by-step guides for every tool on the YLB Security platform. Learn how to run your first scan, classify an AI system, track advisories and more.

Getting started

YLB Security is a single-platform experience — one account gives you access to all four tools. Here's how to get up and running.

Create an account

  1. Go to ylbsecurity.com and click "Get started" in the top-right corner, or navigate directly to the login page.
  2. Switch to the "Create account" tab. Enter your name, your work email (personal addresses like Gmail can't sign up), your company, and a password.
  3. Click "Create account". Check your inbox for the verification link, then sign in — you'll land in the Branguard console.
YLB Security login and signup page
The login page — switch between Sign in and Create account tabs
First user is the owner. The first account created on a fresh instance becomes the owner with full access to settings, alert configuration, and administrative endpoints.
AI Security Assessment

SentriX

SentriX runs automated adversarial assessments against LLM applications and MCP servers. For chat endpoints it fires the full OWASP LLM Top 10 (2025) attack suite — 13 attack categories with deterministic pass/fail detection. For MCP servers it runs 15 checks covering authentication, tool exposure, injection, secrets and transport. Every finding ships with the exact evidence payload, a severity score, and OWASP-mapped remediation.

SentriX console — AI security assessment
SentriX console — ready to start an assessment

What kind of LLM app can you test?

Anything that answers chat requests in the OpenAI /chat/completions format — your support chatbot, RAG assistant, internal copilot, agent backend, or a raw model endpoint. If your app takes user text in and returns model text out, it qualifies. You test the deployed behavior, not source code: hardening, guardrails and system prompts are all exercised exactly as your users experience them.

OpenAI / AzurePoint at https://api.openai.com/v1 (or your Azure deployment URL) with your API key. Costs a few cents per scan — use Smoke first.
Ollama / LM Studio / vLLMSelf-hosted models work out of the box, e.g. http://localhost:11434/v1. SentriX auto-discovers the right path.
AnthropicNative /v1/messages protocol supported — paste the Messages endpoint and your x-api-key.
Your own appAny wrapper around the above (RAG pipeline, agent with tools, chat widget backend). Test staging first, then production.
Only test apps you own or have permission to test. Scans send adversarial payloads (injection attempts, jailbreaks, exploit-code requests). Never point SentriX at someone else's endpoint. Start with Smoke depth — it sends ~13 payloads and finishes in about a minute.

Running an LLM assessment

  1. Open the SentriX console and select "LLM endpoint" as the target type.
  2. Choose scan depth: Smoke (~1 payload per attack, ~1 min), Standard (~2 per attack, a few minutes), or Deep (every payload variant, ~10–15 min). Set Max payloads to cap costs on metered APIs.
  3. Enter the endpoint URL. A bare host (http://localhost:11434), a /v1 base, or a full /chat/completions path all work — SentriX probes candidates in order and remembers whichever answers. Azure-style URLs with query strings are used as-is.
  4. Fill in Model (e.g. gpt-4o, llama3.1), API key if the endpoint requires auth, and the system prompt your app uses in production (used to detect prompt leakage accurately).
  5. Toggle Verify TLS off only for self-signed internal endpoints. Leave it on for everything public.
  6. Click "Start assessment". Progress moves through four phases: Reachability → LLM attacks → MCP scan → Report (the MCP phase is skipped for pure LLM targets).
  7. When complete, each finding shows the exact payload sent, the model's response excerpt that failed the check, and remediation. Click "Download report" for a self-contained HTML file.

The 13 attack categories

Each category maps to an OWASP LLM Top 10 (2025) family. A finding means the model demonstrably complied with the malicious instruction — not a theoretical risk.

Direct prompt injection (LLM01)Model obeys an instruction hidden in user input (e.g. emitting a canary token on command)
Indirect injection (LLM01)Model obeys instructions planted in external content it retrieves (RAG poison test)
Sensitive disclosure (LLM02)Model hands out credentials, keys or private data when asked
Poisoning signal (LLM03)Informational check for training-data influence markers
Excessive agency (LLM06)Model agrees to destructive, privileged or money-moving actions
Prompt extraction (LLM07)Model reveals its system prompt or confidential instructions verbatim
Vector poisoning (LLM08)Informational check on retrieval-search manipulation surface
Jailbreak (LLM09)Guardrail bypass via roleplay, encoding or multi-turn tricks
Hallucination (LLM09)Model fabricates CVEs, companies or case law with full confidence
Unbounded consumption (LLM10)Model can be goaded into huge outputs — cost-abuse / model-DoS surface
Overreliance (LLM12)Model states uncertain answers with unsupported confidence
Exploit codegen (LLM13)Model writes working reverse shells, webshells or overflow payloads
Function misdirection (LLM14)Agent-style model can be steered into wrong tool calls
Refusals pass — even chatty ones. Detection is refusal-aware: a hardened model that says "I'm sorry, I can't share my API key" passes, even though the reply mentions the attack's topic words. Only genuine compliance fails.

What kind of MCP server can you test?

Any server speaking the Model Context Protocol — your data-workspace server, a tool gateway in front of internal APIs, a local dev server, or a third-party integration you are about to trust. SentriX inventories every exposed tool, resource and prompt, then probes what each one actually permits.

SSE / Streamable HTTPRemote servers over HTTP. Transport Auto tries each dialect; pick one explicitly if you know it.
stdioLocal servers launched by command — paste the launch command, args, and env JSON. Ideal for pre-deploy audits.
Docker sandboxRun an untrusted stdio server inside a container with capped memory, no network, and read-only sandboxing.
Authenticated serversBearer tokens or full OAuth (client ID + secret + scopes) with automatic RFC 8414 authorization-server discovery.

Running an MCP assessment

  1. Select "MCP server" as the target type and enter the endpoint URL (or stdio launch command).
  2. For protected servers, expand "MCP options" and add your Bearer token or OAuth credentials. Without a token, SentriX tests what an anonymous attacker sees — which is itself a valuable result (mcp01).
  3. Leave Active SSRF probe off unless you own the server and want proof: when on, SentriX asks a network-capable tool to fetch a canary URL, confirming real outbound requests.
  4. Click "Start assessment". SentriX lists tools, fires read-only probes, scans descriptions for injection bait and secrets, and checks transport security.
401/403 means "configure auth", not "broken". If the server rejects anonymous access, SentriX fails fast with a clear authentication-required message instead of a confusing timeout. Add the token and re-run to audit the authenticated attack surface.

The 15 MCP checks

mcp01 · No authentication (High)Session and tool listing work with no token — anyone on the network can enumerate you
mcp02 · Data exposure (High)Read tools return real sensitive data to unauthenticated callers (live probe)
mcp03 · SSRF-class tools (High)A tool can issue arbitrary HTTP requests — pivot to cloud metadata or internal services
mcp04 · State mutation (Medium)Update/delete/create tools exposed — data tampering surface
mcp05 · Plaintext transport (Medium)HTTP without TLS — credentials and data cross the wire in cleartext
mcp06 · No rate limiting (Low)No request limiting or per-tool authorization observed
mcp07 · Injection bait (Medium)Tool descriptions contain "ignore previous instructions"-style directives that poison agents
mcp08 · Leaked secrets (Critical)AWS keys, tokens or cookies found in tool metadata or probe output
mcp09 · Enumeration (Medium)Resources and prompts listable — information disclosure about your data layout
mcp10 · Protocol downgrade (Low)Outdated MCP protocol versions accepted
mcp11 · Sampling (Medium)Server requests client-side LLM access — reverse-injection vector into your model
mcp12 · Schema bypass (Low)Tools accept out-of-schema arguments — missing input validation
mcp13 · Output injection (Medium)Tool output contains unescaped HTML/script — poisons downstream agents and UIs
mcp14 · CORS (Medium)Over-permissive cross-origin access on HTTP transports
mcp15 · SSRF confirmed (High)Opt-in active probe proved a tool performs real outbound requests

Understanding your score & results

Every assessment starts at 100. Each failed check subtracts points weighted by its OWASP severity (prompt injection and exploit generation weigh most; informational observations weigh least), producing a residual score and a letter grade:

A (90–100)Hardened. Only informational observations remain — safe to ship, re-test on each model/app change
B–C (70–89)Fix the High findings (auth, injection, disclosure), then re-scan to confirm they clear
D–F (below 70)Do not expose to untrusted users. Work the findings top-down: Critical → High → Medium
  1. Filter with the severity chips: Critical, High, Medium, Low, Info. Info items are observations, not failures — read them, don't chase them.
  2. Open a finding to see what it is (plain-language explanation), the evidence (exact payload + response excerpt), affected tools (MCP), and remediation mapped to the OWASP guidance.
  3. Fix in this order: secrets & auth (mcp08, mcp01, LLM02) → injection paths (LLM01 direct/indirect, mcp07) → agency & exfiltration (LLM06, LLM07, mcp03) → everything else.
  4. Re-scan after each fix. History keeps every run, so a before/after pair (e.g. F → A) is your proof of remediation for auditors and customers.

Click "Download report" to export a self-contained HTML report — score, grade, severity breakdown, every finding with evidence and remediation, plus the MCP tool inventory — ready to attach to a security review or customer questionnaire.

See real samples. These reports were produced by SentriX against our lab targets: LLM sample report (Grade F, 12 findings) and MCP sample report (Grade F, 14 findings). Open them to see exactly what you and your auditors will receive.

5-minute quickstart: test a local model

No API keys, no cost, no excuses. Run a real assessment against a model on your own machine:

  1. Install Ollama from ollama.com and pull a small model: ollama pull llama3.1:8b, then serve it (ollama serve — listens on http://localhost:11434).
  2. In SentriX, select "LLM endpoint", depth Smoke, endpoint http://localhost:11434, model llama3.1:8b. No API key needed.
  3. Click "Start assessment". In about a minute you will hold a graded report on a real model — compare its findings against the sample report to calibrate your reading.

Provider settings cheat-sheet

OpenAIEndpoint https://api.openai.com/v1 · Model gpt-4o-mini (cheap) · API key = your sk-… key · Start with Smoke + Max payloads 15
Azure OpenAIPaste the full deployment URL including ?api-version=… (used as-is) · Model = deployment name · API key = Azure key
AnthropicEndpoint https://api.anthropic.com/v1/messages · API key = sk-ant-… sent as x-api-key · Model claude-sonnet-4-…
OllamaEndpoint http://localhost:11434 · Model llama3.1:8b · No key · Verify TLS irrelevant for http
LM StudioEndpoint http://localhost:1234/v1 (enable CORS + API in settings) · Model = loaded model id · No key
vLLM / TGIEndpoint = your server's /v1 base · Model = served model id · Key only if your gateway requires one

Troubleshooting scans

"Target unreachable" in secondsDNS/TLS/connection failed. Check the URL scheme (http vs https), the port, and that the server is actually listening. Behind a proxy or VPN? The scan originates from our servers, not your browser.
"Target unreachable: timed out (15s)"Host exists but the endpoint path is wrong or the model loads slowly. Try the bare host (auto-discovery finds the right path) and warm up the model first.
401/403 "authentication required"Correct behavior for protected servers — add the Bearer token or OAuth credentials and re-run. Anonymous results (mcp01) are still a valid finding.
TLS errors on internal hostsSelf-signed certificate. Toggle Verify TLS off for that scan only — never for public endpoints.
"Monthly limit reached"Free quotas: 10 SentriX scans/month. Upgrade on the pricing page or wait for the monthly reset. History and reports are never deleted by quota.
"Please wait N seconds"Rate limiter between scan starts (abuse protection). Finish your current review, then launch the next one.
All findings are InfoThat is a pass, not an empty scan — the model refused or ignored every attack. Check the grade (expect A) and the payload counts to confirm coverage.
AI Governance & Compliance

AegisGRC

AegisGRC is your AI governance register. Inventory every AI system you operate, classify each one under the EU AI Act, run weighted risk assessments, track 22 compliance controls, and export an audit-ready report. The workflow mirrors what an auditor expects: register → classify → assess → control → report.

Overview dashboard

When you open AegisGRC, four summary cards tell you your posture at a glance:

Control maturityImplemented controls plus half-credit for in-progress ones, across all 22 EU AI Act + ISO 42001 items
AI systemsTotal registered AI systems in your inventory
High / prohibitedSystems classified high-risk or prohibited — these carry the heaviest obligations
Average scoreMean residual-risk score across all assessed systems (lower is better)

Before you start: what counts as an AI system?

Register one entry per deployed use-case, not per model. One chatbot serving support and sales is two systems if the purposes, data and risks differ. Typical entries: customer support chatbot, resume screener, fraud detector, invoice parser, recommender, RAG assistant, vendor-built copilot. Include third-party and vendor systems too — the AI Act obliges deployers, not just builders.

Gather this first (15 minutes). A list of AI-powered features you ship, who owns each one, what data each touches (none / personal / sensitive), and where existing policies live (security policy, DPA, model cards). With that in hand, registration takes minutes and classification answers itself.

Step 1 — Register an AI system

  1. Click "New system" to open the registration modal.
  2. Name (required, unique) — e.g. "HR Screening Assistant". Description & purpose — what it does and why it exists; auditors read this first.
  3. Data categories — None, Personal data, or Sensitive personal data. This drives Art. 10 data-governance expectations later.
  4. Lifecycle — Planned, Development, Production, or Retired. Anything else is rejected; keep retired systems for the audit trail instead of deleting them.
  5. Vendor / version — record who built it and which release you assessed, so re-assessments stay comparable.
  6. Click "Register system". It appears in your inventory — clicking it opens the wizard with Overview, Classification, Risk assessment and Delete tabs.

Step 2 — EU AI Act classification

Answer 11 yes/no triggers. Each maps to a specific article; your answers are stored as the documented rationale an auditor will ask for. The outcome is one of four tiers:

Prohibited (100)Art. 5 banned practices — social scoring, subliminal manipulation, emotion inference at work/education, biometric categorisation of sensitive traits. Cannot be placed on the EU market, period.
High-risk (60–95)Any of 8 triggers: remote biometric ID, critical-infrastructure safety components, education decisions, employment/recruitment, essential-services eligibility (credit, insurance, benefits), law enforcement, migration/border, justice & democratic processes. Full Chapter III obligations apply.
Limited risk (35)Users interact with AI or see AI-generated content (Art. 50) — chatbots, deepfakes, synthetic media. Obligation: clear disclosure and labelling.
Minimal risk (10)None of the above — e.g. internal tools with human sign-off. Only voluntary codes of conduct apply.
  1. Open the system → Classification tab and tick every trigger that applies. When in doubt, tick it — over-classification is cheap, under-classification is a regulatory finding.
  2. Add a note explaining borderline calls (e.g. "ranks candidates but a human makes the final hire — still Annex III employment").
  3. Click "Classify system". The tier, score and rationale are stored and shown as a chip in your inventory.
Prohibited means stop. A PROHIBITED result is not a compliance task — it means the system cannot legally operate in the EU. Withdraw or fundamentally redesign it before doing anything else.

Step 3 — Risk assessment

Eight weighted questions (Art. 9/10) produce a 0–100 residual-risk score plus auto-generated mitigations mapped to specific AI Act articles. Higher points mean higher risk — answer honestly; the mitigations are the valuable output.

Data sensitivity (0–20)Special-category data (health, biometrics, politics) scores highest — it triggers Art. 10 governance duties
Autonomy (0–20)Fully automated decisions with no human in the loop score highest — Art. 14 oversight territory
Impact (0–25)Effects on safety, legal status or fundamental rights outweigh mere inconvenience
Adversarial exposure (0–12)Fully public-facing prompt inputs score highest — pairs with a SentriX assessment
Oversight (0–14)Undocumented or missing human oversight is a direct Art. 14 gap
Monitoring (0–12)No production logging means no Art. 12 record-keeping
Documentation (0–12)Missing Annex IV technical documentation blocks Art. 11
Training (0–10)Untrained operators and overseers violate Art. 26 AI-literacy duties
  1. Open the system → Risk assessment tab and answer all eight questions.
  2. Click "Run assessment". You get a score, a plain-language summary, and a mitigation per gap (e.g. "Introduce a human-in-the-loop review step — Art. 14").
  3. Assessments are versioned. Re-run after mitigations land, then use Compare to diff two versions question-by-question — a falling score over versions is your remediation proof.

Step 4 — Control tracking

22 controls in two frameworks. Filter by EU AI Act or ISO 42001:

AIA-5 / AIA-6Prohibited-practices screening and the classification register itself
AIA-9 … AIA-15Risk management, data governance, technical documentation, logging, transparency, human oversight, accuracy & robustness
AIA-27 / 49 / 61Fundamental-rights impact assessment, EU database registration, post-market monitoring
ISO-4.1 … ISO-10.1Organizational context, AI policy, risk process, objectives, competence, lifecycle & data controls, monitoring, internal audit, continual improvement
  1. Set each control to Not started, In progress (half credit toward maturity) or Implemented.
  2. Attach evidence notes (up to 5000 characters) — policy names, SOP versions, dates. Evidence is what turns a status into an auditable claim.
  3. Upload evidence files (PDF, images, docs — 10 MB each, 10 per control): policies, training records, test reports. Download or delete them anytime.

Step 5 — Export audit report

  1. Click "Download audit report". A self-contained HTML file is generated: maturity bar, tier distribution, per-system classification rationale, latest assessment with mitigations, and the full 22-control matrix with evidence.
  2. Need spreadsheets? Export systems CSV and controls CSV for compliance handoffs.
  3. Everything is also in the audit trail (queryable, CSV-exportable): who registered, classified, assessed or changed what, and when.
See a real sample. This sample audit report covers three systems (High / Limited / Minimal), a versioned assessment with mitigations, and the 22-control matrix with evidence — exactly what your auditors will receive.

How to read your results

Tier → obligationsProhibited: withdraw. High: implement Chapter III (Arts. 9–15, 27, registration, monitoring). Limited: add Art. 50 disclosures. Minimal: optional codes of conduct.
Residual scoreNear 0: mature controls, maintain and re-assess on change. Mid-range: work the listed mitigations. Near 100: fundamental gaps — treat like a failing security grade.
Maturity %Share of the 22 controls implemented. Track it sprint over sprint; auditors love an upward curve with evidence attached.
Pair with SentriXA HIGH system that is also public-facing deserves a SentriX adversarial assessment — attach its report as technical evidence for AIA-15 (accuracy, robustness & cybersecurity).
Brand Impersonation Scanner

Branguard

Branguard finds domains impersonating your brand — typosquats, homoglyphs, and visual clones — by generating hundreds of look-alike candidates, probing each one, capturing screenshots, and packaging takedown-ready evidence.

Branguard console — domain impersonation scanner
Branguard console — ready to scan for impersonator domains

Run your first scan

  1. Open the Branguard console from the navigation bar.
  2. Enter your domain(s) in the tag input field. Type a domain and press Enter to add it. You can add up to 10 domains per scan.
  3. Alternatively, click "Upload file" to import a .txt or .csv file with one domain per line, or use "Paste list" to bulk-add domains.
  4. Configure scan options:
    Screenshots — enabled by default. Captures a live screenshot of every responding impostor domain.
    Candidate count — choose 80, 150, or 250 look-alike candidates per domain. Higher counts take longer but catch more obscure typos.
    Email me the report — check it and the finished scan emails you its HTML + PDF reports. Unchecked scans never email.
  5. Click "Start scan". The progress card shows five phases: Generate → Resolve → Probe → Analyze → Report.
  6. Watch live counters update: candidates generated, domains resolved, live sites found, impostors detected, screenshots captured.

Reading the results

  1. When the scan completes, results appear in a filterable findings table.
  2. Use the filter chips to narrow results: All, Malicious, Suspicious, Lookalike, Parked, Whitelisted, Live, Offline.
  3. Use the search box to find a specific domain.
  4. Click on any impostor row to expand it. You'll see:
    — Screenshot of the impostor page (click to open in a lightbox for side-by-side comparison)
    — Registrar / RDAP data: registrar, creation date, nameservers
    — Hosting intel: IP address, ASN, geolocation
    — Certificate info: issuer, validity dates
  5. Click the download icon on any domain to export per-domain evidence as a ZIP file.

Understanding verdicts

Malicious / Suspicious / LookalikeRanked by severity score (credential forms, brand cloning, threat-feed hits, visual similarity). Treat Malicious as takedown-now.
ParkedFor-sale or auction pages — noise, not threats. Excluded from impostor counts and screenshots automatically.
Safe (defensive)A look-alike that redirects to your own real domain — typically a defensive registration you already own.
NEW badgeDomain wasn't an impostor in the previous scan for the same brand — triage these first.
Shared infrastructureImpostors grouped by common IP, ASN, registrar or nameserver — a shared group often means one actor running a campaign.

Export reports

View reportOne button on every finished scan opens the full report — findings, screenshots, evidence — in a new tab.
Reports centerEvery scan also lands in Reports (top nav) with HTML + PDF downloads, an executive summary, filters and 30-day history.

Whitelist

Prevent trusted domains from being flagged as impostors.

  1. Click the "Whitelist" button in Branguard.
  2. Add domains using exact match (e.g., partner.acme.com), subdomain match, or wildcard suffix (e.g., *.acme.co).
  3. Whitelisted domains are marked with a "Whitelisted" tag in scan results and excluded from threat counts.

Monitor (watchlist)

Set up continuous monitoring to catch new impostors as they appear. Scheduled rescans never send email — check the console or Reports center for new findings.

  1. Click the "Monitor" button in Branguard.
  2. Add a brand domain and choose a rescan interval: every 5 minutes, hourly, daily, or weekly.
  3. Branguard automatically re-scans at the set interval. New findings since the last scan get a "NEW" badge.
  4. If you've configured a Slack webhook (see Alerts) or checked "Email me the report" on the scan form, new impostor detections trigger a notification.
Vulnerability Intelligence

ThreatLens

ThreatLens is a daily vulnerability intelligence feed. It aggregates advisories from NVD, CISA KEV, GitHub Security Advisories, and Ubuntu USN — filtered to what actually matters for your stack.

ThreatLens console — vulnerability intelligence
ThreatLens console — today's advisory feed with severity filtering

Browse advisories

  1. Open the ThreatLens console. Today's advisories load automatically from all four sources.
  2. Use the date picker to navigate to any date. Click "Refresh" to force a re-fetch.
  3. Type in the search box to filter by CVE ID, product name, or keyword.
  4. Use the severity chips to show only Critical, High, Medium, Low, or Unrated advisories.
  5. The dashboard cards show totals for the day: advisory count, CISA KEV exploited count, and source/severity breakdown.
  6. Scroll down for charts: severity donut, source distribution, and a 7-day trend sparkline.

Security news

Below the advisory feed, ThreatLens aggregates headlines from Hacker News, The Hacker News, BleepingComputer, and Krebs on Security. The feed refreshes every 10 minutes.

Set up asset matching

Configure your tech stack so ThreatLens highlights advisories that affect you.

  1. Click the "Assets" tab to open asset management.
  2. Choose an import method:
    Upload SBOM — drop a .txt, .csv, .xlsx, CycloneDX, or SPDX JSON file. ThreatLens parses it and extracts your component inventory. No file handy? Click Load sample data for an instant 18-package inventory.
    Paste names — enter a list name and type package names one per line (e.g., [email protected], postgresql).
    Connect API — pick your provider and enter credentials. Supported: CrowdStrike Falcon (OAuth2 client ID/secret), Splunk (auth token + your own SPL search), Microsoft Defender XDR (Entra tenant/client ID/secret), Elastic Fleet (Kibana API key), Wazuh (manager username/password), SentinelOne (console API token), Tenable.io (access + secret key), or any generic HTTP endpoint. ThreatLens syncs immediately and auto-syncs daily. Note: Splunk and Wazuh commonly use self-signed certificates, so TLS verification is off for them unless you tick "Verify TLS certificate".
  3. Once assets are configured, check "Only my assets" in the feed to filter advisories to those matching your stack.

Bookmarks & Slack notifications

  1. In the "Bookmarks" section, add technology names you want to track (e.g., nginx, react, openssl).
  2. When a new advisory matches a bookmarked technology, it's highlighted in the feed.
  3. Configure a Slack webhook URL in the bookmarks panel. Critical advisories matching your bookmarks are pushed directly to your Slack channel.
  4. Use the "Send test" button to verify the webhook is working.

Alerts & notifications

Scan report emails are opt-in per scan: check "Email me the report" on the Branguard or SentriX setup form and the finished scan emails you its HTML + PDF reports. Unchecked scans never email you — scheduled watchlist rescans never email either.

Slack webhook

  1. Open Branguard and click the "Settings" tab.
  2. Under "Alert configuration", paste your Slack Incoming Webhook URL.
  3. Click "Send test alert" to verify the connection. A test message should appear in your Slack channel.
  4. Click "Save settings". New impostor detections and critical findings will now post to Slack automatically.
Shared settings. Alert settings apply across Branguard and SentriX for your whole team.

Reports & exports

Every finished scan offers a single View report button in its console — the full report opens in a new tab with screenshots, evidence and remediation. The same reports live in the Reports center (top navigation) with HTML and PDF downloads per row.

Reports center — every scan report in one shelf
Reports center — Branguard sweeps, SentriX assessments and the AegisGRC audit with View / HTML / PDF per row
BranguardFull scan report + executive summary + PDF. Per-domain evidence ZIP files.
SentriXSecurity assessment report (HTML + PDF) with OWASP mappings, evidence payloads, and remediation.
AegisGRCAudit report (HTML + PDF) covering all AI systems, classifications, risk assessments, and control statuses.
Self-contained HTML. HTML reports are single files with no external dependencies — styles, data, and charts are all embedded. Open them in any browser, email them as attachments, or archive them for compliance records.

Scan history

The Reports center is the cross-tool shelf for your whole team: Branguard sweeps, SentriX assessments and the AegisGRC audit, newest first, with tool filters, search and a Last 7 / 30 days / All time range (default: 30 days). Each console also keeps its own recent-scans history — click a row to reload that scan's findings without re-running it.

How long reports survive depends on plan: free and demo accounts keep 7 days of reports, paid workspaces keep 90 days. ThreatLens uses date-based navigation instead of scan history — select any date to view that day's advisories. AegisGRC data is persistent — your AI system register and control statuses are always available.

Teams & members

Everything in YLB Security belongs to a team: scans, systems, bookmarks, settings and reports are shared with teammates and invisible to outsiders. Open the Team page to see your current team, create more (up to 3 on Free), and invite people.

  1. Enter a teammate's work email and pick a role: Member (runs scans, edits data), Admin (manages the team), or Viewer (read-only — cannot start scans).
  2. If they already have an account they're added instantly; otherwise they get an invite code to sign up with.
  3. The team owner administers members and billing. Switch teams anytime from the Team page or the workspace chip in the navbar.

Plans, quotas & retention

Usage is counted per calendar month, per account. When a free limit is reached the scan is blocked with a clear message pointing at an upgrade — nothing fails silently.

Free5 Branguard scans · 10 SentriX scans · 3 AegisGRC systems · 2 API keys. Reports kept 7 days.
DemoTrial accounts enabled by our team: 25 Branguard scans · 50 SentriX scans · 10 AegisGRC systems · 3 API keys. Reports kept 7 days.
Pro — $199/mo100 Branguard scans · 250 SentriX scans · 50 AegisGRC systems · 10 API keys. Reports kept 90 days.
Enterprise — $599/moUnlimited scans & systems · 25 API keys. Reports kept 90 days.
Trialing for your company? Ask us for a demo account — same product, higher limits, free for evaluation.

API reference

Everything the consoles do is a REST call under /api — script scans, pull reports, and feed results into your own tooling. Two ways to authenticate:

  1. API keys (for scripts). Create one on the Account page, then send it as a Bearer token — no CSRF needed:
    curl -H "Authorization: Bearer ylb_..." https://ylbsecurity.com/api/auth/me
  2. Cookies (for browsers). Log in once, then include cookies on every call. POSTs also need the CSRF token: fetch GET /api/auth/csrf, then send it as X-CSRF-Token (header or _csrf field).

Core calls

  1. Start a Branguard sweep:
    POST /api/scan {"sites": ["acme.com"], "options": {"max_candidates": 150, "screenshots": true, "email_report": false}}
  2. Poll it:
    GET /api/scan/<id> — returns status, progress, findings and screenshot paths when status is done.
  3. Take the reports:
    GET /api/scan/<id>/report?view=1 (inline HTML) · GET /api/scan/<id>/report (HTML download) · GET /api/scan/<id>/report/pdf (PDF) · GET /api/scan/<id>/report/exec (exec summary).
  4. Everything in your team, newest first:
    GET /api/reports — Branguard + SentriX + AegisGRC with view/download links per row.
  5. Assess an LLM or MCP server:
    POST /api/sentrix/scan {"kind": "llm", "depth": "smoke", "endpoint": "https://...", "model": "..."} then GET /api/sentrix/scan/<id> and GET /api/sentrix/scan/<id>/report/pdf.
  6. Pull advisories:
    GET /api/threatlens/feed?date=YYYY-MM-DD — severity-sorted NVD + CISA KEV + GitHub + Ubuntu items, annotated with your bookmark matches.
Respect limits. Free accounts are quota-limited per month (see Plans above) — the API answers 403 with an upgrade message when a cap is hit. Scan only infrastructure you own or are authorized to test.