Skip to main content

Behavioral intelligence for your application

Project description

Shadow Watch

"Like a shadow — always there, never seen."

Behavioral intelligence for your application. Add passive behavioral biometrics, personalization, and fraud detection with zero user friction.

What It Does

Shadow Watch silently learns user behavior patterns and uses them for:

  • 🔐 Security: Behavioral biometric authentication (detects account takeovers)
  • 🎯 Personalization: Auto-generates interest profiles based on activity
  • 🤖 Intent Prediction: Understands what users care about without asking
  • 🚨 Fraud Detection: Flags suspicious behavior before damage happens

Installation

# Basic installation
pip install shadowwatch

# With Redis support (recommended for production)
pip install shadowwatch[redis]

Quick Start

from shadowwatch import ShadowWatch

# Initialize with your database
sw = ShadowWatch(
    database_url="postgresql+asyncpg://user:pass@localhost/db",
    license_key="SW-TRIAL-XXXX-XXXX-XXXX"  # Get trial at shadowwatch.dev
)

# Track user activity (silent, no UI)
await sw.track(
    user_id=123,
    entity_id="AAPL",
    action="view"
)

# Get user profile
profile = await sw.get_profile(user_id=123)
# Returns: {"total_items": 42, "fingerprint": "a7f9e2c4...", "library": [...]}

# Verify login (trust score)
trust = await sw.verify_login(
    user_id=123,
    request_context={
        "ip": "192.168.1.1",
        "user_agent": "...",
        "library_fingerprint": "..."  # From client cache
    }
)
# Returns: {"trust_score": 0.85, "risk_level": "low", "action": "allow"}

How It Works

  1. Silent Tracking: Every user action (views, searches, trades) is logged
  2. Interest Scoring: Actions aggregate into weighted interest scores
  3. Fingerprinting: Top interests generate a unique behavioral fingerprint
  4. Trust Calculation: Fingerprint mismatch = suspicious login attempt

Use Cases

Fintech Apps

  • Detect account takeover attempts
  • Behavioral 2FA (no user friction)
  • Portfolio-aware personalization

E-commerce

  • Predict purchase intent
  • Fraud detection
  • Product recommendations

Trading Platforms

  • Smart watchlists
  • Pattern-based alerts
  • Risk profiling

Features

Zero User Friction - Works silently, no prompts
Passive Authentication - Behavioral biometric layer
Auto-Generated Profiles - based on actual behavior
Investment Priority - Trades weighted 10x higher than views
Self-Hosted - Runs on YOUR infrastructure
Privacy-First - Your data never leaves your servers

Database Setup

Shadow Watch uses 3 tables:

# Create tables (SQLAlchemy)
from shadowwatch.models import Base
async with engine.begin() as conn:
    await conn.run_sync(Base.metadata.create_all)

Tables created:

  • shadow_watch_activity_events (raw events)
  • shadow_watch_interests (aggregated scores)
  • shadow_watch_library_versions (snapshots)

Pricing

Tier Price Events/Month Support
Trial Free (30 days) 10,000 Email
Startup $500/month 100,000 Priority
Growth $1,500/month 1,000,000 Slack
Enterprise Custom Unlimited Dedicated

For trial license mail To: tanishqdasari2004@gmail.com

Documentation

Comparison

Feature Traditional 2FA Shadow Watch
User Friction High (SMS, app) Zero (passive)
Hackable Yes (SIM swap) No (behavioral)
Setup Time Weeks 5 lines of code
Personalization None Auto-generated

License

MIT License - see LICENSE

Author

Built by Tanishq during development of QuantForge Terminal

Questions?


"Always there. Never seen. Forever watching." 🌑

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shadowwatch-0.1.0.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shadowwatch-0.1.0-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file shadowwatch-0.1.0.tar.gz.

File metadata

  • Download URL: shadowwatch-0.1.0.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for shadowwatch-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dfacaf33371ae200d7a2647f9efe005786a936333360c84ad816b47d9ea31269
MD5 0f148afb37e27cf507e26032512aadf6
BLAKE2b-256 5598f2c0b95fddae86126b8a4f83e3006e33233f40006e3550128e953ae95ccd

See more details on using hashes here.

File details

Details for the file shadowwatch-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: shadowwatch-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for shadowwatch-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65a4ad87bc11cbdc2aee38fd49c5941602d9187bec9ff7fc2c90014873283cbe
MD5 462e14f032c220ab7327e785a44223ee
BLAKE2b-256 0b47faac5c17f5c20f82c53c1fd5b09a2115cd59be100641253b416a599f9af2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page