ProbeTruth Logo

ProbeTruth Documentation

Overview

ProbeTruth is an advanced AI-driven platform designed to detect deepfakes and combat digital identity fraud. Our flagship solution, ProbeTruth, leverages NeuroSymbolic AI and multimodal techniques to ensure transparency and accuracy in verifying digital content.

Key Features

  • Comprehensive Detection Capabilities: Identifies basic, partial, shallow and complex deepfakes across various media formats.
  • Explainable Reporting: Generates detailed, transparent, and defensible reports that are easily understood.
  • Security-First Architecture: Built with robust security measures to guard against manipulation and ensure data integrity.
  • User-Centric Design: Offers intuitive interfaces and workflows tailored for legal professionals, organizations and individuals.
  • Collaborative Integration: Works seamlessly with governments, businesses and research institutions to set global standards in digital content verification.

Use Cases

Legal and Forensic Analysis

Assisting legal professionals in verifying the authenticity of digital evidence.

Media and Journalism

Helping journalists and media outlets detect and prevent the spread of manipulated content.

Corporate Security

Enabling businesses to protect against digital identity fraud and misinformation.

Public Sector Applications

Supporting government agencies in safeguarding public information and communications.

Accessing ProbeTruth

To learn more about our services or to schedule a demo, visit our About Us page or contact us at demo@probetruth.ai.

Getting Started

Welcome to ProbeTruth — your trusted solution for detecting deepfakes and protecting digital identity.

This guide walks you through the basic steps to start using the ProbeTruth platform, whether you're a legal investigator, journalist or individual user seeking truth in digital content.

Who Can Use ProbeTruth?

ProbeTruth is designed for:

  • General users needing one-time verification of media.
  • Legal professionals and investigators handling digital evidence.
  • Organizations looking for automated, scalable deepfake detection via dashboards or APIs.

Step-by-Step Guide

1. Create an Account

Choose one of the following:

  • Paid Subscription: Unlock full access with a personalized dashboard and file history.
  • One-Time Use: Use our limited, quick-access upload service — no account needed.

💡 Note: API access requires a subscription. Once you have a subscription, you can create API keys directly from your dashboard.

2. Upload Your Media

  • Log in to your dashboard or use the public upload page.
  • Select your media file(s) for inspection — video, audio or image formats are supported.

3. Wait for Analysis

  • Our AI pipeline processes your media using multiple deepfake detection models.
  • Most results are returned within a few minutes.
  • Progress and status updates are visible in the dashboard (for subscribers).

4. Download Your Report

  • Once complete, a detailed forensic report is generated.
  • Reports include authenticity verdicts, visual evidence, metadata and model decisions.
  • Download or share securely via your dashboard.

API Access (For Developers and B2B Clients)

Subscribers can create API keys directly from their dashboard to use our RESTful API for automating uploads and receiving results. API documentation is available in the API section below.

Getting Started: After subscribing, navigate to your dashboard and click on the API Keys section to create your first API key. You can create multiple keys for different environments and configure IP/domain restrictions for enhanced security.

Business & Subscription Options

ProbeTruth offers tailored solutions for businesses:

  • B2B SaaS Access: Scalable platform access with usage-based billing.
  • White Labeling: Customize our platform under your brand with full API and dashboard integration.

Contact demo@probetruth.ai to discuss your business needs.

Next Steps

  • Explore the API Reference section below
  • Learn about our Detection Models section below
  • Review our Security Practices section below

Need help? Contact us anytime at support@probetruth.ai

Media Inspection

Once a media file is successfully uploaded using the POST api/v1.0/media/upload endpoint, you can initiate deepfake analysis through the "New Scan" action in the ProbeTruth interface.

This process automatically triggers backend analysis using multiple AI models, depending on the type of uploaded media (video, audio, or image). No additional API call or input parameters are required at this step.

Workflow

  1. Upload Media
    Upload a video, audio or image file using the api/v1.0/media/upload endpoint.
  2. Media Inspection
    After upload, click the "New Scan" button in the ProbeTruth dashboard. This triggers backend analysis.
  3. Model Processing
    Based on the type of media:
    • Visual models are run for images / videos.
    • Audio models for audio clips.
    • Audiovisual models for eligible media types.
    Each model processes the file in parallel or sequentially, depending on configuration.
  4. Live Feedback
    • During analysis, progress status is shown.
    • Once complete, the frontend displays predictions and confidence scores.

