#
2.3 Identify Apps and Services
#
Goals
Identify every application, platform, SaaS tool, cloud service, internal system, API, database, infrastructure service, and vendor-managed service the company depends on, then record who owns it, what it supports, where it runs, what data it touches, and what it connects to.
To better secure the organization, the cybersecurity teams needs to be actively managing software assets so authorized software is known and unauthorized or unmanaged software can be found. In our paradigm this is visibility that bolsters our risk assessments and protection design.
#
Task:
- List the software, SaaS tools, platforms, databases, websites, APIs, and cloud services the company relies on.
- This helps expose shadow IT, forgotten systems, duplicate tools, and business-critical platforms that may not be formally tracked.
#
Main steps in the process
#
1. Define what counts as an application or service
Do not define this too narrowly. For SMEs, the dangerous blind spots are usually not just installed desktop apps. They are SaaS tools, browser-based platforms, cloud services, payment systems, backup services, identity-connected apps, websites, APIs, and third-party portals.
Include:
Business applications, SaaS tools, email systems, accounting software, CRM, ERP, HR systems, websites, customer portals, databases, APIs, cloud services, storage services, backup tools, VPN, DNS, domain registrar, hosting provider, identity provider, monitoring tools, endpoint tools, remote-access tools, ticketing systems, collaboration tools, code repositories, container platforms, and vendor-managed applications.
Answer the key question: What software, platform, or service does the company rely on to operate?
#
2. Create a standard application/service record
Before discovery, define the fields every application or service must have. Otherwise the inventory becomes a messy list of names with no operational value.
Minimum fields:
- Application/service name
- Type: SaaS, installed software, cloud service, internal app, database, API, infrastructure service, vendor-managed service
- Business owner
- Technical owner
- Department
- Business purpose
- Users or groups
- Authentication method
- Hosting location
- Vendor/provider
- Contract or subscription owner
- Data handled
- Integrations/dependencies
- Critical business process supported
- Status: approved, unknown, duplicate, retired, shadow IT, pending review
- Renewal date
- Last reviewed date
Answer the key question: Can we understand what this application is, who owns it, why it exists, and what it connects to?
#
3. Discover business applications and SaaS tools
Start with the tools people actually use to run the business.
Example places to discover
- Microsoft Entra enterprise applications
- Google Workspace third-party app access and OAuth logs
- Accounting/vendor payment records
- Credit card subscriptions
- Browser bookmarks and extensions
- Department interviews
- SSO login logs
- Password manager shared vaults
- Procurement records
- Helpdesk tickets
- Email searches for “invoice,” “subscription,” “trial,” “renewal,” and “admin”
Consider using qpplications like Microsoft Entra (a cloud-based identity and access management (IAM) solution, which is a directory and identity management service that operates in the cloud and offers authentication and authorization services to various Microsoft services) lets administrators view enterprise applications registered in the tenant, while Google Workspace provides third-party app access controls and OAuth log events that show connected apps and authorized access.
These are not perfect SaaS management platforms, but for SMEs they are often the cheapest starting point because they may already be included in existing Microsoft or Google environments.
Answer the key question: Which SaaS tools and web apps are employees actually using, whether officially approved or not?
Useful links:
Microsoft Entra – View enterprise applications
Google Workspace – Control third-party app access
#
4. Discover installed software on endpoints and servers
Next, identify software installed on company-managed laptops, desktops, and servers.
Use endpoint inventory tools to collect:
- Installed applications
- Versions
- Operating systems
- Browser extensions
- Running services
- Open ports
- Local users/groups
- Agents installed
- Remote access tools
- Unsupported or unknown applications
OCS Inventory NG can inventory hardware and software through agents. Wazuh’s Syscollector module gathers installed software, services, running processes, ports, browser extensions, users, and groups. Microsoft Intune also provides discovered apps/app inventory for Intune-managed devices, if the company already uses Microsoft endpoint management.
Answer the key question: What software is installed and running on company devices and servers?
Useful links:
OCS Inventory NG
Wazuh System Inventory
Microsoft Intune enhanced app inventory
#
5. Discover cloud services and cloud-hosted applications
For AWS, Azure, Google Cloud, and similar environments, identify:
- Virtual machines
- Managed databases
- Storage buckets
- Serverless functions
- Load balancers
- Containers
- Kubernetes services
- App services
- IAM-connected applications
- Secrets managers
- Backup services
- DNS zones
- CDN services
- Monitoring/logging services
CloudQuery provides a unified cloud asset inventory across connected cloud providers with consistent schemas and searchable attributes. Steampipe lets teams query cloud APIs and services using SQL, which is useful for finding cloud services, resources, and mislaid infrastructure records.
The key question:
Which cloud services exist, where are they hosted, and which business applications depend on them?
Useful links:
CloudQuery asset inventory
Steampipe
Answer the key question: Which cloud services exist, where are they hosted, and which business applications depend on them?
#
6. Discover internal applications, websites, APIs, and databases
For companies with custom and expansive software portfolios this step is essential.
Look at:
- GitHub/GitLab/Bitbucket repositories
- CI/CD pipelines
- Deployment platforms
- Web servers
- API gateways
- Database servers
- Container registries
- Kubernetes clusters
- DNS records
- SSL certificates
- Hosting panels
- Developer documentation
- Environment files
- Production/staging/dev systems
Backstage is strong here because it is built as a software catalog that tracks ownership and metadata for services, websites, libraries, data pipelines, and similar software components. For containerized environments, Portainer Community Edition can help manage Docker, Swarm, Kubernetes, and ACI environments, including containers, images, volumes, and networks.
Useful links:
Backstage software catalog
Portainer Community Edition
Answer the key question: What custom applications, APIs, websites, and databases exist, and who owns them?
#
7. Identify infrastructure services
Infrastructure services are often forgotten because they feel “background.” That is dangerous because many of them are business-critical.
Include:
- DNS
- Domain registrar
- Email hosting
- Identity provider
- VPN
- Firewall management
- Endpoint management
- Backup platform
- Monitoring
- Logging
- Certificate management
- Remote support
- Wi-Fi controller
- MDM
- Patch management
- Password manager
- File sharing
- Print services
Key question: What services must keep working for the company’s applications and users to function?
#
8. Assign ownership and business purpose
Every application or service needs two owners:
The business owner who explains why the tool exists and what business process it supports.
The technical owner who manages configuration, support, integrations, access, and lifecycle.
Incomplete inventory entry:
“HubSpot — Sales.”
Better inventory entry:
“HubSpot — CRM used by Sales and Marketing for lead tracking, customer communication, and campaign workflows. Business owner: Head of Sales. Technical owner: IT/Admin. Data: customer contact data, deal notes, email activity. Auth: SSO. Integrations: Gmail, website forms, reporting dashboard.”
Key question: Who is accountable for every application, and what business process does it support?
#
9. Map integrations and dependencies
This is where the inventory becomes useful. Applications rarely stand alone.
Map:
- Identity provider dependencies
- APIs
- Data imports/exports
- Payment processors
- Email integrations
- CRM/accounting integrations
- Backup dependencies
- Cloud services
- Databases
- File storage
- Vendor portals
- Automation tools
- Webhooks
- Third-party plugins
Answer the key question: What does this application depend on, and what depends on it?
This step overlaps with our later Identify Dependencies and Connections subsection, but you should still capture basic dependency fields here so the app catalog builds up to that stage already partly completed.
#
10. Identify data touched by each application
For each application/service, record the kind of data it handles.
Examples:
- Customer data
- Employee data
- Financial records
- Contracts
- Credentials
- Intellectual property
- Confidential documents
- Regulated data
- Business communications
- Backups
- System logs
- Payment data
Answer the key question: What data does this application store, process, transmit, or access?
#
11. Normalize, deduplicate, and classify the application list
Raw discovery will create duplicates.
Example:
- “Microsoft 365”
- “Office 365”
- “Outlook”
- “SharePoint”
- “OneDrive”
- “Teams”
Some of these are part of the same platform but may need separate records if they handle different data or business functions.
Classify each item as:
- Approved
- Approved but undocumented
- Unknown
- Duplicate
- Shadow IT
- Trial
- Retired
- Vendor-managed
- Business-critical
- Pending owner confirmation
Answer the key question: Is this a real, active, approved application/service, and is it recorded once in the right way?
#
12. Validate with departments and technical owners
Send the list to business units and technical owners.
Ask:
- Do you still use this?
- Who owns it?
- Who pays for it?
- Who has admin access?
- What data is inside it?
- What systems does it connect to?
- Is there a duplicate tool doing the same job?
- Is it still needed?
- Is anything missing?
Key question: Can the people who use and manage the application confirm the record is accurate?
#
13. Maintain the inventory through lifecycle triggers
The app/service inventory must change when the environment changes.
Update the catalog when:
- A new SaaS subscription is purchased
- A new app is approved
- A new vendor service is onboarded
- A department starts using a new platform
- A cloud service is created
- A new website/API/database is deployed
- A contract renews
- A tool is retired
- An integration is added
- Admin ownership changes
- An application starts handling new data
- A business process changes
Recommended process:
- Monthly review for new/changed apps
- Quarterly review for SaaS, cloud, and critical services
- Annual full application rationalization
- Immediate update for anything internet-facing, identity-connected, or handling sensitive data
Answer the key question: How do we prevent this inventory from becoming stale within three months?
#
Recommended open-source or lower-cost tools
#
Practical stack recommendations
#
For a small non-technical SME, use:
- Spreadsheet or GLPI + Microsoft/Google admin exports + accounting subscription review + Snipe-IT for licenses.
This is not elegant, but it is realistic. The strongest discovery source for shadow SaaS is often not a scanner. It is the credit card statement, SSO app list, OAuth app list, and department interview.
#
For a normal SME with basic IT capability, use:
- GLPI + OCS Inventory NG or Open-AudIT + Microsoft Entra/Google Workspace app review + Bitwarden/Passbolt shared vault review.
GLPI becomes the catalog. OCS/Open-AudIT discovers installed software and systems. Entra/Google reveals many SaaS integrations.
#
For a cloud-heavy SME, use:
- GLPI or iTop + CloudQuery + Steampipe + Entra/Google app inventory + Uptime Kuma.
CloudQuery and Steampipe help identify cloud-hosted services. Uptime Kuma can maintain a basic list of key live endpoints.
#
For a software-development company, use:
- Backstage + CloudQuery + Portainer + NetBox + GitHub/GitLab repository review.
Backstage should own the internal software catalog. NetBox should own infrastructure/network truth. CloudQuery and Portainer help reveal cloud and containerized workloads.
#
For an infrastructure-heavy company, use:
- NetBox + GLPI or iTop + Open-AudIT + Wazuh/Fleet.
NetBox handles network/infrastructure source of truth. GLPI/iTop handles service ownership and business mapping. Wazuh/Fleet gives endpoint reality.
#
Summary of the Steps
Identify Applications and Services Process
- Define what counts as an application, platform, service, SaaS tool, cloud service, internal system, API, database, and vendor-managed service.
- Create a standard application/service inventory record.
- Discover SaaS and business applications through SSO, Microsoft/Google admin portals, OAuth logs, procurement records, vendor payments, and department interviews.
- Discover installed applications through endpoint inventory tools, device management tools, and server inventories.
- Discover cloud-hosted applications and services through cloud inventory tools and provider exports.
- Discover internal applications, websites, APIs, databases, repositories, and containerized services.
- Identify infrastructure services such as DNS, identity, email, VPN, backup, monitoring, endpoint management, and domain hosting.
- Assign business owner, technical owner, department, purpose, users, and support responsibility.
- Record data handled, authentication method, integrations, dependencies, vendor, contract owner, and renewal date.
- Normalize duplicate records and classify each item as approved, unknown, shadow IT, duplicate, retired, vendor-managed, or pending review.
- Validate the inventory with business and technical owners.
- Maintain the inventory through onboarding, procurement, cloud creation, deployment, integration, renewal, retirement, and periodic review triggers.
#
Summary
If the company cannot answer which applications exist, who owns them, who uses them, what data they touch, how users log in, what they connect to, and which ones are paid for but forgotten, then it does not have an application inventory. It has scattered subscriptions and tribal knowledge.