Skip to main content

A modular, probabilistic, and research-grounded AI content detection library.

Project description

Veridex

Veridex Logo

A modular, probabilistic, and research-grounded AI content detection library.

Python 3.9+ License PyPI version Documentation

Veridex is a production-ready library for detecting AI-generated content across multiple modalities: text, image, and audio. Unlike binary classifiers, Veridex provides probabilistic detection with confidence estimates and interpretable signals.


📑 Quick Navigation

Section Description
✨ Features Key capabilities of Veridex
🚀 Quick Start Installation and basic usage
📦 Available Detectors Complete detector comparison
🏗️ Architecture System design and philosophy
📚 Documentation Guides, tutorials, and API reference
🧪 Testing Running tests and coverage
🤝 Contributing How to contribute
🔬 Research Academic papers and citations
⚠️ Limitations Important usage constraints

✨ Features

  • 🎯 Multi-Modal Detection: Text, Image, and Audio deepfake detection
  • 📊 Probabilistic Outputs: Returns probabilities and confidence scores, not just binary labels
  • 🔍 Interpretable Signals: Exposes individual detection features for transparency
  • 🧩 Modular Architecture: Easy to extend with new detection methods
  • 🚀 Production-Ready: Robust error handling, graceful degradation
  • 📖 Research-Grounded: Based on state-of-the-art papers and benchmarks

💡 Use Cases

  • 🛡️ Content Moderation: Automatically flag AI-generated spam, fake profiles, and synthetic media.
  • 🎓 Academic Integrity: Verify the authenticity of student essays and research papers.
  • 📰 Journalism & Media: Validate sources and detect deepfake imagery in news gathering.
  • 🎨 Copyright Protection: Distinguish between human-created art and generative AI outputs.

🚀 Quick Start

Installation

# Install core library
pip install veridex

# Install with specific modality support
pip install veridex[text]      # Text detection
pip install veridex[audio]     # Audio detection
pip install veridex[image]     # Image detection

# Install everything
pip install veridex[text,image,audio]

# Development installation
pip install -e ".[dev]"

Usage Examples

Text Detection

from veridex.text import PerplexitySignal, BinocularsSignal

# Quick detection with perplexity
detector = PerplexitySignal()
result = detector.run("This text seems suspiciously perfect...")

print(f"AI Probability: {result.score:.2f}")
print(f"Confidence: {result.confidence:.2f}")
print(f"Perplexity: {result.metadata['mean_perplexity']:.2f}")

Audio Detection

from veridex.audio import SpectralSignal

# Lightweight frequency analysis
detector = SpectralSignal()
result = detector.run("audio_sample.wav")

print(f"AI Probability: {result.score:.2f}")
print(f"Spectral Features: {result.metadata}")

Image Detection

from veridex.image import FrequencySignal

# Analyze spectral anomalies
detector = FrequencySignal()
result = detector.run("suspicious_image.png")

print(f"AI Probability: {result.score:.2f}")

👉 See more examples in the examples/ directory


📦 Available Detectors

Text Detectors

Detector Method Speed Accuracy GPU Required Use Case
ZlibEntropySignal Compression-based ⚡ Fast ⭐ Low ❌ No Quick first-pass screening
PerplexitySignal Statistical (LLM-based) 🔄 Medium ⭐⭐ Medium 🔶 Optional General-purpose detection
BinocularsSignal Contrastive Perplexity 🔄 Medium ⭐⭐⭐ High 🔶 Optional High-accuracy text analysis
StylometricSignal Linguistic Analysis ⚡ Fast ⭐ Low ❌ No Style pattern detection

Audio Detectors

Detector Method Speed Accuracy GPU Required Use Case
SpectralSignal Frequency Domain ⚡ Fast ⭐⭐ Medium ❌ No Lightweight audio screening
AASISTSignal Spectro-Temporal 🔄 Medium ⭐⭐⭐ High ❌ No Anti-spoofing detection
Wav2VecSignal Foundation Model 🐌 Slow ⭐⭐⭐⭐ Very High ✅ Recommended Production-grade detection
SilenceSignal Pause Analysis ⚡ Fast ⭐ Low ❌ No Synthetic speech patterns

Image Detectors