Backend Behavior

  • The system automatically selects the appropriate models based on the uploaded media type.
  • No additional input parameters are required.
  • The analysis status is updated in real time.

Example Response (GUI Display)

ModelConfidenceVerdict
VisualNet V293.2%Deepfake
AudioAnalyzer X98.7%Authentic
Fusion AI95.1%Deepfake

Final Decision: Deepfake Detected

Next Step: Generate Report

Once the inspection is complete, users can click on the "View Report" button to receive a downloadable PDF forensic report containing:

  • Metadata
  • Model decisions
  • Confidence scores
  • Visual evidence (if available)

Generate Report

After completing the media inspection, you can generate a comprehensive PDF report summarizing the results of the deepfake detection process. This report can be downloaded and printed for legal, forensic or internal documentation purposes.

How It Works

Once the media has been analyzed and predictions are available, clicking the "View Report" button will:

  1. Compile all analysis results.
  2. Structure the content into a formal forensic report.
  3. Provide a downloadable PDF or JSON file with optional print support.

Report Contents

The generated report includes the following sections:

1. General Information

  • Media ID
  • Upload timestamp
  • Media type (video, audio, image)
  • File name and format
  • User or API key identifier (if applicable)

2. Metadata Extraction

  • Resolution / duration / size
  • File properties and encoding format
  • Hash or unique media signature

3. Model Analysis Summary

  • List of models used for analysis
  • Individual predictions with confidence scores
  • Verdicts (e.g., Authentic / Deepfake)

4. Explanation & Evidence

  • Key frame thumbnails (for video / image)
  • Audio waveform or spectrogram (for audio)
  • Highlighted anomalies (if supported)

5. Final Verdict

  • Overall decision (e.g., Deepfake Detected)
  • Confidence level
  • Timestamp of decision

The report is digitally signed and watermarked with the ProbeTruth seal to ensure authenticity.

Download & Print

  • The generated report is available in PDF or JSON format.
  • Users can download or print directly from the browser.
  • Reports can also be accessed later via the media history panel (if enabled).

Detection Models

ProbeTruth leverages a suite of advanced AI models to detect deepfakes across visual, audio and audiovisual domains. Each model targets specific forgery cues using state-of-the-art machine learning techniques.

Audiovisual Model

DARL (v1.0)

  • Type: Audiovisual
  • Focus: Speech-Lips Synchronization
  • Description: DARL analyzes the temporal alignment between speech audio and corresponding lip movements in video. It flags inconsistencies that are indicative of synthetic tampering or lip-sync manipulation.

Visual Models

DBaG-Net (v1.0)

  • Type: Visual
  • Focus: Facial Geometry
  • Description: DBaG-Net detects abnormalities in facial proportions, landmarks and geometric consistency that are often introduced by deepfake generation processes.

Atten-ViT (v1.0)

  • Type: Visual
  • Focus: Spatial Artifacts
  • Description: Based on Vision Transformers, Atten-ViT captures subtle pixel-level and regional inconsistencies, such as unnatural textures or blending errors in forged images or video frames.

Audio Models

Audio-RRL (v1.0)

  • Type: Aural
  • Focus: Spectro-temporal Artifacts
  • Description: Audio-RRL identifies temporal inconsistencies and unnatural frequency patterns in audio, which may result from voice synthesis or manipulation techniques.

PSA-Net (v1.0)

  • Type: Aural
  • Focus: Spectral Artifacts
  • Description: PSA-Net focuses on spectral analysis to detect discrepancies in voice patterns and harmonics, useful in identifying audio deepfakes.

Spot-Net (v1.0)

  • Type: Aural
  • Focus: Temporal Artifacts
  • Description: Spot-Net examines voice continuity and timing to detect breaks, delays or unnatural speech patterns introduced by tampering or generation models.

Model Selection

The appropriate model(s) are automatically selected based on the uploaded media type:

  • Video → Audiovisual + Visual + Audio Models
  • Image → Visual Models only
  • Audio → Audio Models only

