Skip to content
Formray
R&D

See through synthetic text.

Detect AI-generated text. Transform it into natural writing. Compose polished drafts. A desktop app that runs on your machine — with MCP server integration for Claude workflows.

AI text is everywhere

ChatGPT, Claude, Gemini. Everyone uses them now. But AI-generated text has a signature: uniform sentence lengths, predictable transitions, hedging language, corporate jargon. No personality, no voice, no humanity.

Writers need to know if their drafts sound robotic. Editors need to spot AI-assisted submissions. Professionals need to polish AI-drafted content without sounding like a machine.

Detection that stays on your machine

PRISM analyzes text locally using a combination of heuristics and machine learning. Perplexity, burstiness, entropy, and pattern matching work together to produce an AI probability score. A sentence-level heatmap shows exactly which parts triggered detection and why.

Humanization transforms flagged text into three distinct styles: Natural, Creative, and Professional. Use the Claude API for the highest quality, or run local ONNX models for complete offline operation.

System architecture

PRISM is built with Tauri 2.0 — a lightweight Rust-based desktop framework. The React frontend handles the UI and state management through Zustand, while all analysis runs natively in Rust.

Text analysis combines ONNX-based machine learning inference with heuristic metrics: perplexity, burstiness, entropy, and pattern recognition. The Claude API provides humanization and compose capabilities when configured.

API keys are stored securely in the OS keychain — never in config files. Exports generate styled PDFs and structured JSON. Everything runs locally unless you explicitly enable cloud-based humanization.

System ArchitectureTauri 2.0 desktop app — local-first text analysisFRONTEND — React + TypeScriptApp UIDetect / ComposeZustand StoreGlobal StateusePrism.tsIPC BridgeTranslationsEN / IT / ES / DETauri IPC — invoke()BACKEND — Rustcommands.rsanalyze · humanize · compose · exportAnalysisml.rs (ONNX)metrics · patternsperplexity · burstinessClaude APIclient.rsprompts (4 langs)humanize + composeModelsregistry · configdownload · managerdetect + humanizeExportJSON · PDFstyled reportsConfigOS KeychainAPI key storage

Two modes

Detect

Analyze and humanize

  1. 1Paste text
  2. 2View AI probability score and metrics
  3. 3See heatmap highlighting AI-like sentences
  4. 4Click humanize for 3 style variations
  5. 5Export results as JSON or PDF

Compose

Draft and polish

  1. 1Write rough text in any language
  2. 2Select source and target language
  3. 3Get 3 polished versions: Natural, Creative, Professional
  4. 4Copy the one you like
  5. 5Repeat and refine

In practice

Detect mode with heatmap analysis, and Compose mode for polishing drafts.

Detect mode — AI probability score with sentence heatmap

Detect mode — detailed metrics and pattern analysis

Compose mode — three polished variations from rough text

Compose mode — multi-language support with style presets

What PRISM includes

Detection, humanization, composition, and export in a single desktop application.

Local ML detection (ONNX)

Trained classifier runs locally via ONNX Runtime. No internet required for detection.

Heuristic analysis

Perplexity, burstiness, and entropy metrics reveal AI writing patterns.

Pattern recognition

Detects filler words, hedging language, corporate jargon, and uniform sentence structures.

Sentence-level heatmap

Color-coded visualization shows which sentences triggered detection and why.

Three humanization styles

Natural, Creative, and Professional. Each rewrites AI text with a distinct voice.

Local humanization

ONNX-based text rewriting with Light, Balanced, and Accurate presets. No API needed.

Compose mode

Write rough text, select source and target language, get three polished variations.

Multi-language support

Detection and humanization in English, Italian, Spanish, and German.

PDF and JSON export

Export full analysis reports as styled PDFs or structured JSON data.

Secure API key storage

Anthropic API key stored in your OS keychain. Never in config files, never logged.

How PRISM compares

The only open-source, local-first AI text detection tool.

PRISMGPTZeroOriginality.aiZeroGPT
Runs locallytruefalsefalsefalse
Works offlinetruefalsefalsefalse
Open sourceMITfalsefalsefalse
HumanizationBuilt-in (3 styles)falsefalsefalse
Compose modetruefalsefalsefalse
Sentence heatmaptruetruePartialfalse
Export (PDF/JSON)truePaidPaidfalse
PriceFree~$10/mo~$15/moFreemium
Data privacyYour machine onlyCloudCloudCloud

Stack

Built with Tauri 2.0 and Rust for native performance and small binary size.

Desktop
Tauri 2.0
Frontend
React 19 + TypeScript + Tailwind
Analysis engine
Rust (heuristics + ONNX ML)
AI integration
Claude API or local ONNX
Export
genpdf (PDF) + serde_json (JSON)
Languages
EN, IT, ES, DE

Get started

Clone, install, and run. Requires Node.js 20+ and Rust 1.70+.

terminal
# Clone and build PRISM
git clone https://github.com/formray/prism.git
cd prism
npm install

# Run in development mode
npm run tauri:dev

# Build for production
npm run tauri:build

The name

PRISM PRISM — Pattern Recognition for Identifying Synthetic Messages.

Like a prism splits light into its components, PRISM breaks down text to reveal its true nature. Not anti-AI. Pro authenticity.

Pricing

PRISM is MIT licensed and free to use. Support tiers for teams and organizations.

Community

Free

Individual use

Support: Community / GitHub
Features: Full detection + humanization
API access: Local only
Updates: Self-managed

Pro

Contact us

Teams and professionals

Support: Priority email
Features: All features + priority support
API access: REST API access
Updates: Included

Enterprise

Contact us

Organizations

Support: Dedicated (SLA)
Features: All features + custom models
API access: Full API + webhooks
Updates: Included + custom deployment

All prices per organization. Annual billing.

Open source

MIT licensed. Use it, fork it, improve it. The more tools for authentic writing, the better.

Try PRISM.

Clone the repo, build the app, paste some text. See what your writing looks like through a prism.