Skip to content

Run Assessment ​

SWAO offers four assessment types. Each one answers a different question, needs different input from you, and produces its own set of results. All four use the same workspace layout (a portfolio workspace with one folder per application under apps/), the same community frameworks, and the same publication and export tooling.

This page gives you the overview: what each type is for, what you need to provide, what you get back, and how the types combine in a typical engagement.


The four assessment types at a glance ​

Application AssessmentService Portfolio AssessmentLanding Zone Catalog AssessmentLLM Assessment for SWAO
Type IDapplication (default)servicelanding-zone-catalogllm
Question answeredWhat is the sovereignty, compliance and migration posture of this application?What should we do with each third-party, SaaS or COTS application in this portfolio?Can this cloud provider and region host this application under the active frameworks?Which LLM runs SWAO's assessment work best on my application?
What you provideSource code (local path or Git repository), optional context documents, optional running URL for the crawlAn Excel inventory of the applications (one row per app), optional binaries, SBOMs and configuration filesA target provider and region from the bundled catalogues, plus (ideally) a completed Application AssessmentA completed Application Assessment and 2 to 5 LLM connector/model pairs
Key outputsSignals per pass, compliance verdicts, 7R migration verdict, run manifest, HTML publication, BI exportOne scaffolded app per row, research stubs (CVE, end of life, vendor status), TIME quadrant, risk and health scores, migration waves, Enterprise portfolio workbookPer-service fit/gap verdicts, an overall landing zone verdict per target, LZ signals, narrativesA dimension-grouped model comparison (quality, performance, cost, reliability, reasoning, security), a weighted final ranking, a findings log
Commandswao assess --app <id>swao service init, swao service research, swao assess --app <id>, swao service exportswao assess --type landing-zone-catalog --app <id> ...swao assess --type llm --app <id>
LLMRecommended. Static passes run without one; data, ctx, synth, comp and blocks need itRecommended for the context, synthesis and compliance passes; intake, research and scoring are deterministicNot used. The fit is fully deterministicRequired: the LLMs under comparison are the subject of the assessment
Licence tierAll tiers. Portfolio-wide runs (--portfolio) are EnterpriseAll tiers. The portfolio workbook (swao service export) is EnterpriseAll tiers. swao lz catalogue update is Consultant and aboveAll tiers (see the LLM page)

SWAO does not publish fixed durations for any type. Run time depends on the size of the source tree or portfolio, the passes you select, the LLM provider and its rate limits. swao assess --stats prints a per-pass timing table after each run so you can plan repeat runs.


Which assessment do I need? ​

Work through the questions in order.

  1. Do you have the application's source code?
  2. Are you assessing many applications from an inventory spreadsheet?
    • Yes: the Service Portfolio Assessment scaffolds one workspace app per spreadsheet row and rolls everything up into a portfolio view with migration waves.
  3. Do you need to know whether a specific cloud provider and region can host the workload under your sovereignty requirements?
  4. Do you need to choose which LLM to use for SWAO assessments (for example a self-hosted model versus a cloud API)?

How the types combine ​

Application plus Landing Zone (the standard migration engagement). Run the Application Assessment first. It detects which platform capabilities the application needs (for example Kubernetes, object storage, key management). The Landing Zone Catalog Assessment then checks those needs against one or more provider regions and the sovereignty requirements of your active frameworks. You can do both in one command by adding --lz-cat-targets to swao assess --app <id>.

Service Portfolio for applications without source code. Hospitals, public authorities and large enterprises typically run many third-party products: clinical systems, document management, vendor portals, SaaS tools. You cannot scan their source, but you can still assess them from an inventory export, vendor documentation, installed binaries and public vulnerability data. The Service Portfolio Assessment reuses the same pass engine and frameworks, skips the passes that need source code, and adds internet research and binary analysis.

Mixed portfolios. A workspace can hold both kinds of app side by side. Custom-built applications are assessed with type: application, vendor products with type: service. The portfolio views (Enterprise) aggregate both.

LLM Assessment as a tuning step. The LLM Assessment does not change your application results. It re-runs the assessment of one app with several models in isolated copies of the workspace and tells you which model gives you the best balance of quality, cost, speed and reliability. Use it before a large engagement to choose the model for the remaining runs.


Service Portfolio Assessment in brief ​

The Service Portfolio Assessment (new in v1.4.0) is designed for portfolios of third-party, SaaS and COTS (commercial off-the-shelf) applications where no source code is available. The detailed pages live under Service Portfolio Assessment.

What you provide. An Excel workbook with one row per application: name, vendor, product, version, operating system, hosting model, criticality and similar columns. A non-standard workbook layout can be mapped with a column-map YAML (column mapping). Optionally, you add installer files, SBOMs, configuration files or vendor documents per app.

