CASA: Security Assessments for Web Apps and APIs background
Back to Journal
Application Security

CASA: Security Assessments for Web Apps and APIs

Adayptus Consulting
September 10, 2026
29 min read

What the Cloud Application Security Assessment covers, who genuinely has no choice about it, what the laboratory does to your application, and what the assurance tiers mean.

App Defense Alliance

What the Cloud Application Security Assessment covers, who genuinely has no choice about it, what the laboratory does to your application, and what the tiers mean.

In short. CASA is an independent security check of a web application or web-accessible API against a published standard. Unlike MASA, CASA is often not optional: Google can require it before granting an app access to sensitive user data through its APIs. It is tiered by risk and renewed annually.

What is this?

The App Defense Alliance, usually shortened to ADA, is an industry group that sets security standards for apps. It began at Google in 2019 and moved to the Linux Foundation in 2024, so it is no longer run by any single company. Google, Meta and Microsoft sit on its steering committee.

CASA stands for Cloud Application Security Assessment. It covers web applications and APIs reachable over the internet. An independent laboratory works through a published list of security requirements against your application and records a verdict on each one.

The requirements come from the OWASP Application Security Verification Standard, written as ASVS. Like MASVS it is free and public, so you can read the bar before you engage anyone.

There is one important difference from MASA, and it changes how you should think about the whole thing. CASA is used inside Google's own verification process for apps that request access to sensitive or restricted user data through Google APIs. If your app asks a user to connect their Gmail or Drive, Google wants assurance that your app can be trusted with that data. CASA is how that assurance gets produced. In that situation CASA is not a trust-building exercise you undertake voluntarily. It is a gate between you and a working product.

ADA does not test apps itself. It publishes the requirements, then authorises independent laboratories to do the testing. A lab has to earn that authorisation, and part of earning it is holding accreditation to ISO/IEC 17025, the international standard for testing laboratories. The point of the arrangement is that the people judging your app have no commercial interest in the answer.

Who is required to complete it

This question gets muddled because there are three different answers and people run them together. Nobody is required by law. Some organisations are required by a platform or a contract, which in practice is just as binding. Everyone else chooses.

Who you areIs it required?Why
An app requesting sensitive or restricted Google API scopesGenuinely requiredWithout it you do not get the access. This is the clearest case of no choice in the whole ADA family.
A SaaS vendor whose enterprise customers require independent testingEffectively requiredProcurement has made it a condition. The consequence of skipping it is lost revenue.
An API provider whose partners build on your platformStrongly advisablePartners increasingly want evidence before they take a dependency on you.
A web product handling payments, health or identity dataStrongly advisableHigh consequence of failure and high scrutiny from customers and regulators.
A web product with a small amount of low-sensitivity dataOptionalWorth doing for the findings, but the trust signal matters less to your buyers.
An internal application not reachable from the internetUsually not neededOutside the intent of the programme. Ordinary security testing is the better spend.

The distinction that matters in practice: if a platform or a customer has made the assessment a condition of something you need, treat it as a hard requirement with a date attached. If nobody has asked, it is an investment decision, and you should judge it on whether the findings and the report are worth the cost to you.

In short. If you are in the first row, find out now rather than later. Teams routinely discover the CASA requirement weeks before a launch date, and it is not a requirement you can compress.

The checklist is public, and free

This is the most useful thing to know before you spend any money, and most developers do not know it. The App Defense Alliance publishes its requirement sets openly on GitHub. You can read the exact bar you will be measured against, work through it yourself, and fix what fails before engaging anybody.

WhatWhere
Repositorygithub.com/appdefensealliance/ASA-WG
This profile's folder/CASA
Version history and releasesgithub.com/appdefensealliance/ASA-WG/releases
LicenceCreative Commons Attribution-ShareAlike 4.0

The profile folder holds the documents you need. The CASA Specification is the requirement list: an identifier and a one-line description, and deliberately nothing more. The CASA Test Guide is the one you actually want, because for each requirement it gives the description, the rationale, the evidence you must submit, the test procedure, the acceptance criteria and any scope limitations. The folder also carries a Burp audit scan configuration. The laboratory report templates and developer questionnaires sit separately under the repository's submission forms and templates area rather than in the profile folder.

