Why It Matters
Without app identification:- “OpenAI API call detected”
- “Cursor IDE made a GPT-4 request”
- “ChatGPT web (Chrome) received a response”
- “Unknown process making DeepSeek calls”
- Cost attribution by application
- Per-app policies (allow Cursor, block others)
- Shadow AI detection (unknown apps using AI)
- Browser AI visibility (ChatGPT, Claude.ai)
Three-Tier Model
Apps are classified into tiers based on identification confidence:| Tier | Description | Example |
|---|---|---|
| Unknown | Process not matched | python3 making OpenAI calls |
| Identified | Matched by signature | Cursor IDE (bundle ID match) |
| Profiled | Full behavioral profile | Cursor with expected API patterns |
Native App Identification
How It Works
- Capture event includes process PID
- Process context extracted (name, path, bundle ID)
- App registry matches against signatures
- App context attached to event
Signature Types
macOS
Windows
Linux
Built-in App Registry
OISP includes signatures for 50+ common AI-enabled apps:| Category | Apps |
|---|---|
| IDEs | Cursor, VS Code, Zed, Windsurf |
| AI Assistants | Claude Desktop, ChatGPT Desktop |
| Terminals | Warp, iTerm2 (with AI) |
| Browsers | Chrome, Firefox, Safari, Arc, Brave, Edge |
| Dev Tools | GitHub Copilot, Codeium, Tabnine |
Web App Identification
For browser-based AI (ChatGPT, Claude.ai), OISP extracts HTTP headers:How It Works
Headers Used
| Header | Purpose | Example |
|---|---|---|
Origin | Primary web app identifier | https://chat.openai.com |
Referer | Page context | https://chat.openai.com/c/123 |
User-Agent | Browser identification | Chrome/120.0 |
Web Apps Detected
| Web App | Origin Pattern |
|---|---|
| ChatGPT | chat.openai.com |
| Claude.ai | claude.ai |
| Perplexity | perplexity.ai |
| Notion AI | notion.so |
| Google AI Studio | aistudio.google.com |
| Poe | poe.com |
Output
App Registry
External Registry
OISP loads app profiles from the oisp-app-registry:Profile Format
Custom Apps
Add custom app profiles:config.toml:
Traffic Patterns
Direct Traffic
App connects directly to AI provider:Backend Traffic
App uses intermediate backend:Event Output
With App Identification
Without App Identification
Policy Integration
Use app identification in policies:Troubleshooting
App Not Identified
Adding Missing App
-
Check process details:
- Create profile and submit PR to oisp-app-registry