Each model contributes its prediction and confidence score to the final decision.

API Reference

Welcome to the ProbeTruth API Reference. This comprehensive guide provides detailed documentation for integrating deepfake detection capabilities into your applications. Our REST API makes integration straightforward.


Base URL

All API endpoints are prefixed with the following base URL:

https://app.probetruth.ai/api/v1.0

Quick Start Workflow

Here's a complete example of the typical analysis workflow:

  1. Upload Media: POST /media/upload → Returns referenceId
  2. Start Analysis: POST /deepfake/start with referenceId → Returns status "queued"
  3. Poll Status: GET /deepfake/<referenceId>/status → Check until status is "done"
  4. Download Report: Use reportUrl from status response to download the PDF report

Complete Python Example:

import requests
import hashlib
import time

API_TOKEN = "<your_api_token_here>"
BASE_URL = "https://app.probetruth.ai/api/v1.0"

def analyze_media(file_path):
    """Complete workflow: Upload → Analyze → Poll → Download Report"""
    
    # Step 1: Calculate file hash
    sha256_hash = hashlib.sha256()
    with open(file_path, "rb") as f:
        for byte_block in iter(lambda: f.read(4096), b""):
            sha256_hash.update(byte_block)
    file_hash = sha256_hash.hexdigest()
    
    # Step 2: Upload media
    print("📤 Uploading media...")
    with open(file_path, 'rb') as f:
        upload_response = requests.post(
            f"{BASE_URL}/media/upload",
            headers={"Authorization": f"Bearer {API_TOKEN}"},
            files={'file': f},
            data={'fileHash': file_hash}
        )
    
    if upload_response.status_code != 200:
        print(f"❌ Upload failed: {upload_response.text}")
        return
    
    reference_id = upload_response.json()['data']['referenceId']
    print(f"✅ Uploaded successfully! Reference ID: {reference_id}")
    
    # Step 3: Start analysis
    print("🔍 Starting analysis...")
    start_response = requests.post(
        f"{BASE_URL}/deepfake/start",
        headers={
            "Authorization": f"Bearer {API_TOKEN}",
            "Content-Type": "application/json"
        },
        json={"referenceId": reference_id}
    )
    
    if start_response.status_code != 200:
        print(f"❌ Start failed: {start_response.text}")
        return
    
    print("✅ Analysis started!")
    
    # Step 4: Poll for status
    print("⏳ Waiting for analysis to complete...")
    while True:
        status_response = requests.get(
            f"{BASE_URL}/deepfake/{reference_id}/status",
            headers={"Authorization": f"Bearer {API_TOKEN}"}
        )
        
        if status_response.status_code != 200:
            print(f"❌ Status check failed: {status_response.text}")
            return
        
        status_data = status_response.json()['data']
        status = status_data['status']
        print(f"   Status: {status}")
        
        if status == 'done':
            print("✅ Analysis complete!")
            report_url = status_data['reportUrl']
            report_hash = status_data.get('reportFileHash')
            
            # Step 5: Download report
            print("📥 Downloading report...")
            report_response = requests.get(f"{report_url}?apiToken={API_TOKEN}")
            
            if report_response.status_code == 200:
                with open('deepfake_report.pdf', 'wb') as f:
                    f.write(report_response.content)
                
                # Verify report integrity
                actual_hash = hashlib.sha256(report_response.content).hexdigest()
                if actual_hash == report_hash:
                    print("✅ Report downloaded and verified!")
                else:
                    print("⚠️  Report downloaded but hash mismatch!")
            else:
                print(f"❌ Report download failed: {report_response.text}")
            
            break
        
        elif status in ['failed', 'stopped']:
            print(f"❌ Analysis {status}: {status_data.get('reason', 'No reason provided')}")
            break
        
        time.sleep(5)  # Poll every 5 seconds

# Usage
analyze_media("/path/to/your/video.mp4")

API Endpoints Summary

Overview of all available endpoints:

MethodEndpointDescription
POST/media/uploadUpload media file for analysis
POST/deepfake/startStart deepfake analysis
GET/deepfake/:id/statusCheck single task status
GET/deepfake/statusCheck bulk task status
POST/deepfake/stopStop running analysis
GET/reports/:filenameGenerate report (PDF)