The key point. Read the Test Guide, not just the Specification. The Specification tells you a requirement exists. The Test Guide tells you what evidence will be accepted, which is what determines whether your self-assessment succeeds.

Assurance levels: how much of the work is yours

How much you do, versus how much a laboratory does, depends on the assurance level. This is the single biggest driver of what an assessment costs you, so establish it early.

LevelNameWho testsWho checks
AL0Self assessmentYou. Described as being for low risk products.Nobody independent
AL1Verified self assessment, or developer tested and lab reviewedYou run the test cases and submit evidence.An independent assessor confirms your evidence is complete and sufficient
AL2Lab assessmentThe laboratory tests your product directly.The laboratory, with its own independent internal review

AL1 is the level most developers meet, and it is worth being precise about what it asks. You are not signing a statement that you comply. You are running the test procedure and producing evidence that demonstrates it, and a reviewer then judges whether that evidence is sufficient. Thin or ambiguous evidence gets sent back, and every round trip costs you time.

Confirm this. One point to confirm rather than assume: the repository README describes three levels including AL0, while some profile specifications present only AL1 and AL2. That may mean AL0 is not offered for every profile. Check which levels apply to yours before you plan, because it determines whether you need a laboratory at all.

The principle is proportionality. An app reading a small amount of low-sensitivity data should not face the same process as an app with deep access to somebody's mailbox. Note that Google's own API verification process may also describe risk tiers when deciding what is required of your app; if you meet both terms, the assurance level is about who does the testing, while a risk tier is about how much scrutiny your access warrants. Confirm which applies to you rather than assuming they are the same thing.

Do this first. Establish what is required of you before you budget or plan anything at all. The difference between running a self-assessment and commissioning hands-on laboratory testing is large in cost, elapsed time and internal effort. This is the first question to ask, and the answer comes from the programme rules and your scope request, not from a lab's quote.

What gets tested

The CASA requirement set covers input validation, authentication, cryptography, access control, error handling, security testing and configuration. In plain terms:

AreaThe question being asked
AuthenticationCan somebody log in as a user they are not? Are passwords, sessions and multi-factor handled properly?
Access controlCan a logged-in user reach data belonging to a different user by changing an identifier? This is the single most common serious finding in web applications, and the one automated tools are worst at finding.
Session managementDo sessions expire, invalidate on logout, and resist being stolen or fixed in advance?
Input handlingCan an attacker inject code or commands through a form, a URL or an API parameter?
CryptographyIs data encrypted in transit and at rest using current, correctly configured methods?
Error handling and loggingDo error messages leak internal detail? Is there enough logging to investigate an incident, without logging secrets?
API securityIs every endpoint authenticated and authorised individually? Is there rate limiting? Do endpoints return more data than the caller needs?
ConfigurationAre the platform, framework and cloud services configured securely, with unnecessary features switched off?
DependenciesAre third-party components current and free of known serious vulnerabilities?

What the laboratory actually does

Most developers have never seen inside a laboratory engagement, and the phrase independent assessment hides a lot of specific process. Here is what actually happens, and why each part is there. Knowing this makes you a much better buyer. For the whole engagement phase by phase, including the acceptance checks and the independent review, see what the laboratory actually does.

Before the lab is allowed to accept the job

An authorised lab cannot simply take your money and start. Before it accepts, it has to satisfy itself of several things, and record that it did:

  • Competence. It has people qualified for your assessment type. ADA specifies which certifications the engagement team must hold, and a lapsed certification does not count.
  • Capacity and tooling. It has the qualified tools and the test environment your application needs, and the time to do the work properly.
  • No conflict of interest. This one matters to you. A lab that has previously assessed or advised on your application, or that helped you build it, is barred from validating it. If a firm offers to fix your app and then certify it, that is not an arrangement an authorised lab can make.
  • An independent reviewer. It has someone available who took no part in the testing and who will check the work. If no independent reviewer is available, the lab should decline the engagement, because it would not be able to release your report.
  • Agreed scope. Which application, which build, which requirements apply, what is excluded and why, all written down before testing begins.

Who is on the engagement

