Documentation

Everything, documented plainly.

How to run a scan, verify a workshop lab, use the member tools, and understand what we map your findings to.

Quick start

Comptrusence is free to start. You can generate a QR code without an account at all. Everything else lives behind a free login, because the tools cost real compute and, in the case of the Lab Checker, real AWS API calls.

Create a free account

Go to Sign up. No card required.

Open the portal

You land on the dashboard overview, with every member tool in the left sidebar.

Run something

Enter a URL in the Website Scanner, or verify a workshop lab in the Lab Checker. Results appear in minutes.

Only scan what you own

Our scans are passive, which means they behave like an ordinary visitor. Even so, only scan sites you own or are authorised to test. That is a condition of using the tools.

Accounts and access

There are two tiers, and no paid plan is required for either right now.

AccessWhat you get
PublicThe QR code generator, and all of the marketing, workshop and documentation pages.
Free accountThe full webinar library, the AWS Lab Checker, the Website Scanner, the Diagram Studio, and the breach, SSL/TLS and DNS tools.

Your account is protected by a password that is never stored in plain text. All data is held in Australian data centres.

Website scanner

The scanner inspects a URL and reports findings mapped to the frameworks your auditor already asks about. It runs two profiles.

ProfileWhat runsSafe to run on any site?
PassiveSecurity headers, TLS, CORS, JWT, outdated client libraries, technology fingerprintingYes. Visitor-level requests only.
DesignSEO, screenshots at five device sizes, responsive layout, accessibility (WCAG 2.1 A/AA via axe-core)Yes.

What the passive profile checks

  • Security headers: missing or weak CSP, HSTS, X-Frame-Options, cookie flags, and version leaks.
  • TLS: certificate expiry and which protocol versions are still accepted.
  • CORS: reflected, null or wildcard origins that let other sites read your responses.
  • JWT: alg:none, weak algorithms, missing expiry, and sensitive claims.
  • Client libraries: outdated front-end JavaScript with known CVEs, matched against OSV. This is OWASP A06.

Reading a result

Each finding carries a severity, the tool that found it, a category, the affected target, and a plain-English fix. Use the AI executive summary button to turn the whole report into three business-language risks and a prioritised fix list, which is the version to send to a board.

Intrusive testing is off

Active workers such as SQL injection and fuzzing exist in the engine but are disabled. They only ever run with explicit, verified authorisation, and never through the self-service tool.

AWS Lab Checker

Finished a workshop lab? The Lab Checker inspects your real AWS resources and stamps each step pass or fail, with a hint pointing back to the step you missed. It covers the six sessions in the Sydney AWS Workshops.

Pick your lab

Choose the session you completed. The input fields change to match that lab.

Enter your resource details

For example, your bucket name, instance ID, role name, or API URL. Also choose the region you built in.

Run checks

Each step is stamped PASS or FAIL. Failures include a hint telling you which step to revisit.

What each lab verifies

SessionLabYou provide
1Host a static website on S3Bucket name
2Launch an EC2 web serverInstance ID
3Build a least-privilege IAM roleRole name
4Deploy a serverless REST APIFunction name, table name, API URL
5Provision a production-shaped RDS databaseDB instance identifier
6Capstone: full-stack app with monitoringFrontend URL, API URL, alarm name
The checker is read-only

It runs with credentials limited to read actions only, Head, Get, Describe and List. It never creates, changes or deletes anything in your account. This is why the tool sits behind a login: it makes real AWS API calls on our account's behalf.

Teardown is graded too

Cloud bills come from resources you forgot to delete. After you clean up, run the checker again. A red FAIL on step 1 is your proof of a tidy account.

If checks report access denied

If you built in your own AWS account rather than a shared workshop account, the checker cannot see inside it, so resource checks will report access denied. Checks that fetch a public URL, such as the website or API endpoint, still work from anywhere.

Other member tools

ToolInputWhat it tells you
Breach CheckerEmail addressWhether the address appears in known public breaches, and what data was exposed.
SSL / TLS CheckerHostnameCertificate issuer and expiry, protocol versions, weak ciphers, missing HSTS, and an overall grade.
DNS and Email SecurityDomainSPF, DKIM, DMARC, MX and DNSSEC posture, which is how easily someone can spoof your email.
Diagram StudioPlain English, or MermaidDescribe a system and AI drafts the UML or Mermaid, rendered live.
QR GeneratorAny link or textA downloadable PNG. Runs entirely in your browser, nothing is uploaded. No login needed.
Breach lookups are privacy preserving

We query breach datasets using a hashed prefix of the address, so the full address never leaves our infrastructure. Only check addresses you own or are authorised to check.

Compliance mapping

Raw findings are not much use to an auditor. Every finding we report is mapped to the frameworks Australian regulators and customers expect.

  • Essential Eight: including patch applications and application hardening, with maturity context.
  • Privacy Act 1988 and the Notifiable Data Breaches scheme.
  • APRA CPS 234 for regulated entities.
  • ISO 27001: our reports support your evidence pack, they are not a certification.
What this is not

An automated scan is evidence, not certification. It does not replace an audit, a manual penetration test, or professional advice. Accessibility results are indicative and are not a legal conformance statement.

API

The portal is backed by a JSON API. A documented public API with tokens is on the roadmap. The shape below is what the portal itself uses.

# Start a passive scan
POST /api/webscan
     { "url": "https://example.com.au", "profile": "passive", "consent": true }
  -> { "scan_id": "a1b2c3d4e5f6" }

# Poll until state is done, then read the report
GET  /api/webscan/status/{scan_id}
  -> { "state": "running|done|error",
       "progress": { "done": 4, "total": 6, "current": "tls" },
       "report":   { ... } }

# Lab checker
GET  /api/labs
  -> [ { "id": "s3-static-site", "session": 1, "inputs": [...], "checks": [...] } ]

POST /api/check/{labId}
     { "region": "ap-southeast-2", "bucket": "my-workshop-site" }
  -> { "passed": 3, "total": 5, "results": [ { "pass": true, "detail": "...", "hint": "..." } ] }
Coming soon

Scheduled recurring scans, PDF report export, team accounts, and API tokens. If one of these is blocking you, tell us and we will prioritise it.

Troubleshooting

My scan found nothing

Check the URL is reachable from the public internet, including the scheme. A site behind a VPN, an IP allow-list, or a login page will not be visible to a passive scan.

The lab checker says my bucket does not exist

Bucket names are exact and region specific. Confirm the spelling, and that you created it in the region you selected.

A finding looks wrong

Automated tools produce false positives. Every finding includes the evidence we based it on, so you can judge it. If we got it wrong, tell us, because that feedback improves the engine.

Still stuck

Email admin@comptrusence.com or use the contact form.