Response Format

All API responses follow a consistent structure:

{
  "statusCode": 0,      // 0 = success, negative number like -9999 = error
  "data": { ... }       // Response payload
}

Error responses include a descriptive message field explaining what went wrong.

Authentication

All requests to the ProbeTruth API must be authenticated using secure, token-based authentication. This ensures robust, scalable access control to our deepfake detection services.


Overview of Authentication Flow

  1. Clients authenticate with server and obtain a api token.
  2. Clients include this token in the Authorization header when calling any protected API endpoint.
  3. API Gateway validates the token before forwarding the request to the backend.

Getting Access

To gain access to the ProbeTruth API:

  1. Sign up for a subscription account on ProbeTruth.
  2. Navigate to your dashboard and access the API Keys section.
  3. Create a new API key by providing a name and optionally configuring IP and domain restrictions.
  4. Copy your API key immediately after creation - you won't be able to see the full token again.

Note: You can create multiple API keys for different environments (e.g., production, staging) and manage them from your dashboard. Each key can have custom IP and domain restrictions for enhanced security.


Token-Based Authentication

Once authenticated, your client will receive a api token. These tokens are valid till you revoke them.

Include this token in the Authorization header of all API requests:

Authorization: Bearer <your_api_token_here>

The token is automatically validated by our API Gateway before any request is forwarded to the inference engine.


Example (Python + Token)

import requests

API_TOKEN = 'your_api_token_here'
API_URL = 'https://app.probetruth.ai/api/v1.0/deepfake/68ee18fbbf286d24fd9bdbdc/status'

headers = {
'Authorization': f'Bearer {API_TOKEN}'
}

response = requests.get(API_URL, headers=headers)

if response.ok:
  print("Success:", response.json())
else:
  print("Error:", response.status_code, response.text)

Security Best Practices

  • Never expose your token in frontend JavaScript or public repositories.
  • Rotate credentials periodically.
  • Use third-party tools like SecurityScorecard to regularly assess the security posture of your application.

Upload Media

The POST api/v1.0/media/upload endpoint allows you to upload video, audio or image files for deepfake forensic inspection. This is the first step in the ProbeTruth detection pipeline.

You can upload videos, audio or images for forensic evaluation.

Endpoint

POST https://app.probetruth.ai/api/v1.0/media/upload

Authentication

This endpoint requires a valid API key. Include it in the Authorization header. Tokens are valid until you revoke them:

Authorization: Bearer YOUR_API_KEY

Supported Media Types

  • Video .mp4 .mkv .avi .mov .wmv .flv .webm
  • Audio .mp3 .wav .aac .flac
  • Image .jpg .png .bmp .tiff

Headers

KeyValue
AuthorizationBearer <your_api_key_here>
Content-Typemultipart/form-data

Request Body

FieldTypeRequiredDescription
filefileYesThe media file to be analyzed
fileHashstringYesSHA-256 hash of the file content matching the uploaded file for validation

Code Example

cURL
curl -X POST https://app.probetruth.ai/api/v1.0/media/upload \
  -H "Authorization: Bearer <your_api_token_here>" \
  -F "file=@/path/to/your/video.mp4" \
  -F "fileHash=<sha256_hash_of_the_file>"

Success Response

{
  "statusCode": 0,
  "data": {
    "referenceId": "692a9390e18c3d5e423c5cb8"
  }
}

Error Responses

All endpoints return these common error responses:

400 Bad Request

{
  "statusCode": -9999,
  "message": "Unsupported file extension. Allowed extensions: .mp4, .mkv, .avi, .mov, .wmv, .flv, .webm, .mp3, .wav, .aac, .flac, .jpg, .jpeg, .png, .bmp, .tiff"
}

403 Forbidden

{
  "statusCode": -9999,
  "message": "User not found"
}

400 Bad Request

{
  "statusCode": -9999,
  "message": "File size exceeds the limit for image"
}

Next Step

Once uploaded, use the returned referenceId to perform media inspection:

POST api/v1.0/deepfake/start