RoleWhat they do
Engagement PartnerAccepts the engagement and is accountable for how it is run. Usually your main point of contact. Signs the report.
Engagement Team LeadRuns the testing day to day and makes sure findings are recorded properly as they are found.
Security AssessorsDo the actual testing and record the evidence. Work only within the assessment types they are individually authorised for.
Quality Control ReviewerIndependent. Took no part in the testing. Re-examines the evidence behind every verdict and can refuse to let the report out.

In short. The reviewer is the part clients least expect and the part that does the most work protecting them. They are not a proofreader. They re-examine the evidence and can overrule the testing team's conclusion in either direction. Nobody in the lab's sales function can overrule them, and their pay cannot depend on your verdict. If you only ask a prospective lab one question about its process, ask who your reviewer will be and how they are independent of the testing team.

How the lab handles your application

For a web application there is no package to hand over, so what matters instead is which environment is tested and how it is identified. The lab records the URLs and endpoints in scope, the environment, and your deployed version identifier if you have one. If you offer staging rather than production, that gets recorded, because a staging environment configured differently from production limits what the results actually mean. Be honest about the differences.

  • A hash is recorded on receipt. The lab takes a cryptographic fingerprint of exactly what it received, so there is never an argument later about which version was tested.
  • A clean environment is built for you alone. Your engagement gets its own test environment, isolated from other clients' work, and it is destroyed when the engagement closes.
  • Tools are checked before use. The lab confirms each tool is at the version it has qualified and produces the expected result on a known input. A tool that fails that check is not used.
  • Your data stays separated. One client's data must not be reachable from another client's engagement. This is a requirement, not a courtesy.

How evidence works, and why you should care

This is the real difference between a laboratory assessment and a consultant's report. For every requirement, the assessor has to record evidence good enough that a different competent assessor could repeat the work and reach the same conclusion. Not a summary, and not a conclusion. The actual input, the action taken and the observed result, captured at the time it happened.

Two consequences follow, and both are in your favour:

  • A lab cannot fail you on a hunch. If the evidence does not demonstrate that a requirement is unmet, the assessor cannot record a Fail. Findings have to be shown, not asserted.
  • A lab cannot pass you on your word. If you tell the assessor a control works and they do not verify it, that is recorded as your statement, not as a validated Pass, and the report has to disclose which requirements were self-attested rather than validated. This protects you too: it means nobody can later claim the lab checked something it did not.

How the verdict is reached

Each requirement in scope gets one of three verdicts. There is no partial credit and no overall score that hides the detail.

VerdictWhat it means
PassThe evidence obtained demonstrates the requirement is met for the version tested.
FailThe evidence obtained demonstrates the requirement is not met.
InconclusiveThe requirement was examined but could not be determined. The report has to say why, and what would be needed to determine it.

Watch the Inconclusive count on your report. Inconclusive is the easy place to park a difficult judgement, and a well-run lab monitors its own rate for exactly that reason. If a large share of your requirements came back Inconclusive, ask why: usually it means the scoping was wrong or something the lab needed was never provided. It is worth knowing when a laboratory is allowed to record Inconclusive, because it may not be used where the evidence would support a Fail.

The independent review

Before anything is released, the reviewer works through the engagement and checks, among other things:

  • that the build tested is the build received, by reference to the recorded hash;
  • that the approved environment and qualified tools were actually used;
  • that every verdict is supported by contemporaneous evidence;
  • that no Inconclusive verdict is standing in for a Fail the evidence would support;
  • that requirements you self-attested, and requirements excluded from scope, are disclosed;
  • that remediation guidance is specific to your application rather than generic advice;
  • that nobody who was barred or recused took part.

If any of that fails, the reviewer sends it back or withholds the report. That review is itself a record, kept whether or not it changed anything, because a review that found nothing is evidence the control was operating.

What the report has to contain

A CASA report is not a free-form document. Certain elements are mandatory, and the reason each one is there is worth understanding:

