AppScan
Browse all 61 articles
Documentation

All questions

Every one of the 126 questions in these docs, in one list. Filter by wording or by section.

126 questions

Getting started

Do I need to know security to use AppScan?

No. Every finding is written in five plain answers - what is wrong, why it matters, how it would be abused, how to fix it and how the fix gets verified - before any jargon appears. Technical detail is one click away when you want it.

What AppScan is
Is AppScan a penetration test?

No. A scan performs reads an anonymous visitor could perform. It never exploits anything, never writes, and never logs in. A pen test is a person actively trying to break in, which is a different exercise with a different scope.

What AppScan is
Does it replace a security engineer?

No, and it does not try to. It does the part that is mechanical and endless - watching every push, every dependency and every header - so that a person’s time goes on the judgement calls.

What AppScan is
Do I need an account for the free scan?

No. A URL and an email address is the whole requirement. An account is only needed to keep a history, connect a repository, or invite anyone else.

Your first scan, without an account
Why do you ask for an email?

To deliver the report. Scans finish in minutes rather than seconds, so the result has to reach you somewhere. Marketing consent is a separate tick box and nothing is sent if you leave it unticked.

Your first scan, without an account
How long does a free scan take?

Usually a few minutes. It depends on how quickly the site answers and how heavy the page is; every stage has its own time budget so a slow target cannot stall indefinitely.

Your first scan, without an account
Can I scan a site I do not own?

Only scan things you are responsible for. The scan is read-only and stays within what a visitor could do, but permission is yours to have, not ours to assume.

Your first scan, without an account
How often can I run a free scan?

Once an hour for the same site. Paid plans drop that wait to five minutes and add scheduled, continuous scanning.

Your first scan, without an account
What does “partial coverage” mean?

One or more steps failed or were skipped, so the scan did not see everything it normally would. The report lists exactly which steps and why. A partial scan is never presented as a clean result.

Reading a report
Why is a finding ranked above a more severe one?

Ranking is not severity alone. Confidence, the domain and what we know about the application all count - a high-confidence high in a route that holds personal data can outrank a low-confidence critical somewhere harmless.

Reading a report
Can I share a report with someone without an account?

Yes. Free reports live at a private link, and reports inside the app export to PDF, CSV or JSON.

Reading a report
Can one account belong to several organizations?

Yes. You are invited into each one separately and switch between them in the app; your role can differ in each.

Accounts and organizations
Who can see my findings?

Only people in the organization that owns the site, according to their role. Nothing is shared between organizations, and every read is scoped by the organization on the way in.

Accounts and organizations
What happens to my data if I delete my organization?

Its sites, scans, findings, reports and facts go with it. Ask support if you want a copy exported first.

Accounts and organizations
How many sites can I have?

One on Free and Pro, three on Studio, ten on Agency and twenty-five on Team.

Adding a site
Should staging be its own site?

Yes, if you want it watched. It counts against your site limit, so on a one-site plan most people point AppScan at production and use a manual scan when they want to check staging.

Adding a site
Can I scan something that is not on the public internet?

The runtime half needs to reach the address. Anything behind a VPN or an allowlist will report its steps as skipped. The source, dependency and infrastructure rules still work, because those come from the repository.

Adding a site
Do you store my source code?

No. Source is fetched for analysis and discarded afterwards. What is kept is findings, facts, file paths and short masked snippets around a finding.

Connecting GitHub
Do you support GitLab or Bitbucket?

Not today. GitHub is the only code host with an integration. The runtime half of the product works regardless of where your code lives.

Connecting GitHub
How many repositories can I connect?

Three per site on Pro, Studio and Agency; five per site on Team. Free plans cannot connect a repository at all.

Connecting GitHub
Will AppScan push to my default branch?

Never. The only write is a new branch opened as a draft pull request, and only when a person clicks Fix with AI.

Connecting GitHub

Scanning

Do all nineteen stages run on every scan?

No. Which stages run depends on the kind of scan and on what is connected. A free runtime scan runs the live-site, browser and performance stages; a push runs the source stages; the report and scoring stages always run.

The scan pipeline
Does AI run during a scan?

No. Detection is entirely deterministic. AI tasks happen afterwards and only when a person asks for one.

The scan pipeline
What is the difference between “scan now” and continuous monitoring?

Scan now is a manual live-site scan you trigger. It is free and unlimited on paid plans (one at a time per site, with a short cooldown); the Free plan includes five a month at one credit each. Continuous monitoring is the automatic work that follows pushes, pull requests and advisories, and is included in the plan.

Kinds of scan
Does a scan run on a schedule?

Advisory re-evaluation runs daily for affected applications. Everything else is event-driven: you push, you open a pull request, or you press scan.

Kinds of scan
My scan says partial. What should I do?

Open the coverage list. If a step failed because the site was slow or briefly down, run it again. If it was skipped because something is not connected or not on your plan, the report says which.

Coverage and partial scans
Am I charged for a scan that failed?

A failed scan releases its reservation. A partial one settles at half. You are never charged in full for work that did not happen.

Coverage and partial scans
Will the browser pass slow down my site?

It walks a limited number of routes, rate-limited, with a scanner user agent, and backs off when a site is struggling. It behaves like one careful visitor, not like load.

The real-browser pass
Does it log in to my app?

No. Everything it does is available to an anonymous visitor. Authenticated crawling is not something the scanner does today.

The real-browser pass
Will it submit my forms or send emails?

No. Nothing is submitted, nothing is written, and no state-changing request is made.

The real-browser pass
Why can I not run two scans on the same site at once?

Two concurrent scans of one application would race on the same facts and baselines, and would look like load to your server. Team plans allow two per site; everyone else runs one at a time.

Limits, cooldowns and the queue
Can I raise my limits without changing plan?

Credits can be topped up, but concurrency and site limits come with the plan. If you need something between two plans, talk to us.

Limits, cooldowns and the queue
The progress stopped updating. Is my scan broken?

Not necessarily - a dropped connection stops the stream, not the scan. Reload the page; the current state is fetched fresh and the stream reconnects.

Watching a scan run

Findings

Who writes the text of a finding?

The rule does, deterministically. AI can add an explanation in your application’s terms afterwards, but only when you ask - and the original five answers never change.

The anatomy of a finding
Will you show me the secret you found?

No. It is masked at detection. Enough is kept to identify which key it is and where it lives; the value itself never reaches our database and never reaches a model.

The anatomy of a finding
Why is this only medium when another tool called it high?

Severity here is about impact on your application given what we know about it, not a fixed number per rule. The same missing header can be medium on a marketing page and high on an app that holds personal data.

Severity, confidence and domains
Why show me low-confidence findings at all?

Because hiding them would be a silent decision made on your behalf. They are ranked down and the text says exactly what we could not establish.

Severity, confidence and domains
Do you use CVSS?

Not as the primary scale. CVSS describes a vulnerability in the abstract; ranking here uses severity, confidence, domain and what the Application Brain knows about the affected code. Advisory findings still carry the upstream identifiers.

Severity, confidence and domains
A finding says resolved but I did not fix it. Why?

The rule no longer fires. That can mean the code changed, or that the thing it examined is no longer reachable. Open the history: it records which scan resolved it and what changed.

The lifecycle of a finding
How long do resolved findings stay visible?

They stay with the site, so you keep the history of what was found and when. Filters default to open work.

The lifecycle of a finding
Can I undo a dismissal?

Yes. Reopen the finding and it returns to the fix-first list; both the dismissal and the reopening stay in the audit log.

Accepted risk and false positives
Does a dismissal apply to other sites?

No. A dismissal is scoped to the finding it was made on, in that site. The same weakness elsewhere is a separate decision.

Accepted risk and false positives
I keep getting the same false positive. Can you fix the rule?

Please tell us which rule id and why. False positive is the signal we use to decide what to tighten.

Accepted risk and false positives
What if the runtime and source findings disagree?

Both are kept and the disagreement is visible. Most often it means the running deployment is not the commit we analyzed, which is itself worth knowing.

Why one problem is one finding
Does correlation work without a repository?

No. Without source there is nothing to correlate to, so runtime findings stand alone.

Why one problem is one finding
Can I turn a rule off?

Not globally today. Dismiss the findings you do not want with a reason; that is recorded and keeps the decision visible instead of hiding a whole class of problem silently.

The rule catalogue
Can I write my own rules?

Not yet. The closest thing available today is invariants, which are derived from your own code rather than written by hand.