Developer Notes

  • Large media file may fail to upload depending on server-side configuration.
  • Accepted media types are validated on the backend. If you're unsure, validate the file type before uploading.
  • After uploading, you will receive a referenceId used in subsequent API calls (inspect, status, get report, etc.).

Media Inspection

Once a media file is successfully uploaded via the Upload Media Endpoint, you can initiate a forensic deepfake analysis using the Media Inspection endpoint.

We only store the hash of the file and the forensic report. The media file is deleted after certain number of days after inspection as configured on the server.

Once a media file is successfully uploaded using the Upload Media Endpoints, you can initiate deepfake analysis by calling the dedicated inspection endpoint for the specific media type and providing the referenceId in the request body.


There are separate endpoints to trigger the inspection process for the uploaded media.

1. Initiate Media Inspection

The POST api/v1.0/deepfake/start endpoint triggers the deepfake analysis pipeline for a previously uploaded media.

Endpoint

POST https://app.probetruth.ai/api/v1.0/deepfake/start
Authentication

This endpoint requires a valid API key. Include it in the Authorization header. Tokens are valid until you revoke them:

Authorization: Bearer YOUR_API_KEY
Request Body
FieldTypeRequiredDescription
referenceIdstringYesThe unique ID of the uploaded media file.

Content-Type: application/json

Code Example

cURL

curl -X POST https://app.probetruth.ai/api/v1.0/deepfake/start \
  -H "Authorization: Bearer <your_api_token_here>" \
  -H "Content-Type: application/json" \
  -d '{"referenceId": "68ee18fbbf286d24fd9bdbdc"}'

Success Response (Inspection Initiated)

{
  "statusCode": 0,
  "data": {
    "status": "queued"
  }
}

Missing referenceId

{
  "statusCode": -9999,
  "message": "referenceId should not be empty"
}

Invalid referenceId

{
  "statusCode": -9999,
  "message": "Media not found"
}

Unauthorized Token

{
  "statusCode": -9999,
  "message": "Invalid API token"
}

2. Check Inspection Status

Use these endpoints to monitor the progress of your deepfake analysis tasks. Three status check options are available depending on your use case.

2.1 Single Task Status

Check the status of a specific analysis task by its reference ID.

GET https://app.probetruth.ai/api/v1.0/deepfake/<referenceId>/status

Authentication:

Authorization: Bearer <your_api_token_here>

Example Request:

curl -X GET "https://app.probetruth.ai/api/v1.0/deepfake/692a8a6aec7dd33fcf9feb52/status" \
  -H "Authorization: Bearer <your_api_token_here>"

Success Response

{
  "statusCode": 0,
  "data": {
    "referenceId": "692a8a6aec7dd33fcf9feb52",
    "status": "done",
    "reportUrl": "https://app.probetruth.ai/api/v1.0/reports/39f39266-6deb-48e4-924d-21d12d76fc06.pdf",
    "reportFileHash": "50f0737dbebc69861353a6000c94ddd56029938c9c117df7abc4a1645d8abab0",
    "result": "Analysis completed successfully",
    "reason": null,
    "mimeType": "image/png",
    "originalName": "avatar.png",
    "createdAt": "2025-11-29T05:53:46.782Z",
    "updatedAt": "2025-11-29T05:59:15.561Z"
  }
}
2.2 Bulk Status Check

Check the status of multiple tasks simultaneously by providing comma-separated reference IDs.

GET https://app.probetruth.ai/api/v1.0/deepfake/status?referenceIds=<id1>,<id2>,<id3>

Query Parameters:

ParameterTypeRequiredDescription
referenceIdsstringYesComma-separated list of reference IDs

Example Request:

curl -X GET "https://app.probetruth.ai/api/v1.0/deepfake/status?referenceIds=692a8a6aec7dd33fcf9feb52,692a9390e18c3d5e423c5cb8" \
  -H "Authorization: Bearer <your_api_token_here>"

Success Response (Array)

