$ show ni5arga/deanonymizer
deanonymizer is a command-line tool designed for privacy self-audits. It collects public data from platforms like Reddit, Hacker News, GitHub, and Stack Overflow for specified usernames, then analyzes this data to identify personally identifiable information (PII) and other linkable information. The analysis combines a configurable LLM backend (Anthropic, OpenAI, or Claude Code) for inferring soft signals (location, employer, etc.) with a deterministic regex pass for hard identifiers (emails, social handles). The tool outputs a detailed report highlighting findings with confidence levels and remediation suggestions, enabling users to reduce their online footprint. The architecture is modular, separating concerns into CLI handling, platform-specific data fetching, analysis orchestration, LLM abstraction, and report generation.
The LLM identified 2 files worth highlighting for reuse:
Provides robust extraction of email addresses and social media handles from text, including handling common obfuscation patterns (e.g., '[at]', '[dot]') and avoiding false positives (e.g., GitHub's noreply emails, platform-specific navigation URLs). This utility is self-contained, depends only on a simple type that can be easily redefined, and can be dropped into any project needing to extract such identifiers from user-generated content.
Abstracts the creation and usage of different LLM providers (Anthropic, OpenAI, Claude Code) behind a common interface. The `resolveProvider` function determines the provider from environment variables and command-line arguments, and `createLLMClient` instantiates the appropriate client. This allows the application to switch between LLM backends without changing the core logic, demonstrating the Strategy and Factory patterns. The abstraction is self-contained aside from the simple LLM interface (which can be redefined) and external SDK dependencies.