The rule catalogue
Which languages do the source rules cover?

TypeScript and JavaScript, including the routing conventions of the frameworks around them. Everything that does not depend on parsing your language - live site, browser, lockfile advisories, Docker, Compose, nginx, Kubernetes, Terraform and Actions - works whatever you wrote the app in.

The rule catalogue

Code and GitHub

How long does coalescing wait?

Long enough for a burst of pushes to settle, and no longer. If you push once and stop, the change set starts almost immediately.

Pushes and change sets
Are all branches scanned?

The default branch is monitored continuously. Other branches are scanned when they appear in a pull request.

Pushes and change sets
Will the check block my merge?

Only if you make it required in GitHub’s branch protection. By default it reports and lets you decide.

Pull request checks
Do checks run on pull requests from forks?

They run with the permissions GitHub grants a fork pull request, which are deliberately narrow. Anything that cannot be read is reported as skipped rather than passed.

Pull request checks
Does a pull request scan cost credits?

No. Continuous monitoring, including pull request checks, is included in the plan. Credits are for AI tasks and manual full scans.

Pull request checks
Can I add an invariant by hand?

Not today. They are derived from patterns your code already follows, which is what keeps them honest and specific to you.

Security invariants
Why did an invariant become “not verifiable”?

Usually because the logic moved behind something the analyzer cannot follow - dynamic dispatch, a wrapper built at runtime, or code in a language it does not parse. The invariant is not silently dropped; it is shown in that state.

Security invariants
Which lockfiles do you read?

The JavaScript ecosystem ones - npm, pnpm and yarn. If your repository has no lockfile, the dependency step reports itself as skipped.

Dependencies and advisories
How quickly do you notice a new advisory?

Advisory re-evaluation runs daily for affected applications, so within a day of the advisory being published.

Dependencies and advisories
Do you open upgrade pull requests automatically?

Not automatically. Fix with AI can prepare the change and open it as a draft when you ask for it on a specific finding.

Dependencies and advisories
Is the secret itself stored anywhere?

No. It is masked at detection. Enough is kept to identify which key it is and where it lives; the value never reaches our database and never reaches a model.

Secret scanning
How far back does the history scan go?

A bounded slice, taken once after the first inventory, and recorded as scanned-through so it is never re-read from scratch. It is deliberately not the whole history of a ten-year repository.

Secret scanning
A test fixture keeps being reported. What now?

Give it an obviously inert value and it stops being reported. If it must look real, dismiss the finding as a false positive with a reason - that is recorded and it will not come back.

Secret scanning
Do you need access to my cloud account?

No. These findings come from the files in your repository, not from an API against your provider.

Infrastructure and pipelines
My Terraform lives in another repository. Can you read it?

Connect that repository to the same site and it is read with the rest.

Infrastructure and pipelines

AI

Does AI decide what counts as a vulnerability?

No. Detection is deterministic and repeatable, with a rule id on every finding. AI explains, judges authorization, and writes fixes - always after the fact, always on request.

What AI does, and what it costs
Which models do you use?

A cheap tier, a default tier and a premium tier, chosen per task by what the task actually needs. The provider sits behind an adapter, so the choice can change without changing what you see.

What AI does, and what it costs
Is my code used to train models?

No. Nothing you connect is used to train anything, and nothing is retained for another customer’s benefit.

What AI does, and what it costs
Can it fix several findings at once?

It groups findings that share a root cause into one pull request. Unrelated findings get their own, so each change can be reviewed on its own terms.

Fix with AI
What if the patch is wrong?

Close the draft. Nothing was merged, the branch is yours to delete, and the finding stays open. Tell us which rule produced a bad patch - that is the feedback that improves it.

Fix with AI
Does it need write access to my repository?

It needs permission to create a branch and open a pull request. It never writes to your default branch.

Fix with AI
Can AppScan spend more than my credits allow?

No. Credits are the binding limit; the money ceilings sit above them as a second guard for runaway behaviour.

Budgets, caps and model routing
What happens if a model returns a truncated answer?

Long output is trimmed rather than thrown away, and an answer that cannot be used at all releases its reservation. A rejected answer does not close the door - you can ask again.

Budgets, caps and model routing
Can I turn AI off completely?

It is off unless you press something. There is no setting to disable a feature that never runs on its own.

Budgets, caps and model routing
How often should I run a deep review?

After a significant architectural change, or before something that matters - a launch, a security questionnaire, an investor’s technical review. Not weekly.

Deep review
Is it available on Free?

No. It needs credits, and Free plans have none.

Deep review

Reports and alerts

How long are reports kept?

For as long as the site exists in your organization. They are the history of the application, so they are not rotated away.

Reports
Can I compare two reports?

Each report carries what changed since the previous one for the same site, which is the comparison people actually want. Arbitrary report-to-report diffs are not available today.

Reports
Is the PDF good enough to send to a client?

That is what it is for. It says what was checked, what was found and what the coverage was, without needing an edit first.

Exports
Can I export everything for every site at once?

Exports are per report or per filtered issue list. For a portfolio-wide pull, use the JSON API.

Exports
Can I get alerts for one site only?

Yes. Preferences let each person narrow what reaches them, including by site.

Alerts, grouping and digests
Will I be alerted about findings I dismissed?

No. Dismissed findings leave the alerting path entirely.

Alerts, grouping and digests
Does the free plan send alerts?

Free delivers the report for a scan you asked for. Continuous alerting comes with a paid plan, because there is no continuous monitoring to alert about otherwise.

Alerts, grouping and digests
Can I send different sites to different channels?

Not today - the webhook is per organization. Studio and Agency customers who need this usually create a separate organization per client.

Slack
Is there a Slack app to install?

No, and deliberately: an incoming webhook needs no permissions in your workspace and can be revoked by you at any time.

Slack
I am getting too much email. What is the first thing to change?

Move everything except critical findings to the digest. Most people find that leaves instant alerts for genuine emergencies only.

Notification preferences
Can I unsubscribe entirely?

You can turn off every optional message. Account-security emails - verification, password changes, two-factor - are always sent.

Notification preferences

API

Is there an OpenAPI description?

Not published yet. The tables in this section list every customer-facing endpoint with what it needs and what it returns; ask us for the current description of the ones you need.

The JSON API
Are there rate limits?

Yes, per organization and per IP on the public routes, generous enough that normal use never notices. Bulk pulls should page rather than hammer.

The JSON API

Team and account

How many people can I have?

One on Free, three on Pro, five on Studio, ten on Agency and fifty on Team.

Roles and invitations
Can there be more than one owner?

Yes, and for anything that matters there should be. An organization with one owner has a single point of failure.

Roles and invitations
What happens when I remove someone?

Their access ends immediately and their sessions stop working. What they did stays in the audit log.

Roles and invitations
Do you support hardware keys or passkeys?

Not today. TOTP with recovery codes is what is available; WebAuthn is on the list.

Two-factor authentication
Can I require two-factor for my whole organization?

Not as an enforced policy yet. Today it is per account, so ask your team to turn it on - and check.

Two-factor authentication
I did not get the verification email.

Check spam, then request it again from the banner in the app. If it still does not arrive, tell us the address and we will look at the delivery log.

Passwords, email and sessions
Do you support SSO or SAML?

Not today. If it is a requirement for you, say so when you talk to us - demand decides the order things get built in.

Passwords, email and sessions
Can I see my active sessions?

Not as a list yet. Changing your password ends other sessions, which is the blunt version of the same thing.

Passwords, email and sessions
How far back does it go?

To the creation of the organization. It is not rotated.

The audit log
Can an admin delete an entry?

No. Nobody can, including us. That is what append-only means.

The audit log

Plans and billing

What is the difference between Pro and Studio?

Sites and people. Pro is one application and three seats; Studio is three applications and five seats, with more credits and one more concurrent scan.

Plans and entitlements
Can I change plan mid-month?

Yes, from the billing screen. Upgrades take effect immediately; downgrades apply at the end of the period you already paid for.

Plans and entitlements
Why can I not buy Team myself?

Because at that size the sensible setup usually needs a conversation first. Email sales@appscan.sh and we will size it with you.

Plans and entitlements
Do unused included credits roll over?

No. The included allowance is per usage window. Top-ups do not expire while the plan is active, which is what makes them the right answer for a busy month.

Credits and usage windows
Where do I see my balance?