{
  "statusCode": 0,
  "data": [
    {
      "referenceId": "692a8a6aec7dd33fcf9feb52",
      "status": "done",
      "reportUrl": "https://app.probetruth.ai/api/v1.0/reports/39f39266-6deb-48e4-924d-21d12d76fc06.pdf",
      "reportFileHash": "50f0737dbebc69861353a6000c94ddd56029938c9c117df7abc4a1645d8abab0",
      "result": "Analysis completed successfully",
      "reason": null,
      "mimeType": "image/png",
      "originalName": "avatar.png",
      "createdAt": "2025-11-29T05:53:46.782Z",
      "updatedAt": "2025-11-29T05:59:15.561Z"
    },
    {
      "referenceId": "692a9390e18c3d5e423c5cb8",
      "status": "processing",
      "reportUrl": null,
      "reportFileHash": null,
      "result": null,
      "reason": null,
      "mimeType": "video/mp4",
      "originalName": "sample_video.mp4",
      "createdAt": "2025-11-29T06:12:30.123Z",
      "updatedAt": "2025-11-29T06:12:35.456Z"
    }
  ]
}

3. Stop Running Task

Cancel a queued or processing analysis task. Useful for stopping long-running analyses or correcting mistakes.

POST https://app.probetruth.ai/api/v1.0/deepfake/stop

Authentication:

Authorization: Bearer <your_api_token_here>

Request Body:

FieldTypeRequiredDescription
referenceIdstringYesReference ID of the task to stop

Example Request:

curl -X POST "https://app.probetruth.ai/api/v1.0/deepfake/stop" \
  -H "Authorization: Bearer <your_api_token_here>" \
  -H "Content-Type: application/json" \
  -d '{"referenceId": "692a9390e18c3d5e423c5cb8"}'

Success Response

{
  "statusCode": 0,
  "data": {
    "status": "stopped"
  }
}

4. Get User Statistics

Retrieve aggregate statistics for your account, including total scans, completed analyses, and status breakdown.

GET https://app.probetruth.ai/api/v1.0/deepfake/stats

Authentication Note:

This endpoint requires your email in the Authorization header (API tokens are not supported for this endpoint).

Authorization: Bearer your_email@example.com

Example Request:

curl -X GET "https://app.probetruth.ai/api/v1.0/deepfake/stats" \
  -H "Authorization: Bearer your_email@example.com"

Success Response

{
  "statusCode": 0,
  "data": {
    "totalScans": 125,
    "completedScans": 118,
    "queuedScans": 2,
    "processingScans": 1,
    "failedScans": 3,
    "stoppedScans": 1
  }
}
Security & Best Practices
  • API tokens are valid until you revoke them via the dashboard or API
  • Media files are automatically deleted after a configured retention period (server-side)
  • Only SHA-256 file hashes and analysis reports are permanently stored
  • Use reportFileHash to verify report integrity
  • Poll status endpoints at reasonable intervals (recommended: every 5-10 seconds)
  • Use the bulk status endpoint for checking multiple tasks efficiently

Generate Report

After media inspection is complete (status is done), a detailed forensic report is available for download. The report includes classification results (real/fake), confidence scores, technical analysis details and visual evidence.


Endpoint

GET https://app.probetruth.ai/api/v1.0/reports/<filename>?apiToken=<your_api_token_here>

The reportUrl is returned in the status API response when the analysis is complete. This URL already contains the filename. To access the report, add your API token as a query parameter.


Authentication

Include your API token as a query parameter apiToken (alternative to Authorization header for browser downloads):

?apiToken=<your_api_token_here>

Code Example

cURL - Download Report

curl -X GET "https://app.probetruth.ai/api/v1.0/reports/f3a1754b-3329-4851-8ec8-10df78beac2a.pdf?apiToken=<your_api_token_here>" \
  -H "Accept: application/pdf" \
  -o report.pdf

Response

Success (200 OK)

Returns a binary stream of the report file (typically PDF). The response includes:

  • Content-Type: application/pdf
  • Content-Length: File size in bytes
  • Content-Disposition: inline; filename="..."
%PDF-1.7
1 0 obj
...binary PDF data...
%%EOF

Error Responses

HTTP Status CodeResponse Body (JSON)Description
400 Bad Request{"statusCode":-9999,"message":"Either email or apiToken query parameter is required"}Authentication failed. Ensure a valid API token is provided.
403 Forbidden{"statusCode":-9999,"message":"File not found or access denied"}The specified file_name does not exist or this file does not belong to the user.
500 Internal Server Error{ "error": "Internal Server Error", "message": "Failed to generate report." }An unexpected error occurred on the server while generating the report.

