# Core Concepts Source: https://docs.osto.one/getting-started/core-concepts A short tour of the model Osto uses across every module. Once these four ideas are familiar, every other doc reads more easily. ## Assets — *what you're protecting* Assets are the things in your environment Osto secures. You'll find them under **Assets** in the left sidebar: * **Domains** — the websites, web apps, and subdomains you want Osto to protect. Manage the domains themselves and their TLS certificates. * **Endpoint Users** — the people in your organization, with the devices they use. Osto applies endpoint protection and access policies through this list. * **Server Access** — the servers Osto brokers access to: * **Secure Server** — a host where you install Osto's agent directly so access is granted through Osto. * **Secure Gateway** — a Linux host that brokers access to multiple child servers behind it (no agent install needed per child). * **APIs** — discovered automatically from your protected domains and surfaced in dashboards under Insights. You don't register APIs manually. Every policy, scan, and compliance control eventually points back to one of these assets. Onboard them early — the rest of the platform unlocks once they're in. ## Objects — *reusable building blocks* Objects are configurations you define once and reuse across many policies. They sit under **Objects** in the sidebar: * **Domain Category** — group domains for policy targeting (e.g. *production sites*, *marketing sites*). * **Application** — named applications used in App Control and DLP rules. * **Port** — named network ports referenced in access and firewall rules. * **Schedule** — time windows (e.g. *business hours*, *maintenance windows*) referenced in access policies. Objects keep policies short and consistent. Change a domain category in one place and every policy targeting that category updates with it. ## Policies — *how Osto behaves* Policies attach security behavior to assets. The **Policies** section has three top-level sub-sections, organized by the asset type a policy applies to: * **Endpoint Users** → Device Control, App Control, Domain Filtering, Data Leakage Prevention (with App File Access), Global Policy — controls what users can run, plug in, browse to, and copy out. * **Domains** → Global Policies (DDoS, Bot) and Local Policies (Advanced, Custom Routing Rules, Policy Exceptions, API Discovery) — controls what reaches your websites and APIs, and how they're inspected. * **Server Access** — the rules-list of who can reach which Secure Server (or child server behind a Secure Gateway), on which ports. Customer-facing docs in this Knowledge Base cover these as three task-focused guides: the [User Protection Policy](/how-to-guides/policy-configuration/user-protection-policy), the [Website Protection Policy](/how-to-guides/policy-configuration/website-protection-policy), and the [Secure Server Access Policy](/how-to-guides/policy-configuration/secure-server-access-policy). **Defaults that ship out of the box.** Osto comes with recommended defaults for every policy. You don't have to configure anything for protection to start — you only tune what's specific to your environment. ## Modules you'll work alongside Beyond Assets, Objects, and Policies, several sidebar sections layer additional capabilities on top of the model: * **Scanner** — continuous vulnerability scanning for your domains (**Web Scanner**) and mobile apps (**App Scanner**). * **Code Security** — source-code static analysis (**SAST**), integrated into your CI/CD. * **Posture Management → Cloud Security** — connects AWS, Azure, and GCP for misconfiguration and drift detection. * **Compliance** — controls, tasks, frameworks, and **Awareness Training** for SOC 2, ISO 27001, HIPAA, GDPR, and PCI DSS, drawing evidence from every other module. * **Logs** — centralized records (Web App, Secure Server, Domain Filtering, Incident, Audit, Auth) usable for both daily monitoring and audit evidence. * **Management** — admin access and usage / billing. ## Where to next * New to the dashboard? Jump to the [Quick Start Guide](/getting-started/quick-start). * Ready to bring assets onboard? See [Asset Management](/how-to-guides/asset-management/index). * Want to tune protection? See [Policy Configuration](/how-to-guides/policy-configuration/index). # Quick Start Guide Source: https://docs.osto.one/getting-started/quick-start Five steps from a brand-new Osto account to a dashboard reporting live security telemetry. Most teams finish in under an hour. If you haven't read [Core Concepts](/getting-started/core-concepts) yet, it's worth a 5-minute skim — every step below uses its vocabulary (Assets, Objects, Policies). 1. Go to [**osto.one**](https://osto.one) and click **Sign Up**. 2. Register with your work email, Google Workspace, or Microsoft account. 3. Enter the OTP sent to your email to verify. 4. Complete the short onboarding (organization name, primary contact). 5. You'll land on the **Insights → Dashboard** view. Your home view — **Insights → Dashboard** — is the *Security Snapshot*: four headline KPIs (Security Adoption Score, Total Endpoints, Total APIs Discovered, Current Active Users) plus charts for Website Security Incidents, Top Web Categories, and Endpoint OS Distribution. They'll populate as you add assets. Insights → Dashboard The **left sidebar** is your map to every module: | Section | Purpose | When to use | | ------------------------------------------------------ | ------------------------------- | -------------------------- | | **Assets** | Register what you're protecting | Step 3 | | **Objects** | Define reusable building blocks | Optional, as policies grow | | **Policies** | Tune protection behavior | Step 4 | | **Scanner**, **Code Security**, **Posture Management** | Continuous assessment | Step 5 | | **Compliance**, **Logs** | Evidence and monitoring | Ongoing | Go to **Assets** in the sidebar and add at least one of each: * **Assets → Domains → Manage Domains** — add a domain or subdomain you want Osto to protect. APIs and certificates on that domain are discovered automatically. * **Assets → Endpoint Users** — invite the people in your organization. They'll be prompted to install the Osto agent on their laptops; once installed, endpoint posture and DLP policies start applying. * **Assets → Server Access → Secure Server** — register the servers you want Osto to broker access to. Follow the in-page setup instructions to install the connector. For a deeper walk-through of any of these, see [Asset Management](/how-to-guides/asset-management/index). Osto ships with sensible defaults — you only configure exceptions. Open **Policies** and review: * **Policies → Endpoint Users** — Device Control, App Control, Domain Filtering, Data Leakage Prevention (with App File Access), and Global Policy for the people in your org. Detailed guide: [User Protection Policy](/how-to-guides/policy-configuration/user-protection-policy). * **Policies → Domains** — Global Policies (DDoS, Bot) and Local Policies (Advanced, Custom Routing Rules, Policy Exceptions, API Discovery) for the websites you added. Detailed guide: [Website Protection Policy](/how-to-guides/policy-configuration/website-protection-policy). * **Policies → Server Access** — rules for who can reach which Secure Server. See [Secure Server Access Policy](/how-to-guides/policy-configuration/secure-server-access-policy). You're protected — now make the protection observable. * **Posture Management → Cloud Security** — connect AWS, Azure, or GCP to start scanning your cloud configuration. Guides: [AWS](/how-to-guides/posture-management/connecting-aws), [Azure](/how-to-guides/posture-management/connecting-azure), [GCP](/how-to-guides/posture-management/connecting-gcp). * **Scanner → Web Scanner / App Scanner** — kick off continuous vulnerability scans on the domains and mobile apps you registered. * **Code Security → SAST** — wire your repository into CI for static analysis. * **Compliance → Frameworks** — pick the frameworks that apply (SOC 2 Type II, ISO 27001, HIPAA, GDPR, PCI DSS); Osto starts mapping evidence automatically from everything you turned on above. * **Logs** — Web App, Secure Server, Domain Filtering, Incident, Audit, and Auth logs are now flowing. Use them for daily monitoring and as evidence at audit time. ## You're live. What now? Within an hour of finishing Step 3, the dashboard should be showing real activity. From here: * Browse [How To Guides](/how-to-guides/asset-management/index) for module-specific walkthroughs. * Skim [Best Practices](/support/best-practices) for configurations other teams have settled on. * Bookmark [Troubleshooting Common Issues](/support/troubleshooting) and [FAQs](/support/faqs) for when something doesn't behave as expected. Need help? Contact your Osto representative at [connect@osto.one](mailto:connect@osto.one) or post in your shared support channel. # Asset Management Source: https://docs.osto.one/how-to-guides/asset-management/index Everything you onboard into Osto for protection — domains, users, servers, and certificates. Asset Management covers everything you onboard into Osto for protection. It maps to the **Assets** section in the dashboard sidebar: ``` Assets ├─ Domains │ ├─ Manage Domains → see Managing Websites & Subdomains │ └─ Manage Certificate → see Managing SSL Certificates ├─ Endpoint Users → see Managing Users & Groups └─ Server Access ├─ Secure Server → standalone hosts (install script per host) └─ Secure Gateway → broker + child servers behind it (private IPs) ``` ## In this section * [**Managing Websites & Subdomains**](/how-to-guides/asset-management/managing-websites) — register the web properties Osto should protect. * [**Managing SSL Certificates**](/how-to-guides/asset-management/managing-ssl-certificates) — upload the certificates Osto presents to your origin servers. * [**Managing Users & Groups**](/how-to-guides/asset-management/managing-users-groups) — onboard endpoint users and organize them into Usergroups. * [**Managing Secure Servers**](/how-to-guides/asset-management/managing-secure-servers) — register the servers Osto brokers access to. Covers both standalone Secure Servers and Secure Gateways with child servers. ## Two paths for server access Osto offers two ways to put a server behind Zero Trust access: 1. **Standalone Secure Server** — install Osto's agent directly on each server. Best for a small number of hosts, or hosts on different networks. **Linux and Windows** supported. 2. **Secure Gateway with Child Servers** — install the gateway agent once on a Linux host inside your network; then register child servers by their private IP. The gateway brokers connections to them — no per-server install needed. Best when many internal hosts share a network segment. Both approaches are covered in [Managing Secure Servers](/how-to-guides/asset-management/managing-secure-servers). ## A typical onboarding order 1. **Domains first** — add your root domain (or just a subdomain) and update DNS to point traffic through Osto. Inbound protection becomes active immediately. 2. **Certificates** — upload a certificate so traffic between Osto and your origin stays encrypted. 3. **Endpoint Users** — invite your team. They install the Osto agent and start receiving endpoint policies. 4. **Secure Servers** — register the hosts you want Osto to broker access to (either standalone or behind a Gateway). Once these are in, the rest of the platform (Scanner, Code Security, Posture Management, Compliance) has something to work with. # Managing Secure Servers Source: https://docs.osto.one/how-to-guides/asset-management/managing-secure-servers Register the servers you want Osto to broker Zero Trust access to. Once registered, end users can only reach the server through Osto — never directly. Osto offers two patterns: * **Standalone Secure Server** — install Osto's agent on each server. * **Secure Gateway with Child Servers** — install one gateway, then register child servers by private IP. The gateway brokers the connections. Both share the same access controls and policies; the difference is operational. *** ## Standalone Secure Server > **Path:** Assets → Server Access → Secure Server ### Adding a Secure Server In the sidebar, go to **Assets → Server Access → Secure Server** and click **Add Secure Server +**. * **Name** — a unique, identifiable name (appears in policies and logs). * **Secure Session Window** — how long a brokered session stays active, in minutes. Default is **60 minutes**. * **Multi-Factor Authentication** — enabled by default. We recommend leaving it on. Click **Generate Script**. The server appears in the list immediately, and a "Copy Installation Script:" panel opens with two buttons. Click **Script for Linux** or **Script for Windows** — the install command copies to your clipboard. SSH (or use RDP/PowerShell on Windows) into the server and execute the command. Once the script finishes, the server is registered. You can re-copy either script anytime from the **Linux** / **Windows** buttons in the Install Command column on the list. #### Supported platforms * **Linux:** Ubuntu 18.04, 20.04, 22.04, 24.04; Debian 10 (Buster), 11 (Bullseye), 12 (Bookworm). * **Windows:** Windows Server 2019, 2022; Windows Enterprise Multi-Session 10, 11. For any platform outside this list, talk to your Osto contact before deploying. ### Editing a Secure Server 1. Click the **edit (pencil)** icon on the server's row. 2. Update its name, session window, or MFA setting. 3. Save. ### Deleting a Secure Server 1. Click the **delete (trash)** icon on the server's row. 2. Confirm in the prompt. Deleting a Secure Server is irreversible. It removes the registration, revokes all access policies that reference it, and invalidates any active sessions. The agent on the server becomes orphaned — re-onboard with a fresh script if you intend to re-register it. *** ## Secure Gateway with Child Servers > **Path:** Assets → Server Access → Secure Gateway A Secure Gateway lets one Linux host inside your network broker access to many child servers. Child servers don't need the Osto agent installed — they're identified by private IP, and the gateway routes traffic to them. ### Adding a Secure Gateway Go to **Assets → Server Access → Secure Gateway** and click **Add Secure Gateway +**. Enter a **Name** for the gateway and click **Create Secure Gateway**. The gateway row appears with a "Copy Installation Script:" panel. Click **Script for Linux** — the install command copies to your clipboard. SSH into the gateway host and run the command. Secure Gateway is **Linux-only** — Ubuntu, Debian, and similar distributions. Windows hosts can be Secure Servers (standalone) but not Gateways. ### Adding child servers to a Gateway Once the gateway is configured: 1. In the Secure Gateway list, click the **+ Add** button on the gateway's row. 2. The "Edit Secure Gateway" dialog opens with: * **Child Name** — a unique name for the child server. * **Private IP** — the internal IP address of the child host. * **Multi-Factor Authentication** — enabled by default. * **Session Window** — default 60 minutes. 3. Click **Add Child Server**. 4. Repeat for each child server you want behind this gateway. 5. Click **Save**. Child servers don't require any agent installation. The gateway handles all brokering. ### Deleting a Gateway Click the **delete (trash)** icon on the gateway's row and confirm. Deleting a Gateway removes the gateway *and* every child server it brokered, and invalidates all associated policies. The agent on the gateway becomes orphaned. The gateway's name cannot be edited after creation — to rename a gateway, you'd need to delete and recreate it (and re-add all child servers). *** ## Related * [Secure Server Access Policy](/how-to-guides/policy-configuration/secure-server-access-policy) — define who can access which server, when, and for how long. * [Core Concepts → Server Access](/getting-started/core-concepts) — the model behind Secure Server vs. Secure Gateway. # Managing SSL Certificates Source: https://docs.osto.one/how-to-guides/asset-management/managing-ssl-certificates Upload and manage the certificates Osto uses to encrypt traffic between your origin and the internet. Osto encrypts both legs of every request — between the user and Osto, and between Osto and your origin. There are two ways to control which certificate Osto presents: 1. **Auto-generate** — Osto provisions and renews a free SSL certificate for you (ACME-based, requires a one-time CNAME at your DNS provider). 2. **Bring your own** — you upload your own certificate bundle and Osto uses it. This page describes managing the certificate pool you can pick from when you choose option 2. The auto-generate flow happens entirely inside the *Add Website* wizard — see [Managing Websites & Subdomains](/how-to-guides/asset-management/managing-websites). > **Path:** Assets → Domains → Manage Certificate ## The certificate list | Column | What it shows | | -------------- | ------------------------------------------------------------------------------ | | **Name** | The name of the certificate (derived from the bundle or the domain it serves). | | **Valid To** | The certificate's expiry date. | | **Status** | Current state — e.g. *active*, *expired*. | | **Managed By** | Whether Osto auto-generated and manages this certificate, or you uploaded it. | | **Actions** | **Delete** only — see *Editing* below. | ## Adding an SSL Certificate Certificates land in your pool from two places: 1. **Directly here**, via *Add Certificate +* on this page. 2. **Inside the Add Website wizard**, when you uncheck *Auto-generate certificate* and upload a ZIP — that upload is added to the pool for future reuse. To add one from this page: Go to **Assets → Domains → Manage Certificate**. Click **Add Certificate +**. In the *Upload Certificate Archive* dialog, drag-and-drop or click to upload a `.zip` file containing your certificate bundle. The ZIP must contain valid certificate files (`.crt` or `.pem`) and private key files (`.key` or `.pem`). The certificate appears in the list with its Name, Valid To, Status, and Managed By columns populated from the bundle contents. The upload accepts only a single `.zip` file. If you have separate cert and key files, package them together into a ZIP before uploading. ## Editing a certificate There is no edit action on this page. To replace or update a certificate (for instance after renewal), **delete the existing one and upload the new one**. Domains that referenced the old certificate will pick up the new one automatically, as long as the new cert covers the same domain. ## Deleting a certificate 1. Click the **Delete** button on the certificate's row. 2. Confirm. A certificate can't be deleted while it's actively serving traffic for a registered domain. Switch the domain to *Auto-generate*, or upload a replacement first, before deleting an in-use cert. ## Tips * **Wildcard certificates simplify operations.** One `*.example.com` upload covers every subdomain you register. Use them unless you have a compliance reason to issue per-host. * **Don't have a certificate?** Use the *Auto-generate certificate* option in *Add Website* — Osto handles provisioning and renewal for you. * **Track your own renewal cycle for uploaded certs.** Osto surfaces expiry in the **Valid To** and **Status** columns and in alerts, but renewal happens at your CA. ## Related * [Managing Websites & Subdomains](/how-to-guides/asset-management/managing-websites) — the Add Website wizard step that uses these certs (and where the auto-generate flow lives). * [What is Web Application Protection](/overview/what-is-web-app-protection) — how Osto's dual-layer TLS works in practice. # Managing Users & Groups Source: https://docs.osto.one/how-to-guides/asset-management/managing-users-groups Onboard your team into Osto and organize them into Usergroups for role-based policy targeting. A default group called **Common** ships with every account; new users land in Common unless you create them in another group. > **Path:** Assets → Endpoint Users ## Creating a Usergroup 1. Go to **Assets → Endpoint Users**. 2. Click **Create Usergroup +**. 3. Fill in: * **Name** (required) — e.g. *Developers*, *Marketing*, *Contractors*. * **Description** (optional) — helpful for future you when the group list grows. 4. Click **Save**. The group appears in the list with a count of 0 users. ## Editing or deleting a Usergroup * **Edit:** open the group from the list, update the name or description, and save. * **Delete:** click the group's **delete** icon. A group can only be deleted when it contains zero users — move users out first. The default **Common** group can't be deleted. ## Adding users You can add users manually or in bulk via CSV. ### Add Manually 1. Go to **Assets → Endpoint Users** and locate the target Usergroup. 2. Click **+ Add Users** on that group's row. 3. In the dialog, the **+ Add Manually** tab is selected by default. Fill in: * **Name** (required) * **Email** (required) * **Date of Birth** (optional, DD-MM-YYYY) * **Phone Number** (optional, with country-code dropdown — defaults to your account's region) 4. Click **Save**. The user receives an email with a link to download the Osto agent. ### Import via CSV 1. In the **Add User** dialog, switch to the **Import** tab. 2. Click **Download Sample CSV** to grab the template with the right column headers. 3. Fill it with your user list and save. 4. Click **Upload CSV** and select your file. 5. Save. Each user receives the same agent-install email. ## Editing or removing a user * **Edit:** click the **edit (pencil)** icon on the user's row. You can update **Name, Email, Date of Birth, and Phone Number**. * **Remove:** click the user's **delete (trash)** icon. The user is unenrolled and their agent stops reporting in. Policies that targeted them via group continue to apply to others. The Edit User dialog doesn't include a group selector. Moving an existing user between groups isn't supported from the edit view today — if you need to reorganize users across groups, talk to your Osto contact. ## Agent install status The **App Installed** column shows the agent's status per user: * **Red dot** — agent not yet installed (the user hasn't followed the email link yet). * **Green dot** — agent installed and reporting in. When no user has installed the agent, you'll see a warning banner at the top: *"No users have installed the agent application. See details."* ## Related * [User Protection Policy](/how-to-guides/policy-configuration/user-protection-policy) — the policies that apply to users in each group (Device Control, App Control, Domain Filtering, DLP). * [Core Concepts](/getting-started/core-concepts) — how Endpoint Users fit into the broader asset model. # Managing Websites & Subdomains Source: https://docs.osto.one/how-to-guides/asset-management/managing-websites Add the websites and subdomains you want Osto to protect. Once added and DNS-pointed, every request to them flows through Osto for inspection before reaching your origin. > **Path:** Assets → Domains → Manage Domains ## The domain list The Manage Domains page shows every domain you've registered with these columns: | Column | What it shows | | ----------------- | ----------------------------------------------------------------------------------------------------------------- | | **FQDN** | The full domain name (e.g. `api.example.com`). | | **Updated At** | Timestamp of the last configuration change. | | **Website Name** | Friendly name for the website (auto-derived from the FQDN by default). | | **Status** | Current state — *draft*, *active*, etc. New domains start as *draft* until DNS is pointed and traffic is flowing. | | **Firewall Mode** | Per-domain toggle: **Detect Mode** (observe and log only) or **Prevent Mode** (actively block). | | **Actions** | Edit (pencil) and **Delete Website** affordances. | The top-right **WAF Details** button surfaces protection summaries. ## Firewall Mode — Detect vs. Prevent Each registered domain has a Firewall Mode toggle directly in the table. This controls how Osto handles malicious requests it identifies: * **Detect Mode** — Osto inspects every request and logs anything suspicious, but **does not block**. Use this when onboarding a new domain so you can review what Osto would have blocked before going live. * **Prevent Mode** — Osto inspects every request and **actively blocks** anything malicious. This is the production setting. **Recommended onboarding pattern:** start in **Detect Mode** for the first few days, watch Logs → Web App for false positives, then flip to **Prevent Mode** once you're confident the policies are correctly tuned. ## Adding a Website or Subdomain The same flow handles root domains and subdomains alike. It's a two-step wizard. ### Step 1 — Domain, origin, TLS & CDN Go to **Assets → Domains → Manage Domains** and click **Add Website +**. In the **Domain Name** field, enter the domain (e.g. `example.com` or `app.example.com`) and click **Verify**. On success you'll see *"Domain verified successfully"* with a green check. The form expands with two **Server IP or LB Domain** fields. Suggested origin IPs appear as chips below each — click a chip to fill, or type your own. Use both fields for high availability; use only the first for a single-origin setup. For multiple IPs in one field, separate them with commas. Multi-select dropdown. Defaults to **TLS 1.2 + TLS 1.3** (shown as *"2 selected"*). TLS 1.1 is available but off by default. Choose your CDN if your site sits behind one — Osto adjusts request-header handling so client IPs and other forwarded metadata are interpreted correctly. Options: Not Using CDN, AWS CloudFront, Google Cloud CDN, Azure CDN, Others. Click **Next** to move to certificate setup. ### Step 2 — Certificate Configuration This is where Osto figures out which TLS certificate to present to clients hitting your domain. You have two paths: #### Option A — Auto-generate (default, recommended) Leave **Auto-generate certificate** checked. Osto provisions a free SSL certificate on your behalf using industry-standard ACME validation. To prove you own the domain, you add one CNAME record at your DNS provider: | Field | Value | | --------- | ------------------------------------------------------------------------ | | **Type** | CNAME | | **Name** | `_acme-challenge.` (shown in the dialog with a copy button) | | **Value** | the target shown in the dialog — use the copy button | | **TTL** | 60 | After adding the record, wait a few minutes for DNS to propagate, then click **Verify CNAME Record**. Once verified, Osto issues the certificate and the domain moves out of *draft*. #### Option B — Bring your own certificate Uncheck **Auto-generate certificate**. Two sub-options appear: * **Select Certificate** — dropdown listing every certificate you've already uploaded under [Manage Certificate](/how-to-guides/asset-management/managing-ssl-certificates). Pick the one whose Common Name covers your domain. * **Certificate Archive (ZIP)** — drag-and-drop a `.zip` file containing the certificate and private key, or click to browse. The ZIP must contain valid certificate files (`.crt`, `.pem`) and private key files (`.key`, `.pem`). Click **Next** to finish. The uploaded certificate also appears in Manage Certificate for future reuse. ### Step 3 — Point your DNS Once the dialog closes, the domain appears in the list with status **draft**. The final step is at your DNS provider: * Update the domain's **A record** to the Osto IP shown after Save. * Set TTL to **600 seconds** for fast propagation. Status flips from *draft* to *active* once Osto observes traffic flowing through. ## Editing a Website or Subdomain Click the **edit (pencil)** icon on the row. The dialog opens directly to the Step 1 form with your existing values pre-loaded — you can update origin IPs, TLS versions, or CDN usage and click **Save**. To change a domain's **Firewall Mode**, click the *Detect Mode* or *Prevent Mode* button directly in the row — no need to open the edit dialog. ## Deleting a Website or Subdomain Click **Delete Website** on the row and confirm. A parent domain can't be deleted while it still has registered subdomains — delete the subdomains first. After deletion, traffic to that domain bypasses Osto until you also revert the DNS A record at your provider. ## What happens after a domain is active 1. Every request hits Osto first. 2. Attack Detection runs (TLS, protocol, headers). 3. Advanced checks (OWASP, DDoS, bot mitigation) inspect the request body and behavior. Whether they block or merely log depends on Firewall Mode. 4. Clean requests forward to your origin; malicious ones are blocked (in Prevent Mode) or recorded (in Detect Mode). 5. Findings stream into **Logs → Web App Logs** and into the **Compliance Engine** as evidence. ## Related * [What is Web Application Protection](/overview/what-is-web-app-protection) — the detailed protection model. * [Website Protection Policy](/how-to-guides/policy-configuration/website-protection-policy) — tune the protection behavior per domain. * [Managing SSL Certificates](/how-to-guides/asset-management/managing-ssl-certificates) — upload, view, and remove certificates. # SAST Source: https://docs.osto.one/how-to-guides/code-security/sast Connect your Git provider to run static analysis, dependency scanning, and secret detection across your source code. **SAST** (under **Code Security**) secures your codebase *before it ships*. Connect a Git provider and Osto runs static analysis, software composition analysis (dependency scanning), and secret detection across your repositories — all in one place. > **Path:** Code Security → SAST SAST onboarding page titled 'Secure your codebase before it ships' with a Connect a provider button and a three-step how-it-works guide ## How it works Getting started takes three steps: | Step | What happens | | ------------------------- | -------------------------------------------------------------------------------------------- | | **1. Connect a provider** | Link GitHub, GitLab, or Bitbucket so Osto can reach your repositories securely. | | **2. Sync repositories** | Osto pulls your repository list and branches so you can choose what to scan. | | **3. Run scans** | Kick off static analysis, dependency, and secret checks from the Repositories or Scans tabs. | ## Connect a provider Click **Connect a provider** to open the connection dialog, then choose your Git host: Connect with a GitHub App or a personal access token. Connect gitlab.com or a self-hosted instance via OAuth or a token. Connect with OAuth or an app password. Connect provider dialog showing GitHub, GitLab, and Bitbucket as Git host options ### Choose how to connect After picking a host, choose a connection method: Connection method step offering Sign in with the provider or Personal Access Token * **Sign in with the provider** — opens a secure browser window to authorize Osto. Recommended for most teams; there's no token to copy. * **Personal Access Token** — paste a token or app password. Useful for automation, air-gapped environments, or restricted organizations. You'll give the connection a name and paste the token, then select **Add connection**. Connecting **GitLab** adds one extra choice: **gitlab.com (cloud)** or a **self-hosted GitLab** instance (your own CE/EE URL). Self-hosted instances connect with a personal access token. ## After connecting Once a provider is linked, SAST opens up into five tabs across the top of the page, and a top-right **Report** button is available throughout. Until a provider is connected, SAST shows the onboarding screen above. ### Integrations Your home base once connected. The top cards summarize your **Connections**, **Repositories**, **Findings**, and **Scans**, followed by a severity breakdown of all findings (Critical / High / Medium / Low) and how many are **fixable**. SAST Integrations tab with Connections, Repositories, Findings, and Scans counts, a findings severity breakdown, and a connected GitHub provider Below that, the **Connections** list shows each linked provider with its status, repository count, and last sync time. Use **Sync** to refresh a single connection (or **Sync All**) and **Test** to verify the connection still works. ### Repositories Every repository Osto can see, with at-a-glance counts: total repositories, how many are inaccessible, the percentage scanned, how many auto-scan on push, how many have critical findings, and how many are clean. A **Top Languages** panel and a **Most Vulnerable** panel (ranked by Osto Risk Score) sit above the table. SAST Repositories tab showing coverage cards, top languages, most vulnerable repo, and a repository table Each row lists the repository (with an **Auto-scan on push** indicator when enabled), provider, branches, languages, and size. Use the per-row **Scan** button to run a scan on demand, or **View details** to drill in. ### Scans A record of every scan run. The summary cards cover total scans, scans in the last 7 days, anything running or queued, your success rate, average duration, and any runs with errors. The **Scan Runs** table lists each run with its repository, status, progress, total findings, and critical count. SAST Scans tab showing total scans, success rate, average duration, and a Scan Runs table ### Issues The heart of SAST — every finding across your code. Summary cards show the **Total**, **Critical**, **High**, **KEV** (known-exploited), **Fixable**, and **Open** counts, alongside **Top Rules** (most-triggered rules) and **Top Files** (the hottest spots in your code). SAST Issues tab with finding counts, top rules, top files, and a findings table The findings table can be grouped (flat list, or by file, component, severity, type, or rule) and exported. Each finding shows its repository, risk score, severity, **type** — **VULN** (vulnerable dependency), **SECRET** (exposed credential), or **SAST** (code-analysis issue) — status, and the rule and message. Select **View details** on any finding to open the **Finding Detail** panel: Finding Detail panel showing Osto Risk Score breakdown, CVE description, affected file and component, fix version, CWE, and triage controls It explains the **Osto Risk Score** — how CVSS severity, exploit likelihood, and known-exploited (KEV) status combine — describes the finding (with its CVE where relevant), and pinpoints the affected **file**, **component**, recommended **fix version**, and **CWE**. From the **Triage** section you can **mark a finding as triaged** to mute it (and its matches across branches and repos) when it's a false positive, accepted risk, or a test-only path. ### Reports Export your current results on demand. The **Download now** section offers two exports: | Export | What you get | | -------------------- | ------------------------------------------------------------------------------------------ | | **Executive report** | An org-wide HTML overview — severity distribution, top vulnerable repos, and recent scans. | | **Findings CSV** | The full findings list as a compliance-friendly CSV (up to 10,000 rows). | SAST Reports tab with Download now exports (Executive report, Findings CSV) and a Schedules section Downloading a report under **Download now** exports the current state — it doesn't trigger a new scan. ## Schedules Below the on-demand exports, the **Schedules** area lets you automate recurring scans and have a fresh report emailed to your team when each run completes. With no schedules set up it shows *"No schedules yet."* Click **New schedule** to open the schedule builder. New schedule dialog with Name, Frequency, Scope, Email a fresh report toggle, Recipients, Format, and content options The dialog has these options: | Field | Options / notes | | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | | **Name** *(required)* | A label for the schedule (e.g. "Weekly Security Review"). | | **Frequency** | **Daily** (02:00 IST), **Weekly** (Mon 02:00 IST), or **Monthly** (1st, 02:00 IST). | | **Scope** | **All repositories** (everything across all connected providers), a **single connection**, or **multiple repositories**. | | **Email a fresh report** | A toggle (on by default). When enabled, each completed run emails a freshly built report to the recipients below. | | **Recipients** *(required when emailing)* | Add one or more recipients — press Enter, comma, or space to add each. | | **Format** | **HTML**, **PDF**, or **CSV**. | | **Report contents** | Choose what the email includes: **Executive summary PDF**, **Per-scan detail**, and/or **Findings CSV**. | Fill in the fields and select **Create schedule**. Each run then scans the chosen scope on the set cadence and — if email is enabled — delivers the report automatically. # AutoComply Source: https://docs.osto.one/how-to-guides/compliance/autocomply Get your workspace audit-ready — activate a compliance framework, generate policies, track controls and tasks, and run security awareness training. **AutoComply** (under **Compliance**) automates the busywork of getting audit-ready. Activate a framework like SOC 2, and Osto maps out the requirements, controls, policies, and tasks you need — then helps you generate policies, assign training, and track everything to completion in one place. > **Path:** Compliance → AutoComply ## First-run setup The first time you open AutoComply, a **Guided Setup** assistant walks you through enabling compliance for your workspace. It captures a few essentials used throughout your policies and attestations: Compliance guided setup assistant asking for the organization's legal name 1. **Enable compliance** for your workspace. 2. **Organization legal name** — exactly as it should appear on contracts and audit documents. 3. **Default policy author** — chosen from your workspace admins; listed as the author on generated policies. 4. **Policy logo** — branding for generated documents. 5. **Activate your first framework**. Everything you enter during setup can be edited later under **Compliance → Settings**. Once setup completes, Compliance expands into the full AutoComply console, with sections for Frameworks, Policies, Tasks, Awareness Training, and Settings. A role switcher in the top-right toggles between the **Admin** console and the **Employee** self-service view. ## Frameworks The **Frameworks** page lists the compliance standards you can work toward. **SOC 2 Type II** is available to activate today; others — CCPA, FedRAMP, GDPR, HIPAA, ISO 27001:2022, ISO 42001:2023, and PCI-DSS v4.0 — are on the roadmap and marked *Coming soon*. Frameworks page showing SOC 2 Type II active and other standards marked coming soon Select **View compliance status** on an active framework to open its requirements: SOC 2 requirements page with an overview of requirements and controls and a list of controls by criterion The detail view summarizes the framework's **requirements** and **controls** with how many are completed, partial, or pending, and lets you filter by status or search. Each requirement (mapped to its criterion) lists the controls that satisfy it, and you can **add a control** where needed. ## Policies The **Policies** page is your library of company policies, pre-mapped to your active framework. Each policy moves through a workflow — **Not started → Draft → Needs approval → Approved** — and the summary counts show where everything stands. Company Policies page listing policies with status, framework, and Setup now actions Use **Generate Policies** to draft them from Osto's templates (populated with your organization details), filter by framework, and **Setup now** on any row to work through a single policy. The table shows each policy's **status** and **framework**. ## Tasks The **Tasks** page is your compliance pipeline — the concrete to-dos that move you toward audit-readiness. Compliance Tasks page with status and type breakdowns and a filterable task list Tasks are summarized **by status** (Open, In progress, Done, Failing) and **by type** (Automated vs. Manual). **Automated** tasks are checked by Osto from the platform itself (for example, WAF/WAAP protection, DLP policies, endpoint screen lock, TLS certificates); **manual** tasks are evidence you record yourself (risk assessments, HR documentation, audits). Filter by status, category, or type, and **Sync** to refresh automated checks. ## Awareness Training AutoComply includes a full **security awareness training** module so you can satisfy the "train your people" controls every framework requires — build programs from a starter pack, assign them to employees, and track completion. It's a feature in its own right: Build training programs and modules, assign them to employees, and track completion — plus the employee self-service experience for completing training and acknowledging policies. ## Settings **Settings** holds the organization details captured during setup — used to populate policy templates and attestations — plus your policy logo. Compliance Settings page with organization details and a policy logo upload Under **Organisation Details** you can edit your legal name, company domain, industry, country, website, default policy author and approver, and default review frequency. Under **Policy Logo**, upload the logo that appears on generated documents. These values flow into every policy and report AutoComply produces. # Awareness Training Source: https://docs.osto.one/how-to-guides/compliance/awareness-training Build security awareness training programs, assign them to employees, and track completion — plus the employee experience for completing training and acknowledging policies. **Awareness Training** (under **Compliance**) is AutoComply's built-in security awareness program. Admins build training programs from a ready-made starter pack, assign them to employees, and track completion; employees complete their assigned modules and acknowledge company policies from a self-service portal. Together this satisfies the security-training and policy-acknowledgment controls that frameworks like SOC 2 require. > **Path:** Compliance → Awareness Training Awareness Training has two sides: the **admin** experience (build and assign) and the **employee** experience (learn and acknowledge). Use the **role switcher** in the top-right to move between them. ## Admin experience As an admin, you build training programs, assign them to employees, and track completion across the **Training Dashboard**, **Programs**, **Modules**, and **Employees** pages. ### Training Dashboard The **Training Dashboard** is your command center. Once programs are assigned, it shows coverage and progress at a glance: Compliance Training Dashboard with KPI cards for training programs, employees in scope, assignments, and completion rate | Metric | What it shows | | ---------------------- | -------------------------------------------------------- | | **Training Programs** | Published programs in your catalog. | | **Employees in Scope** | How many employees are assigned vs. unassigned. | | **Assignments** | Total assignments, split into pending and in-progress. | | **Completion Rate** | Percentage completed, with completed and overdue counts. | Below the KPIs, an **Assignment Status Mix** bar (Completed / In Progress / Pending) and **Quick Insights** summarize coverage, average load per employee, and whether everything is on track. ### Programs The **Programs** page is your training catalog. Create a program from scratch or **Add starter content** — a ready-made *Security Awareness Training* program covering core cybersecurity topics. Each program can be edited, duplicated, or deleted. Open **View Details** on a program to manage its settings and assignments: Security Awareness Training program detail with program name, description, and quiz configuration * **Program details** — name and description. * **Quiz configuration** — set the **passing score**, **questions per quiz**, **max attempts**, and whether learners must finish the content before the quiz. * **Assign to Employees** / **Send Reminder** — roll the program out and nudge people who haven't finished. ### Modules **View Modules** opens the program's lessons. The starter pack ships with eight modules — **Passwords, Data Handling, Computer Theft, Phishing & Ransomware, Removable Media, Vishing, Internet Downloads,** and **Public Wi-Fi** — and you can **Add Module** or **Manage Module** to edit each one's content items and quiz questions. Training Modules page listing eight security awareness modules ### Employees The **Employees** page is where you manage who is being trained. It gives you a single, roster-wide view of every employee's training status and progress, surfaces anyone who hasn't been assigned a program yet, and is the place you roll programs out and chase down completions. Use it to keep coverage at 100% and to evidence — for an audit — that your people have been trained. Awareness Training Employees page showing training status filters and employees without training Available actions on this page: | Action | What it does | | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Status filter** | Narrow the roster to a single training status — **All Statuses**, **Pending**, **In Progress**, **Completed**, or **Cancelled** — to find who still needs attention. | | **Program for actions** | Select which training program the assign and reminder actions below apply to. | | **Assign Training** | Assign the selected program to employees, putting their assignment into a *Pending* state. | | **Send Reminder** | Email a nudge to employees whose assigned training is still incomplete. | | **Employees without Training** | A grouped list of anyone with no assignments yet (shown with a *No assignments* badge) so gaps in coverage are easy to spot and fix. | ## Employee experience Switching the top-right role selector to **Employee** opens the **Compliance Center** — a self-service portal where employees see exactly what needs their attention: assigned training and policy acknowledgments. Employee Compliance Center with Policy documents and Awareness training cards ### Completing training From **Awareness Training**, an employee sees each assigned program with its **progress** and **due date**, and clicks **Continue** to keep going. A program is made up of modules that **unlock in order** — you finish one before the next opens. Inside a module, content is delivered step by step (you can't skip ahead). Steps include **reading lessons** (with key takeaways) and short **video lessons**, each with an estimated time: Employee training module step showing a reading lesson with key takeaways and a progress bar Work through the steps with **Next**, then **Complete module** on the last one. The module is marked 100%, your overall progress updates, and the next module unlocks. Programs can also require a **quiz** — with a passing score and limited attempts, as configured by your admin. ### Acknowledging policies The **Policies** tab is where employees **read and acknowledge** the company policies their organization has published. Until policies are approved and published (from the admin **Policies** workflow), this page shows an empty state: Employee Policies page empty state explaining published policies will appear for acknowledgment Policies only appear for employees to acknowledge once an admin has taken them through **Compliance → Policies** (set up → draft → approve → publish). # Audit Logs Source: https://docs.osto.one/how-to-guides/logs/audit-logs An accountability trail of configuration and admin actions taken in your workspace. **Audit Logs** is your accountability trail — a record of configuration and admin actions taken in your workspace. It's the log you'll reference for compliance and change tracking. > **Path:** Logs → Audit Logs Audit Logs listing performed-at time, performed-by user, audit type, feature, status, and a View Details link The table includes these columns: | Column | Description | | ---------------- | --------------------------------------------------------- | | **Performed At** | When the action took place. | | **Performed By** | The user who performed it. | | **Audit Type** | The kind of action (for example, creating a record). | | **Feature** | The area affected — such as a user, user group, or scan. | | **Status** | The outcome (for example, success). | | **Details** | A **View Details** link to the full record of the change. | # Auth Logs Source: https://docs.osto.one/how-to-guides/logs/auth-logs A record of authentication and session events, including role switches. **Auth Logs** records authentication and session activity — who signed in, from where, on what device, and any switches between the admin and employee views. > **Path:** Logs → Auth Logs Auth Logs listing timestamp, login ID, login and logout time, status, reason, user agent, source IP, and user OS The table includes these columns: | Column | Description | | -------------------------------- | --------------------------------------------------------------------------------------------------------- | | **Timestamp** | When the event occurred. | | **Login ID** | The account involved. | | **Login Time** / **Logout Time** | When the session started and ended. | | **Status** | Whether the session is active or inactive. | | **Reason** | The event reason — such as a successful authentication, or a switch between the admin and employee views. | | **User Agent** | The browser used. | | **Source IP** | Where the sign-in originated. | | **User OS** | The operating system of the device. | # Domain Filtering Logs Source: https://docs.osto.one/how-to-guides/logs/domain-filtering-logs Endpoint domain requests and the filtering decision applied to each. **Domain Filtering Logs** records the domains your endpoints request and how each request was handled under your domain-filtering policies. > **Path:** Logs → Domain Filtering Logs Domain Filtering Logs table with Timestamp, User, Domain, Source IP, Category Name, and Action columns The table includes these columns: | Column | Description | | ----------------- | ----------------------------------------------------------------- | | **Timestamp** | When the request was made. | | **User** | The endpoint user who made the request. | | **Domain** | The domain that was requested. | | **Source IP** | Where the request originated. | | **Category Name** | The domain category the request fell under. | | **Action** | The filtering decision applied (for example, allowed or blocked). | Entries appear once endpoints with domain-filtering policies are active; until then the table shows *"No Rows To Show."* # Incident Logs Source: https://docs.osto.one/how-to-guides/logs/incident-logs A consolidated view of security incidents across the platform. **Incident Logs** brings security incidents into one consolidated view, so you can triage what happened, where, and under which policy. > **Path:** Logs → Incident Logs Incident Logs table with Incident Time, Log Type, Source User, Source Endpoint, Policy, Destination, and Severity columns The table includes these columns: | Column | Description | | ------------------- | ------------------------------------- | | **Incident Time** | When the incident occurred. | | **Log Type** | The kind of incident. | | **Source User** | The user involved, where applicable. | | **Source Endpoint** | The endpoint involved. | | **Policy** | The policy that flagged the incident. | | **Destination** | The target of the activity. | | **Severity** | How serious the incident is. | Entries appear as incidents are raised across the platform; until then the table shows *"No Rows To Show."* # Logs Source: https://docs.osto.one/how-to-guides/logs/index Searchable, filterable records of web traffic and threats, secure-server sessions, domain filtering, incidents, admin actions, and authentication events. **Logs** give you a searchable, filterable history of everything happening across your Osto-protected estate — web traffic and blocked attacks, secure-server sessions, endpoint domain filtering, incidents, admin actions, and sign-ins. Every log table has per-column filters and pagination so you can drill into exactly what you need. > **Path:** Logs Logs are split into six views: Web traffic, detected threats, and policy violations for your protected sites. Sessions opened to your secure servers. Endpoint domain requests and the filtering decision applied. Consolidated security incidents across the platform. Configuration and admin actions taken in your workspace. Authentication and session events, including role switches. Every log view supports column filters and pagination. Tables stay empty until there's activity to report — for example, Secure Server and Domain Filtering logs populate once those features see live traffic. # Secure Server Logs Source: https://docs.osto.one/how-to-guides/logs/secure-server-logs A record of sessions opened to your secure servers. **Secure Server Logs** records the sessions users open to your secure servers through Secure Server Access. > **Path:** Logs → Secure Server Logs Secure Server Logs table with Timestamp, User, Secure Server, Source IP, Source Port, Service, and Duration columns The table includes these columns: | Column | Description | | ----------------- | -------------------------------- | | **Timestamp** | When the session occurred. | | **User** | The user who connected. | | **Secure Server** | The server they connected to. | | **Source IP** | Where the connection originated. | | **Source Port** | The source port used. | | **Service** | The service accessed. | | **Duration** | How long the session lasted. | Entries appear here as users connect through Secure Server Access; until then the table shows *"No Rows To Show."* Use the column filters to find sessions by user, server, or time. # Web App Logs Source: https://docs.osto.one/how-to-guides/logs/web-app-logs A live record of traffic hitting your protected websites — detected threats, the full access log, and policy violations. **Web App Logs** is the most active log view — a live record of traffic hitting your protected websites. It's organized into three tabs. > **Path:** Logs → Web App Logs Web App Logs Threat Logs tab listing detected threats with timestamp, severity, incident type, source IP, host, and method | Tab | Columns | What it shows | | ------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------- | | **Threat Logs** | Timestamp, Severity, Incident Type, Source IP, Host, Method, User Agent, Request ID | Every attack Osto detected and blocked. | | **Access Logs** | Timestamp, Source IP, Host, Method, URI, Status Code, Protocol | The full request access log for your sites. | | **Policy Violation Logs** | Timestamp, Severity, Incident Type, Source IP, Host, Method, User Agent | Requests that tripped one of your protection rules. | Use the per-column filters to narrow by severity, host, source IP, or time, and the **Request ID** to correlate a threat entry with its underlying request. # Objects Management Source: https://docs.osto.one/how-to-guides/objects/index Reusable building blocks — domain categories, application groups, port objects, and schedules — that you reference when defining policies. **Objects** are the reusable building blocks you reference when writing policies. Instead of repeating the same domains, ports, or time windows in every rule, you define them once as an object and reuse them across your policies. Osto ships with a large set of predefined objects, and you can add your own. > **Path:** Objects Objects come in four types: Named groups of domains used by domain-filtering policies. Predefined application groups used by app-control policies. Protocol/port definitions used by server-access policies. Time-based classes that control when a policy applies. ## Domain Category A **domain category** is a named collection of domains. Osto includes 66 **predefined** categories (Web Hosting, Web Analytics, URL Shorteners, Violence, and many more) that domain-filtering policies use to allow or block whole classes of sites at once. You can also create your own. Domain Category page listing predefined domain categories with Name, Type, and Actions columns The table shows each category's **Name** and **Type** (predefined categories are read-only). Use **Search Domain Category** to find one, or **Add Domain Category** to create a custom one: * **Name** and an optional **Description**. * **Add Manually** — type a comma-separated list of domains; wildcards are supported (e.g. `google.com, *.facebook.com`). **Discover Related Domains** helps expand the list. * **Import Domains** — upload a `.txt` file of domains (a sample file is available to download). ## Application The **Application** page lists Osto's predefined application classification groups — **Instant Messaging, Web Browser, P2P, VPN,** and **All Apps**. These are the groups your **App Control** policy uses to allow or restrict categories of apps. The list is reference-only (you select these groups from within policies rather than editing them here). Application page listing predefined application groups with Name and Description ## Port A **port object** names a protocol and port (or set of ports) so you can reference it in **secure-server access** policies. Osto includes common services (DNS, LDAP, SMB, SYSLOG, IKE, and more). Port page listing port objects with Name, Protocol, Type, Ports, and Actions The table shows each object's **Name**, **Protocol**, **Type**, and **Ports**. To add one, click **Add Port Objects** and provide: * **Name**. * **Protocol** — **TCP** or **UDP**. * **Type** — **Single Port**, **Port Range**, or **Port List** — then the matching port value(s). ## Schedule A **schedule** controls *when* a policy is in effect. The built-in **Forever** schedule applies a policy at all times; you can add time-bound schedules for policies that should only apply during certain windows. Schedules appear as the **Schedule Class** option in endpoint policies. Schedule page listing schedule objects with Name, Description, Duration, and Actions To add one, click **Add Schedule** and set a **Name**, optional **Description**, and a **Duration**: * **Forever** — always active. * **On Time** — active only within a date range and during specific time windows. You set a **From Date** and **To Date**, then add one or more **day + from-time/to-time** entries (use **Add Time Entry** for multiple windows). # How to Create a Policy Exception on the Dashboard Source: https://docs.osto.one/how-to-guides/policy-configuration/how-to-create-a-policy-exception Create a new policy exception in the Osto dashboard to control how traffic matching certain conditions is handled for a selected website. This guide walks through creating a new policy exception in the Osto dashboard. A policy exception lets you define how traffic matching certain conditions should be handled (accepted, skipped, or dropped) for a selected website. ## Before you start * Log in to the dashboard and go to Policies, then Exceptions. * Make sure the website you want to add the exception for is already onboarded and visible in dropdown. ## Step 1: Check the logs to find what to except Before creating an exception, go to Logs and open the relevant log tab (for example Threat Logs). Look at the Matched Data column. This tells you what was detected and why the rule triggered, which is the information you need to build a matching exception. For example, an entry like `Matched Data: