Note: The link on the guthub page dies not work an is sn older version of the project. Clone the Repository locally and run.
OMEN is a local-first, browser-based security and OSINT console designed to help users investigate publicly available information and perform defensive security checks from a single interface.
It combines live public-web search, public username verification, network diagnostics, and several defensive security utilities in one lightweight Node.js application.
Evidence first. No fabricated profiles. No private-account access. No identity guessing.
| Dashboard | Web Search |
|---|---|
![]() |
![]() |
| Social Scan |
|---|
![]() |
OMEN was built around a simple idea:
If information is publicly exposed, make it easier to find, inspect, and understand — without pretending that search results prove more than they actually do.
The project currently provides two major investigation paths:
- Public Web OSINT — search indexed public pages for names, phrases, usernames, handles, keywords, and other identifiers using Tavily and Google Search APIs.
- Public Profile Verification — check selected public platform endpoints for username presence with comprehensive profile extraction.
It also includes defensive utilities for areas such as network connectivity, DNS/email configuration, URL safety, TLS/SSL information, and password exposure checks.
OMEN can send live searches to Tavily and Google Search APIs and stream the returned results directly into the console.
The search system:
- Accepts names, usernames, handles, phrases, and keywords
- Generates multiple search variants
- Performs real provider-backed searches
- Returns real indexed URLs
- Displays titles and snippets
- Removes duplicate URLs
- Streams results as they arrive
- Shows the number of results discovered
Example inputs:
plague.programmer
Example name
"example phrase"
example_username
OMEN does not generate fake profile URLs or fabricate search results.
OMEN can check selected public endpoints for username presence across:
- GitHub
- GitLab
- Bluesky
- Keybase
- npm maintainer evidence
NEW: The enhanced Social Scan feature now includes:
- Web-backed discovery for improved results
- Profile extraction with rich metadata
- Interactive profile cards
- Google Search API integration for deeper social discovery
- Comprehensive scan results with confidence indicators
These checks are intended to answer:
"Does this public endpoint currently provide evidence for this username?"
They are not intended to answer:
"Does this account definitely belong to this person?"
The console also provides defensive network utilities, including:
- Endpoint reachability
- Latency checks
- DNS information
- Network-device checks
- Connectivity diagnostics
- Improved presence detection
OMEN includes utilities for inspecting security-related configuration and exposure, including:
- DNS configuration
- Email security configuration
- SPF / DMARC checks
- URL safety checks
- SSL/TLS information
- Certificate information
- Password exposure checks
The project is designed so that sensitive credentials are not sent to the frontend as part of normal operation.
OMEN's public-web search is powered by Tavily and Google Search APIs.
A search input is expanded into several query variations to reduce obvious blind spots.
For example:
plague.programmer
may produce variations such as:
"plague.programmer"
plague.programmer
"plague programmer"
@plague.programmer
The backend sends these searches to the configured providers and streams the returned results to the browser.
OMEN then:
- Receives the provider response
- Extracts the returned public URLs
- Removes duplicate URLs
- Displays the available metadata
- Reports the final number of unique URLs
OMEN searches public pages returned by the configured search providers.
It does not crawl the entire internet.
Search coverage depends on:
- Search-engine indexing
- Provider availability
- Query formulation
- Rate limits
- Website accessibility
- Pages being publicly indexed
OMEN deliberately avoids treating a search result as proof of identity.
A returned result means:
The configured search provider returned a publicly indexed page for the submitted query.
It does not automatically mean:
- The page belongs to the person being investigated
- The username belongs to that person
- Two accounts belong to the same person
- A mention is current
- A profile is authentic
- The person controls the account
- The search result represents every occurrence on the internet
This distinction is fundamental to OMEN.
OMEN displays evidence.
The user is responsible for interpreting that evidence.
OMEN is designed around public, user-initiated research.
It does not:
- Log into third-party accounts
- Bypass authentication
- Access private accounts
- Circumvent access controls
- Attempt to defeat security mechanisms
- Claim identity matches without evidence
- Generate fabricated OSINT results
The project is intended for lawful and authorized research, defensive security work, privacy awareness, and investigation of information that is legitimately available to the user.
┌───────────────────────────────┐
│ OMEN UI │
│ Browser Interface │
└───────────────┬───────────────┘
│
▼
┌───────────────────────────────┐
│ Next.js Local Server │
│ │
│ • Search orchestration │
│ • Result streaming │
│ • Public endpoint checks │
│ • Profile extraction │
│ • Security utilities │
└───────┬───────────┬───────────┘
│ │
▼ ▼
┌─────────────────────────────┐
│ Search & Data Providers │
│ • Tavily Search API │
│ • Google Search API │
│ • Public Network APIs │
│ • Security APIs │
└─────────────────────────────┘
The browser communicates with the local Next.js backend.
API credentials such as Tavily and Google Search keys are kept server-side through environment variables rather than embedded in the frontend.
- Node.js 18+
- Internet connection
- A Tavily API key
- A Google Search API key (optional, for enhanced social scanning)
Node.js 20+ is recommended.
Clone the repository:
git clone https://github.com/amoghbalapurepy-cmd/Omen-Osint.git
cd Omen-OsintInstall dependencies:
npm installOMEN expects API keys to be available as environment variables. Copy .env.example to .env and fill in your keys:
cp .env.example .envTAVILY_API_KEY=your_tavily_api_key_here
GOOGLE_SEARCH_API_KEY=your_google_search_api_key_here
GOOGLE_SEARCH_ENGINE_ID=your_google_cse_id_here
PORT=3000
npm run devThen open:
http://localhost:3000
For a production build:
npm run build
npm run startAn earlier, non-Next.js version of the console is still available via server.js:
export TAVILY_API_KEY="YOUR_TAVILY_API_KEY" # Linux/macOS
# $env:TAVILY_API_KEY="YOUR_TAVILY_API_KEY" # Windows PowerShell
# set TAVILY_API_KEY=YOUR_TAVILY_API_KEY # Windows CMD
node server.jsThen open http://localhost:8787.
Your real API keys should remain local. .env is already excluded via .gitignore — only .env.example is tracked.
OMEN currently exposes local endpoints through its Next.js backend.
GET /api/health
Returns the current backend status.
GET /api/websearch?q=<query>
Runs the multi-provider public-web search and streams newline-delimited results.
GET /api/recon?username=<username>
Checks configured public platform endpoints for username evidence with comprehensive profile extraction.
Omen-Osint/
│
├── app/ # Next.js App Router
│ ├── api/
│ │ ├── health/ # Health check endpoint
│ │ ├── recon/ # Recon & social scan endpoint
│ │ ├── websearch/ # Web search endpoint
│ │ └── ...
│ ├── globals.css
│ ├── layout.tsx
│ └── page.tsx
│
├── components/ # UI components
│ ├── DashboardClient.tsx # Main dashboard
│ ├── SocialScanTab.tsx # Social scan interface
│ ├── WebSearchTab.tsx # Web search interface
│ └── ...
│
├── lib/ # Client + server helpers
│ ├── server/ # Server-only utilities
│ │ ├── google-search.ts # Google Search API integration
│ │ ├── recon.ts # Recon engine
│ │ └── ...
│ └── ...
│
├── assets/
│ ├── branding/
│ └── screenshots/
│
├── index.html # Legacy static entry point
├── server.js # Legacy standalone Node server
├── ui.js / ui.css / ui-fixes.css # Legacy frontend assets
│
├── README.md
├── LICENSE
├── SECURITY.md
├── CONTRIBUTING.md
│
├── .env.example
├── .gitignore
├── next.config.mjs
├── tsconfig.json
├── postcss.config.mjs
└── package.json
OMEN itself should be treated as security-sensitive software.
When running or modifying the project:
- Never commit API keys
- Never place secrets in frontend JavaScript
- Keep dependencies updated
- Validate user input
- Use request timeouts
- Avoid logging credentials
- Avoid storing sensitive search data unnecessarily
- Review third-party API terms before deployment
- Prefer running the application locally unless remote deployment is intentionally secured
For reporting vulnerabilities, see SECURITY.md.
OMEN is intended for:
- Defensive security research
- Privacy awareness
- Public-information research
- Authorized investigations
- Security testing of systems you are permitted to test
- Educational purposes
Do not use OMEN to:
- Bypass authentication
- Access private information
- Circumvent security controls
- Harass or target individuals
- Impersonate other people
- Collect information for malicious purposes
Always follow applicable laws, policies, and the terms of the services being queried.
OMEN is still under active development.
Recent improvements:
- Google Search API integration
- Comprehensive social scan with profile extraction
- Web-backed discovery for social scan
- Improved network diagnostics
- Enhanced UI with profile cards
Planned improvements include:
- Better OSINT result categorization
- Evidence confidence indicators
- Search/exposure timeline
- Scan history
- Scan comparison
- Domain security scanner
- HTTP security-header analyzer
- Public document exposure search
- Image exposure search
- GitHub public-repository exposure checks
- Evidence export
- Automated investigation reports
- PDF report generation
- Improved result filtering
- Additional public-data providers
The goal is to improve coverage and evidence quality, not to make unsupported identity claims.
OMEN follows a few core principles:
If OMEN cannot verify a result, it should not invent one.
A URL is evidence of a search result — not automatic proof of identity.
The project focuses on information legitimately available through public sources.
The application can run locally without requiring a hosted OMEN backend.
Secrets should remain server-side, and the project should minimize unnecessary data collection.
OMEN is released under the MIT License.
See LICENSE for the full license text.
Created and maintained by Amogh Balapure.
If you find a bug, have an improvement idea, or want to contribute, open an issue or pull request on the repository.
OMEN is a research and defensive-security tool.
Search results and public profile information can be incomplete, outdated, inaccurate, or incorrectly associated with a search term.
Always independently verify important findings before acting on them.