Developer Notes

  • All uploaded files are deleted after a configured retention period; only SHA256 hashes and reports are stored
  • Use reportFileHash to verify report integrity after download
  • Reports contain classification results (real/fake), confidence scores and detailed analysis

Common Error Codes

Status CodeError MessageSolution
400Authorization header is requiredInclude Authorization: Bearer <token> header
400File hash mismatchRecalculate SHA-256 hash of file content
400Unsupported file extensionUse supported formats: .mp4, .png, .jpg, .mp3, etc.
400File size exceeds the limitCompress or reduce file size before upload
401Invalid API tokenGenerate a new API token from dashboard
403User not foundVerify API token belongs to registered user
403File not found or access deniedEnsure file exists and belongs to your account
404Media not foundVerify the referenceId is correct
409Task already in progressWait for current analysis to complete or stop it first
500Internal server errorRetry request or contact support if issue persists

Best Practices for API Integration

  • Validate files locally: Check file type and size before uploading to save bandwidth
  • Calculate hash accurately: Use SHA-256 on the exact bytes being uploaded
  • Implement exponential backoff: When polling status, increase interval on repeated checks
  • Handle all status codes: Implement proper error handling for each HTTP status code
  • Store referenceIds: Keep track of referenceIds for future status checks
  • Verify report integrity: Always validate reportFileHash after download
  • Use bulk endpoints: Check multiple tasks at once with the bulk status endpoint
  • Secure your tokens: Never expose API tokens in client-side code or public repositories

Security & Privacy

At ProbeTruth, safeguarding your data and privacy is at the core of our platform. We are committed to providing a secure, trustworthy environment for detecting deepfakes and protecting digital identity.

Data Handling

  • End-to-End Encryption: All media uploads and API requests are encrypted using HTTPS (TLS 1.2+).
  • Temporary Storage: Uploaded media files are stored only for the duration required to complete analysis.
  • Automatic Deletion: Media files are automatically deleted after inspection and report generation, unless retention is explicitly enabled by the user.

Model Isolation

  • Each AI detection model runs in a sandboxed environment to prevent cross-contamination and ensure privacy.
  • No raw media data is shared with external systems or third-party services.

Audit & Compliance

  • ProbeTruth maintains internal audit logs for critical API events and model decisions.
  • We adhere to data protection standards aligned with GDPR and CCPA requirements.

API Security

  • API Keys: All endpoints require authentication via secure API.
  • Rate Limiting: To prevent abuse, API usage is rate-limited and monitored.
  • Token Expiry: Temporary access tokens (when used) expire automatically to reduce risk.
  • IP Whitelisting: API is accessible from whitelisted IPs. Ensure your IP is registered with ProbeTruth.

Integrity Protection

  • Hash Verification: Media file integrity is checked using SHA-256 hash comparison during upload.
  • Tamper Detection: We monitor anomalies in model execution that may indicate malicious inputs.

Questions?

For inquiries related to security or privacy compliance, contact our security team at:

security@probetruth.ai

Frequently Asked Questions (FAQ)

This page will be updated soon with answers to the most common questions about using the ProbeTruth API and platform.

Stay tuned!

Contact Us

We'd love to hear from you! Whether you're interested in our services, have questions about our platform or want to collaborate — feel free to get in touch.

General Inquiries

For general questions, partnership opportunities or media inquiries, reach out to:

Email: contact@probetruth.ai

Research Collaborations

If you're from academia or a research institution and are interested in working together on deepfake detection, AI security or related topics:

Email: research@probetruth.ai

Business & Enterprise Solutions

For enterprise support, custom integrations or bulk analysis options, please contact:

Email: business@probetruth.ai

Office Location

ProbTruth Inc.
Tower Plaza
555 E William St, Ann Arbor, MI 48104

Support Hours

Monday to Friday: 9:00 AM – 5:00 PM (EST)
Saturday & Sunday: Closed

Thank you for reaching out to us. We'll respond to your message as soon as possible!