In the header inside the app, and in full on the billing screen with the ledger behind it.

Credits and usage windows
Can I run out mid-task?

No. The estimate is reserved before the task runs, so a task either has its budget or does not start.

Credits and usage windows
What happens to my findings when the trial ends?

They stay. Sites, scans, findings, facts and reports are all kept; what stops is continuous monitoring and anything that needs credits.

The free trial
Can I get a second trial?

Not automatically - it is once per organization. If something genuinely went wrong during yours, email us.

The free trial
Where are my invoices?

In the billing screen. With a card, that opens the provider’s own portal for payment methods and receipts; with PayPal, your subscriptions live in your PayPal account.

Payments, grace, cancellation and refunds
I cancelled by mistake. Can I undo it?

Yes, any time before the period ends - resubscribe from the billing screen and nothing changes.

Payments, grace, cancellation and refunds
Do you refund unused time?

Cancelling stops the next charge rather than refunding the current period. If something went wrong on our side, talk to us and we will sort it out.

Payments, grace, cancellation and refunds

Security and privacy

Could a scan break my site?

It is bounded, rate-limited and read-only, and it backs off rather than pushing through. It behaves like one careful visitor, not like load.

What a scan is allowed to do
Will it trip my WAF?

It might, because it fetches paths like /.env to see whether they are exposed. That is the check. If you allowlist the scanner, remember you are also hiding real exposure from yourself.

What a scan is allowed to do
Does it read data returned by my API?

It records that a response was readable and classifies whether it looked like personal data. The contents are not kept.

What a scan is allowed to do
Where is data hosted?

On managed infrastructure in the EU, encrypted in transit and at rest. Ask us if you need the specifics for a questionnaire.

What we store, and what we never store
Can I delete everything?

Yes. Deleting an organization takes its sites, scans, findings, reports and facts with it. Ask support if you want an export first.

What we store, and what we never store
Do subprocessors see my data?

The model provider sees what a task sends it - a finding, a summary of facts, or the file being fixed - and never a raw secret. Email, payments and hosting are the other subprocessors; we will send the list on request.

What we store, and what we never store
Do you pay bounties?

Not a formal programme yet. We do say thank you properly, and we credit you publicly if you want that.

Reporting a vulnerability to us

Troubleshooting

My scan says “we could not scan this site”. What now?

It means discovery never got a usable response. Confirm the address is public, answers over HTTPS and does not require a login, then try again.

The site will not scan
Can I allowlist the scanner?

It sends a scanner user agent you can match on. Remember that allowlisting also hides genuine exposure from your own report.

The site will not scan
A tool I used before found more. Why?

Most scanners report every missing header and every advisory as its own item, including ones that cannot hurt you. Here, findings are admitted on evidence and confidence, and duplicates across runtime and source are merged into one.

The scan found nothing
My app is Python. Is AppScan useless to me?

No, but be clear about what you get: the whole runtime half, dependency advisories from lockfiles, and all the infrastructure and pipeline rules. The taint-analysis rules are TypeScript and JavaScript today.

Source findings are missing
How long does the first inventory scan take?

Minutes for a normal repository. The history walk is bounded and recorded as scanned-through, so it only happens once.

Source findings are missing
I reinstalled the App and lost my findings.

You should not have - findings belong to the site, not to the installation. If something is genuinely missing, tell us the repository and roughly when.

GitHub problems
Can I connect one repository to two sites?

A repository belongs to one site, so that findings have one home. Split the site if you genuinely have two applications in one repository.

GitHub problems
Can a scan spend credits without me?

A manual live-site scan is started by a person and is free on paid plans (the Free plan includes five a month at one credit each). Automatic scans that follow pushes and pull requests are included in the plan and cost nothing.

Credits went somewhere I did not expect
Why did one finding cost more than another to explain?

Severity-aware tasks route a critical finding to a better model. The cost per task type is fixed, but a critical finding can also trigger an escalation, which is its own task.

Credits went somewhere I did not expect

Reference

Are metrics available to customers?

The scrape endpoints are part of the deployment rather than a customer feature. Audit streaming and scheduled exports are the customer-facing half.

Metrics and SIEM streaming
What does “deterministic” mean here?

The same input produces the same finding every time, with no model in the loop. It is what makes a result reproducible and arguable.

Glossary