Skip to main content

Behavioral intelligence for your application

Project description

Shadow Watch

PyPI version Python 3.9+ License: MIT Downloads

"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]

# With FastAPI integration
pip install shadowwatch[fastapi]

Get your free trial license: Email tanishqdasari2004@gmail.com or visit the license server

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: 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.3.0.tar.gz (21.5 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.3.0-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for shadowwatch-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f7765fcf49e472e65d2967739a45a0a1a9355afabdc3de8d764149dad3e07096
MD5 cdcce2dcd557103c2d5908c76208cca1
BLAKE2b-256 afd21131736158e3e9b07c09203477d72c72317c0450951070adb5d12524aaaf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for shadowwatch-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92533da24fd283307e4b02df1d4930c4dc8fe26a6f1299e8af399fecbbca3980
MD5 c1d5a530bda1c4eb315513568d69a0ea
BLAKE2b-256 9b1e67c499dbcbb368bdd8f7b4343723831f3bb0f0d16336fbb2220c85808210

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