ElementWhy it is required
A unique report identifierSo the report can be referenced precisely and cannot be confused with another. It also lets you prove which report a customer is looking at.
The laboratory's name and addressSo you and anyone you show the report to know exactly who stands behind the conclusions.
Your name and contact detailsIdentifies who the report was issued to. It also underpins the rule that nobody else may rely on it.
The application identity: the URLs and endpoints in scope, the environment tested, and the deployed version identifierSo there is no possible doubt about what was tested. This is the element that protects you if someone later claims the wrong version was assessed.
The requirement set and its versionThe bar you were measured against. Without the version, a conformity statement means very little, because requirement sets get revised.
Dates of receipt, testing and issueThe report describes a moment in time. These dates are what make that explicit rather than implied.
Where the work was performed, including any virtual environmentAssessment work is often done in an environment built for the engagement. Recording it means the conditions are reproducible.
A Pass, Fail or Inconclusive verdict against every requirementThe actual result, at the level of detail that lets you act on it. An overall score would hide exactly the information you need.
Requirements you self-attested that the lab did not validateSo nobody, including a future customer or auditor, can believe the lab verified something it did not. This protects you as much as it protects the lab.
Requirements not evaluated, with the reasonExclusions have to be visible. A report that quietly omits the requirements you were going to fail is worthless to a reader and dishonest.
Remediation guidance for each failed requirement, specific to your applicationGeneric advice is not sufficient under the programme rules. You are entitled to guidance that names the component and the change.
A statement of conformity with the programme requirementsA statement about how the assessment itself was conducted. It is separate from the verdict on your application.
The attempt history: initial assessment and every retest, with dates and outcomesSo the report shows the whole story rather than only the final attempt. A reader can see that you failed, fixed and passed, which is a perfectly respectable history.
The name of the person who authorised the reportSomebody has to be accountable for the verdict. This is who.
The laboratory's limitations and disclaimersWhat the report does not say. In particular that results apply only to the version tested, that the assessment was not an exhaustive hunt for every vulnerability, and that a Pass is not a guarantee of security.

What happens to the records afterwards

The lab keeps the whole record set, not just the report: the evidence, the verdicts, the environment configuration, the review record, every version of the report and every retest. Retention is typically at least two years after the certificate expires. That exists so that if a question arises later about how a verdict was reached, the answer can actually be produced.

It also means a lab cannot quietly revise history. Every attempt at your assessment, including one that failed, is a retained record with its own report. If a lab suggests it can make a failed attempt disappear, that is a serious problem with that lab.

What you are entitled to ask for

  • the scope agreement in writing before testing starts;
  • the name of your Quality Control Reviewer and the basis on which they are independent of the testing team;
  • the dispute process, in writing, before you need it;
  • written confirmation that no part of the fee depends on the verdict;
  • a clear statement of what will be published, what will be sent to ADA, and what consent you need to give;
  • the lab's retention period for your data, and what is destroyed at the end of the engagement.

A lab that is reluctant to answer any of those in writing is telling you something useful.

Specific to CASA

  • Accounts at more than one privilege level. The lab needs at least two accounts, ideally at different privilege levels, because the only way to test whether user A can reach user B's data is to have both. One account makes the most important category of testing impossible.
  • Written authorisation to test. If any part of your stack is hosted or operated by somebody else, the lab may need their permission before touching it. Sort this out early; it is a routine cause of delay.
  • API documentation. An undocumented API is slow and expensive to test, and the lab may miss endpoints entirely. If you have a specification, provide it.
  • A defined testing window for anything disruptive. Some testing can affect performance. Agree when it happens and have somebody available.

How it works from your side, step by step

Step 1 — Establish your assurance level and what access you are requesting

Work out what data and access your app requests, and what that means for the assurance level you must meet. Everything else follows from this answer.

Step 2 — Read the CASA Test Guide, and ASVS at the relevant level

Get the Test Guide from the repository, because it tells you what evidence is accepted. ASVS itself is organised by level. Read the requirements that apply to you rather than all of it.

Step 3 — Run your own scan first

Automated scanning finds a meaningful share of issues by itself. Run it, fix what it finds, run it again. This is cheap and it clears the noise before anybody bills you by the hour.

Step 4 — Audit access control by hand

Broken access control is the most common serious finding and tools miss it. Check systematically that every endpoint verifies the caller is allowed to touch the specific object requested, not merely that they are logged in.

Step 5 — Choose an authorised lab if your assurance level requires one

Use ADA's published list. Ask about scope, cost, retests and the dispute process — how to choose an ADA authorised laboratory sets out the questions and the answers that should end the conversation.

Step 6 — Agree scope in writing

Which application, which environment, which endpoints, which requirements apply, what is excluded and why. For APIs be specific about endpoints, because ambiguity here causes arguments later.

Step 7 — Provide a working environment and accounts

A reachable environment and at least two accounts at different privilege levels, ready on day one.

Step 8 — Authorise the testing in writing

Including any third party who hosts part of your stack.

Step 9 — The lab tests it

Usually two to four weeks depending on size and endpoint count. Expect questions.

Step 10 — Read the report and fix

Verdict against each requirement. Fix the failures and use the included retests.

Step 11 — Result feeds into your verification

Once you pass, the result is submitted. If you were doing this for Google API access, this is what unblocks it.

How often you have to do it again

Annually. As with MASA, validation lasts twelve months. If you are relying on CASA for continued API access, treat the expiry date as a hard business deadline rather than a compliance date. Losing the access can break your product for your users, which is a different order of problem from a lapsed badge.

Start renewal at least two months out. Web applications change fast, and a year of feature work usually introduces something new to find.

The mistakes we see most often

  • Assuming the lightest path applies. Teams plan for a self-assessment and discover they need hands-on laboratory testing. Confirm your assurance level first, always.
  • Testing a staging environment unlike production. Different configuration, different authentication or mocked integrations mean the results say little about production.
  • One test account. You cannot test whether user A can reach user B's data with only one user.
  • Forgetting the APIs. Teams prepare the web interface carefully and forget the mobile app's back-end API, which is in scope and often less well protected.
  • Ignoring configuration. The application code can be sound while the cloud storage bucket is world-readable.
  • No permission to test third-party components. Work out early who owns each part of the stack and get written authorisation.

Frequently Asked Questions

Click any question to expand the answer.

QIs CASA required?

Sometimes genuinely yes. If your app requests sensitive or restricted access to Google user data, CASA is part of the verification process and you do not get the access without it. Outside that situation it is voluntary, and companies do it for the same reasons they do MASA.

QHow does it actually help us?

If you need the API access, it unblocks your product, which is the most direct help there is. Beyond that it finds real problems, and an independent report against a public standard shortens enterprise security reviews substantially.

QWhat is the difference between CASA and MASA?

The thing being tested. MASA is for mobile apps and uses MASVS. CASA is for web applications and APIs and uses ASVS. Many companies need both, because their mobile app talks to their web API and both sides need checking.

QWhich assurance level are we in?

It depends on the sensitivity of the data and access your app requests. Establish it before planning anything, because the difference between a self-assessment and lab testing is significant in both cost and effort. Confirm it against the current programme rules rather than assuming, and be aware that Google may separately describe a risk tier for your API access.

QCan we just run a scanner and submit that?

At lower tiers automated scanning does a lot of the work. At higher tiers it is not enough, because the most serious web vulnerabilities, particularly broken access control, are found by a person reasoning about your application's logic rather than by a tool.

QWhat does the lab do that our scanner does not?

Reasoning about intent. A scanner can tell you a page is missing a header. It cannot tell you that order number 1041 belongs to a different customer and your endpoint handed it over anyway. That requires somebody who understands what your application is for.

QWhat does it cost?

It depends heavily on your assurance level and how many endpoints are in scope. At AL1 much of the cost is your own effort rather than the lab's. Get quotes from more than one authorised lab and compare what is included, especially the number of retests.

QWhat happens if we fail?

You fix and retest. Nothing is published. If you were doing this for API access, the access stays blocked until you pass, so the cost of failing is delay rather than reputation.

QDo we need to give the lab source code?

For web applications, testing is often done against the running application rather than the source. Some requirements are easier to verify with source access. Discuss it during scoping.

QOur product is only an API with no user interface. Does that work?

Yes. APIs are explicitly in scope. Be precise about which endpoints are included and give the lab documentation, because an undocumented API is slow to test and easy to under-cover.

QWe use a lot of third-party services. Are those tested?

Your own application and configuration are tested. Services you consume are generally not, but how you use them is: a misconfigured cloud service or badly stored secret is yours. You may also need the provider's permission before anything they host is touched.

QWho actually sees the result?

That depends on the programme. Some results appear as a badge or a note on an app store listing that your users can see. Others are shared with the platform that asked you to get assessed, and are not public. Ask the lab what will be published before you start, and get it in writing. A good lab will not publish anything about your app without your written consent.