What SWAO does.

  1. swao service init --from <workbook.xlsx> parses the workbook and creates one workspace app per row with assessment.type: service. Contact, phone and e-mail columns are scrubbed at intake: SWAO keeps only a presence flag (for example support_email_present: true) and never writes the personal values into the workspace. Each app is classified against the SWAO IT infrastructure catalogue (SWAO-INFRA-CAT), and groups of identical rows are detected as clusters (default threshold: 3 rows).
  2. swao service research (Pass 24, RESEARCH) queries public sources for each app: the NIST NVD CVE API, endoflife.date, the CISA Known Exploited Vulnerabilities feed, OSV.dev, the BSI CERT-Bund advisory feed, and optionally VirusTotal for installer hashes (needs an API key; see API keys). Outbound requests carry only vendor, product, version, OS and installer hashes, never app IDs, sites or other intake data. Results are written as research stubs that analysts can review and promote.
  3. swao assess --app <id> runs the service pass profile. Passes that need source code (inventory, state, twelve-factor, egress) are skipped with a stated reason. Context, synthesis, compliance, blocks and scope always run. Data, SBOM, crypto, dynamic and malware run only when you supply the matching inputs. Pass 25 (BINARY) analyses supplied installer and binary files before the pass loop.
  4. Scoring against the SWAO application portfolio framework (SWAO_APM, 72 controls in 11 domains: strategic fit, vendor health, technical health, security posture, data governance, sovereignty readiness, business criticality, hardware and cost, integration complexity, migration readiness, compliance obligations) produces a health score per domain, a weighted risk score and a TIME quadrant per app. See the framework page.
  5. Apps are scheduled into five migration waves. swao service export (Enterprise) writes the portfolio workbook (wsp/reports/swao-portfolio-YYYYMMDD.xlsx) and a star schema.

Two decision vocabularies: TIME and 7R ​

SWAO uses two established vocabularies. They answer different questions and are not one scale.

TIME (portfolio disposition) ​

TIME is the Gartner model for deciding what to do with an application in a portfolio. The Service Portfolio Assessment assigns each service app one TIME quadrant from its evidence:

QuadrantPlain-language meaningTypical trigger in SWAO
TolerateKeep it running, monitor, do not investIn vendor support, no overriding risk
InvestStrategic and healthy: develop furtherActive, strategically important, technically sound, strong vendor
MigrateMove it to a new platform or version within a planned windowEnd of life approaching (for example within 18 months)
Migrate-CriticalSWAO extension: migrate urgentlyA CISA KEV match, a critical CVE with end of life within 12 months, or end of life already passed without extended support
EliminateRetire itDecommissioned, unused or inactive

The quadrants feed the migration waves: wave 1 Eliminate (now), wave 2 Migrate-Critical (next 3 months), wave 3 standard Migrate (3 to 12 months), wave 4 Invest (12 to 24 months), wave 5 Tolerate (monitor). A Migrate app that handles health data or special category data, or whose end-of-life signal is blocked, is promoted to wave 2. The analyst's own TIME value from the workbook is kept as an input to strategic fit and is never overwritten. Details: TIME framework.

7R (migration strategy) ​

The 7R model describes how a workload moves to the target platform. The synthesis pass of the Application Assessment emits exactly one 7R label per app:

StrategyPlain-language meaning
RetireSwitch the application off; its function is no longer needed
RetainKeep it where it is for now
RehostLift and shift: move it unchanged to new infrastructure
ReplatformMove it with targeted platform changes (for example a managed database)
RepurchaseReplace it with a different product, often SaaS
RefactorChange the code to use the target platform properly
Re-architectRedesign the architecture substantially

Alongside the 7R label, the synthesis pass also records a strategic disposition (modernization_position, for example invest_modernize_now, migrate_stabilize, tolerate_contain, retire_replace) and a portability score. When a landing zone readiness check (Pass 23, LZR) reports the target as blocked, the 7R verdict is adjusted and the adjustment is recorded. See the pass reference for all passes.


Common flags ​

FlagApplies toDescription
--app <id>all single-app runsApplication ID under apps/ in the workspace
--type <type>allapplication (default), service, landing-zone-catalog, llm. Overrides assessment.type in .swao.yml. landing-zone is accepted as a deprecated alias
--workspace <path>allPortfolio workspace directory (default: found by walking up from the current directory)
--passes <list>application, serviceComma-separated pass keys (default: the 13 standard passes)
--skip-llmapplication, serviceDrop the ctx, comp and blocks passes
--no-crawlapplicationSkip the Playwright crawl
--portfolioapplication, serviceAssess every app in the workspace (Enterprise)
--forceallRun even when an accepted-run lock exists for the app
--statsapplication, servicePrint a per-pass timing table

Run swao assess --help for the full option list, or see the CLI reference.


In the terminal interface (TUI) ​

Run swao without arguments and choose 3 Run Assessment. The type menu lists the four surfaces in this order:

  [1] Application Assessment            swao assess - static + LLM pass suite
  [2] Service Portfolio Assessment      swao service - third-party apps, SaaS, COTS from an Excel intake
  [3] Landing Zone Catalog Assessment   swao assess --type landing-zone-catalog - CSP service catalog fit/gap
  [4] LLM Assessment for SWAO           swao assess --type llm - compare up to 5 LLMs on your assessed app

Each entry shows a short explanation of what it does before you confirm. The type pages describe the individual TUI steps.


Further reading ​