Detector Method Speed Accuracy GPU Required Use Case
FrequencySignal Spectral Analysis ⚡ Fast ⭐⭐ Medium ❌ No Quick image screening
DIRESignal Diffusion Reconstruction 🐌 Slow ⭐⭐⭐ High ✅ Yes High-accuracy AI image detection
ELASignal Error Level Analysis ⚡ Fast ⭐⭐ Medium ❌ No Image manipulation detection

💡 See Choosing the Right Detector for guidance


🏗️ Architecture

Veridex follows a signal-based architecture:

Input → Signal Extractors → Normalization → Fusion → Output
                ↓
    (Independent, Inspectable Signals)

Each detector:

  • Inherits from BaseSignal
  • Returns standardized DetectionResult
  • Operates independently
  • Declares its limitations explicitly

Learn more: Architecture Documentation


📚 Documentation

📖 Guides & Tutorials

🔍 Concepts

📘 API Reference

🔬 Technical Documentation


🧪 Testing

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install with development dependencies
pip install -e ".[dev,text,audio,image]"

# Run all tests
pytest tests/ -v

# Run specific module tests
pytest tests/audio/ -v

# With coverage
pytest tests/ --cov=veridex --cov-report=html

See TESTING.md for detailed testing guide.


🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Development Setup

# Clone repository
git clone https://github.com/ADITYAMAHAKALI/veridex.git
cd veridex

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install in editable mode with all dependencies
pip install -e ".[dev,text,image,audio]"

# Run tests
pytest tests/

# Format code
black veridex/ tests/
flake8 veridex/

📄 License

Apache License 2.0 - See LICENSE for details.


🔬 Research & Citations

Veridex is based on cutting-edge research in AI-generated content detection. Key methods include:

  • Binoculars: Spotting LLMs With Binoculars (arXiv:2401.12070)
  • AASIST: Audio Anti-Spoofing Integrated Spectro-Temporal Graph Attention
  • DIRE: Diffusion Reconstruction Error for deepfake images
  • Wav2Vec 2.0: Self-supervised foundation models for audio

See Research Documentation for full references.


⚠️ Limitations

Veridex is a probabilistic detection tool, not a definitive proof system:

  • ❌ Not suitable as sole evidence for legal/forensic purposes
  • ❌ Cannot detect all AI-generated content with 100% accuracy
  • ❌ Vulnerable to adversarial attacks and post-processing
  • ⚠️ Requires regular updates as generative models improve

Always use multiple signals and human judgment for critical decisions.


🗺️ Roadmap

  • Text detection (Perplexity, Binoculars)
  • Image detection (Frequency, DIRE)
  • Audio detection (Spectral, AASIST, Wav2Vec)
  • Video detection (rPPG, I3D)
  • C2PA provenance integration
  • Ensemble fusion models
  • Real-time streaming detection
  • Model calibration on benchmarks

📧 Contact

For questions, issues, or contributions:


🌟 Star History

If you find Veridex useful, please consider giving it a ⭐ on GitHub!


Built with ❤️ for transparency in the age of generative AI

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

veridex-0.1.4.tar.gz (97.9 kB view details)

Uploaded Source

Built Distribution

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

veridex-0.1.4-py3-none-any.whl (60.0 kB view details)

Uploaded Python 3

File details

Details for the file veridex-0.1.4.tar.gz.

File metadata

  • Download URL: veridex-0.1.4.tar.gz
  • Upload date:
  • Size: 97.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for veridex-0.1.4.tar.gz
Algorithm Hash digest
SHA256 00bfabcd94b21a2fe75ba83ce978dc2aa6f4720f29fb0a366b92fec44704ba7d
MD5 a8f9e8d3d559103e32e5abcbf80b4724
BLAKE2b-256 31c65308911f38fa413f0f4010bda540bcccc804edbe982f1016c4a3e9e9aeac

See more details on using hashes here.

File details

Details for the file veridex-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: veridex-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 60.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for veridex-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 69363d03f76b5ee9c51b80426e4a62b1d2984333d2848f2a65c6ad562d0f1d74
MD5 bede67cf7e504eed94fdef5ee50dc749
BLAKE2b-256 6838a65fd277a7aa18622cbee773bf8543afbd53c1ee257737c7d79615275b17

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