QWhat if we disagree with a finding?

You can dispute it. An authorised lab has to have a documented dispute process, and the person who decides your dispute must not be the person who made the finding. If the verdict changes, the lab has to update the report with ADA. Ask to see the dispute process before you engage a lab.

QDoes a pass mean our app is secure?

No, and be careful of anyone who tells you it does. A pass means your app met the requirements that were tested, in the version that was tested, on the date it was tested. It is not a guarantee. It is a meaningful, independently checked baseline, which is a different and more honest thing.

QCan we use our own internal security team instead?

Not for the formal validation. The whole value of these programmes is that the tester is independent of the developer. Your internal team is exactly the right people to do the preparation work and the fixing, but the validation itself has to come from an authorised lab.

QCan the lab help us fix the problems it found?

It can tell you what to change, and it should: specific remediation guidance for each failed requirement is a programme requirement, not a favour. What it must not do is implement the fix for you, because then it would be validating its own work. Advice yes, hands on your codebase no.

Where to start

Confirm your assurance level. Get the CASA Test Guide from the repository and read the requirements that apply to you. Run a scan and fix what it finds. Then audit your access control by hand, because that is where the serious findings usually are. After that, talk to an authorised lab.

About Adayptus

Adayptus Consulting Private Limited is an application security testing firm based in Noida, India. We have been doing web, mobile and cloud security testing since 2018.

We are currently building our laboratory management system to ISO/IEC 17025:2017 and working towards authorisation as an App Defense Alliance Security Test Laboratory. We are not an ADA-authorised laboratory today. We will say so plainly on this page until that changes, because you should be able to trust what a security firm tells you about itself.

What we can do for you right now:

  • Readiness testing. We test your app against the published CASA requirement set and tell you what would fail, before you pay for a formal validation. Finding out early is much cheaper than failing late. This is web application and API penetration testing aimed at a specific bar.
  • Fixing what we find. We give you guidance specific to your application, pointing at the actual component and the actual change needed, not a link to a general guideline. Where the cause is in the code, secure code review is usually the faster route.
  • Evidence preparation. We help you assemble the documentation, architecture information and test accounts an authorised lab will ask for, so your validation does not stall on paperwork.

Please note. One thing we will tell you up front: if we do your readiness work, we cannot later be the lab that performs your formal CASA validation. Our impartiality rules stop us from validating an application we have already advised on. We would rather you knew that at the beginning than after you had paid us. If your priority is the formal validation, we will point you at an authorised lab and stay out of the way.

Attribution and source

Requirement identifiers, domain names and profile names in this article are drawn from material published by the App Defense Alliance in the ASA-WG repository at github.com/appdefensealliance/ASA-WG, licensed under Creative Commons Attribution-ShareAlike 4.0 International. The explanations and remediation advice are our own.

Programme requirements are versioned and they change. Before you rely on any specific detail in this article, check the current published requirements in the App Defense Alliance repository and its releases page. Where this article describes how a process generally works, that shape is stable. Where it would matter to you whether a number or a version is exactly right, confirm it at the source.


Share this Insight
CybersecurityApplication SecurityAdayptus Intelligence
A

Adayptus Consulting

Application Security Testing, Adayptus

Adayptus Consulting Private Limited is an application security testing firm based in Noida, India, working across web, mobile and cloud security testing since 2018. The firm is building its laboratory management system to ISO/IEC 17025:2017 and working towards authorisation as an App Defense Alliance Security Test Laboratory; it is not an ADA-authorised laboratory today.

Application Security

Find Out What Would Fail, Before You Pay to Fail

We test your application against the published CASA requirement set and tell you what would not pass, so you go into a formal validation knowing the answer. Send us your scope and we will come back with timeline and an indicative quote — usually within one business day.

  • Readiness testing against the published CASA requirements
  • Every delivered finding reproduced by hand — zero false positives
  • Evidence and test accounts prepared for the lab
  • Adayptus is not an ADA-authorised laboratory; we say so up front
Direct Scoping Hotline: +91-9625999069 [email protected]

Request a scoping call

No obligation. A senior consultant replies — not a sales sequence.

Your details stay confidential. Covered by NDA — a senior consultant replies directly.

Zero False Positives Free Retest Included 100% NDA Protected