Most engineers think…
Most engineers assume that once they mark an app “Sanctioned”, Netskope can do everything to it — including API DLP scans of files already inside it.
Wrong, and it’s the classic interview trap. Sanctioned (approved by policy) and Managed (your org owns the tenant and can OAuth its API) are two independent axes. API Data Protection needs a managed app — an admin OAuth grant into the tenant. A sanctioned-but-unmanaged app (say a team’s own Trello they got approved) can only be covered inline. Tagging it Sanctioned does not give Netskope a key to its API.
① Shadow IT, the CCI score, and what “sanctioned” really means
Walk into any Indian IT shop and ask “how many cloud apps do your staff use?” The honest answer is “far more than we approved.” A team signs up for a free file-share to send a client a large video; someone uses a personal Notion for meeting notes; a developer pushes a snippet to a personal GitHub. None of it went through IT. That sprawl is Shadow IT, and the first job of CASB is simply to see it.
Netskope discovers apps two ways. From inline traffic it sees apps live as users touch them; from imported firewall/proxy logs it discovers apps even before steering is fully rolled out. Every discovered app is matched against the Cloud Confidence Index (CCI) — a database of 85,000+ cloud apps (plus hundreds of GenAI tools) each scored from 1 to 100 across 50-plus enterprise-readiness attributes adapted from the Cloud Security Alliance.
That 1–100 number rolls up into a Cloud Confidence Level (CCL) band. Think of it like a restaurant hygiene rating posted before you eat there: Excellent (90–100), High (75–89), Medium (60–74), Low (50–59), Poor (below 50). An L1 analyst uses the band to triage — a Poor app handling client PII gets escalated; an Excellent one used by a few people might just get sanctioned.
Now the word that trips up every newcomer. Sanctioned just means “approved by your organisation’s policy” — it is an admin tag you apply in the catalog. It is not the same as Managed, which means your org owns the tenant and can grant Netskope OAuth access to its API. The two are independent axes: you can have a sanctioned-but-unmanaged app (a team’s approved-but-self-signed-up Trello) and even an unsanctioned-but-managed corner case. Mixing these up is the single most common CASB confusion.
Four CASB words to never mix up
Tap each — these four decide which control you can actually apply.
Cloud apps used without IT approval. CASB discovery surfaces them so you can decide: sanction, coach, or block.
An admin tag meaning “approved by policy”. Says nothing about whether you own the tenant or can reach its API.
You own the tenant and can OAuth its API. This — not Sanctioned — is what API Data Protection requires.
A 1–100 risk score and its band (Excellent→Poor). Triage tool: high risk + sensitive data = escalate first.
Aditya marks a team’s self-signed-up Trello as “Sanctioned”, then tries to enable API DLP to scan cards already in it. It won’t turn on. Why?
Pause & Predict
Predict: a CCI score of 62 — which CCL band does it fall into, and what does that tell an L1 analyst at a glance? Type your guess.
② App instances — your corporate Drive vs someone’s personal one
Here is the problem a plain web filter cannot solve. Priya at ICICI is told: “let staff use our corporate Google Drive, but stop them copying client data into their personal Google Drive.” Both are drive.google.com. Block the domain and you kill the business; allow it and the leak is wide open. You need to tell the two tenants apart.
Netskope does this with an app instance. Think of “Google Drive” as a bank brand; your corporate Drive and an employee’s personal Drive are two branches (instances) of that brand. Each instance has an Instance ID. Once you tag the corporate instance Sanctioned and personal as Unsanctioned, your policy can target just the personal one.
There are two ways to tag an instance, and both need an Inline CASB licence. Method 1 (from a discovered app): go to Skope IT → Applications, pick the app Netskope has already seen in traffic, and choose New App Instance. Method 2 (define it up front): go to Policies → Profiles → App Instance → New Custom App Instance → New App Instance and fill in the fields manually. Either way you set the Instance ID, Instance Name, and Tag, then Save.
One catch to remember for the exam and the lab: the App Instance Tag is only selectable as a policy destination when the destination is Any Web Traffic, a Category, or a Cloud App — and it needs the Inline CASB licence. Also, some traffic has no real tenant (a public share link, an unauthenticated request, a service account): Netskope gives these a placeholder Instance ID, so don’t write a per-tenant rule expecting a real corporate ID there.
Priya at ICICI Securities faces this
Priya wrote a policy: app = Google Drive, instance = personal → Block upload. In testing, staff still upload client files to their personal Drive and nothing is blocked. Skope IT → Events → Application Events shows the test uploads with Instance = Untagged.
She never created an App Instance Profile, so Netskope has no Instance ID to match. With instances Untagged, the “instance = personal” destination matches nothing and the rule is dead.
She opens Skope IT → Events → Application Events, filters on her own test upload, and finds the Instance field blank / Untagged.
Policies → Profiles → App Instance → New Custom App InstanceCreate the corporate instance (Instance ID = icicicorp.com tenant, Tag = Sanctioned). Then write a catch rule on instance = Unsanctioned/Untagged → Block, so anything that isn’t the tagged corporate tenant is stopped.
Re-test from a personal Drive tab → Skope IT → Application Events shows Action = block with the rule name Block-Personal-GDrive-PII; the corporate Drive tab (instance = corporate) still uploads normally.
You need to write a Real-time Protection rule whose destination is the App Instance Tag “Unsanctioned”. Which two conditions must be true?
Pause & Predict
Predict: a developer pushes code to a public GitHub gist with no login. What Instance ID will Netskope show, and can you write a per-tenant rule on it? Type your guess.
③ Inline vs API — stop it live, or clean what’s already inside
CASB enforces in two completely different ways, and knowing which to reach for is the heart of this lesson. Inline CASB is in-band: traffic is steered through Netskope’s forward proxy, so it sees activity as it happens and can block, coach or allow in real time. API Data Protection is out-of-band: Netskope holds a delegated OAuth grant into a managed SaaS tenant and inspects data at rest already inside the app.
The cleanest analogy: inline is the security guard at the office door, checking every person and parcel in real time as they enter and leave. API is the night auditor who walks the filing room after hours, reviewing documents already stored inside. The guard can stop you mid-step; the auditor can’t — but the auditor finds what’s already there. You want both.
▶ One leak, two timings: Karthik shares a PII file in OneDrive
Watch how inline and API see the same file at different moments — and why you need both. Press Play for the healthy path, then Break it to see the failure.
A second, sharper rule: API needs a managed app. Because it works through the SaaS provider’s API with an admin OAuth grant, it only works where your org owns the tenant — Microsoft 365, Google Workspace, Salesforce, Box and similar. A sanctioned-but-unmanaged app can’t be API-scanned at all; inline is your only lever there. (Heads-up if you administer M365: Microsoft apps sometimes need an OAuth re-grant after permission changes, or the connector quietly stops scanning.)
Netskope’s Classic API Data Protection reaches End-of-Service on 1 June 2027. New builds should use Next-Gen API Data Protection, which lets one policy span multiple apps and carry multiple DLP profiles, with a unified inventory page for threat hunting. If a doc or course mentions “Classic API”, note the migration deadline.
A user is uploading a PII file to personal Dropbox right now and you must stop it before it lands. Which mode does the job?
Pause & Predict
Predict: your manager asks “can API DLP block a file a user is downloading at this very moment?” What do you say, and why? Type your guess.
④ Build it: block personal-instance uploads, keep corporate working
Now we put the three ideas together into one real Real-time Protection policy — the exact screen you’ll touch on day one. The goal: staff can use the corporate instance freely, but uploading client data to a personal instance of the same app is blocked with a coaching page. The build order matches the console fields top to bottom.
Read the fields like a sentence: who (Source — Users / Groups / OUs, with optional Exclusions), to where (Destination — a Cloud App, Category, App Instance tag, or Private App Segment), doing what (Activities & Constraints — Upload, Download, Edit, Share, Post, with constraints like File Size / File Type), checked by which profile (a DLP or threat profile), with what governed activity action (Alert, Block, Quarantine, User Alert/Coach, Allow). Name it, optionally add Email + a Policy Schedule, and Save.
Skope IT > Events > Application Events
Filter: user = karthik.r@icici AND app = "Google Drive"
AND instance = personal AND activity = Uploadtimestamp user app instance activity action policy 2026-06-05 14:22:07 karthik.r Google Drive personal Upload block Block-Personal-GDrive-PII 2026-06-05 14:25:51 karthik.r Google Drive corporate Upload allow — The personal-instance upload shows action=block with your policy name; the corporate upload is allowed. If the personal row shows instance=Untagged, your App Instance Profile is missing — fix the tag first.
Symptom: your personal-instance block rule does nothing; every upload succeeds and Skope IT shows the events as Untagged. Cause: you never created an App Instance Profile, so there’s no Instance ID to match — the destination matches nothing. Fix: Policies → Profiles → App Instance, tag the corporate Instance ID as Sanctioned, then catch Unsanctioned/Untagged with a Block rule.
Take any real ask — “stop staff uploading source code to personal GitHub, keep corporate GitHub working” — and name: the axis (instance tag, not domain block), the licence (Inline CASB), the screen (Policies → Profiles → App Instance, then Real-time Protection), the mode (inline to stop live; API later to sweep the corporate org), and where you’d verify (Skope IT). If you can, you’re ready for the DLP deep-dive.
Final integration: which sequence correctly stops personal-instance leaks of client PII while keeping the corporate app usable?
🤖 Ask the AI Tutor
Tap any question — instant, scoped to this lesson. No login, no waiting.
Pre-curated from Netskope docs + community Q&A, scoped to this lesson. For a live prod issue, paste your export into chat.techclick.in.
📝 Wrap-up assessment — six more
You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete on your profile. Tap Submit all answers at the end.
🧠 In your own words
Type one line: In one line, why can a “Sanctioned” app still be impossible to protect with API DLP? Then compare to the expert version.
🗣 Teach a friend
Best way to lock it in — explain it in one line to a teammate. Tap to generate a paste-ready summary.
📖 Glossary
- CASB
- Cloud Access Security Broker — the enforcement point between your users and SaaS apps; gives visibility and control.
- Shadow IT
- Cloud apps employees use without IT approval — the apps CASB discovery surfaces so you can act on them.
- Sanctioned vs Unsanctioned
- An admin tag for whether an app is approved by policy. Says nothing about ownership or API access.
- Managed vs Unmanaged
- Whether your org owns the tenant and can OAuth its API. API Data Protection requires a managed app.
- CCI
- Cloud Confidence Index — Netskope’s catalog of 85,000+ apps scored 1–100 on 50+ CSA-adapted attributes.
- CCL
- Cloud Confidence Level — the band a CCI score falls in: Excellent 90–100, High 75–89, Medium 60–74, Low 50–59, Poor below 50.
- App Instance
- A unique tenant of a SaaS app (corporate vs personal of the same app). Identified by an Instance ID.
- Inline CASB
- In-band control via the forward proxy — sees and acts on live traffic in real time (block/coach/allow).
- Forward Proxy
- A proxy in the live path of steered traffic that can act on it in real time as it flows.
- API Data Protection
- Out-of-band control via an OAuth connector that scans data already at rest inside a managed SaaS.
- Next-Gen API Data Protection
- Newer API engine: multi-app/all-app policies, multiple DLP profiles per policy (Classic API EoS 1 Jun 2027).
- Governed Activity
- The verb a policy controls — Upload, Download, Edit, Share, Post — chosen from what the app supports.
📚 Sources
- Netskope Docs — “Cloud Inline Protection” (forward/reverse proxy, GRE, real-time). docs.netskope.com/en/cloud-inline-protection
- Netskope Docs — “Classic API Data Protection” (out-of-band OAuth, data at rest; Classic EoS 1 Jun 2027) & “Next Generation API Data Protection Platform”. docs.netskope.com/en/api-data-protection
- Netskope Docs — “Understand the risk … by leveraging CCI”, “Evaluate Apps” & “App Instance Profile” (CCI/CCL bands, instance fields/path). docs.netskope.com
- Netskope Community — “How to Tag Application Instances” (two methods, requires Inline CASB licence) & “Sanctioned vs Unsanctioned” thread. community.netskope.com
- Netskope — SkopeAI / CASB product pages (GenAI-powered SaaS categorisation, inline LLM inspection). netskope.com/products/casb
- Netskope NSK100 (NCCSA) & NSK200 exam blueprints — in-band proxy (real-time policies) vs out-of-band API (near-real-time) contrast. itexams.com / pass4success.com
What's next?
Next we go deeper into DLP Deep-Dive.