Prank calls, on command.
Choose a localized scenario, preview the setup, launch an authorized call, and follow the recording and request trail from one focused console.
React 19 · Vite 8 · 2,129 scenarios · 64 locales
Sentinel turns the existing call flow into a clear browser workspace. The catalog, session composer, returned recordings, and request diagnostics stay connected instead of living in separate tools.
- Scenario library — Search titles and descriptions, filter by language and region, preview audio, and carry a selection into the session workspace.
- Session workbench — Review the scenario and recipient, then call now or schedule it up to 30 days ahead.
- Live activity and recordings — Auto-refresh browser-linked calls, replay returned audio, and share the backend recording source directly without requiring a Sentinel account.
- API logs — Keep the latest 120 requests in session memory with status filters, timing summaries, expandable payloads, and recursive recipient-field redaction.
- Motion controls — Use the full visual treatment or switch to the reduced-motion experience at any time.
- Node.js
20.19+or22.12+ - pnpm via Corepack
git clone https://github.com/xtofuub/Sentinel-VOIP.git
cd Sentinel-VOIP
corepack enable
pnpm install
pnpm devOpen http://localhost:5173.
| Command | Purpose |
|---|---|
pnpm dev |
Start the Vite development server |
pnpm lint |
Run the ESLint checks |
pnpm build |
Create the production bundle |
pnpm preview |
Preview the production build on port 4173 |
- The local catalog is normalized into 64 locale collections and 2,129 scenario records.
- Supabase reserves the call credit and stores an immediate or scheduled session.
- A protected Edge Function creates the upstream identity and submits the call task.
- Supabase Cron dispatches due calls every minute, even after the browser closes.
- Activity syncs scheduled, queued, calling, failed, cancelled, and recorded states across devices.
- API logs keep a sanitized, in-memory trace of request outcomes and payloads for admins.
The frontend keeps the current service contract intact. Vite proxies /api during development, while the production rewrite is configured in vercel.json.
- Scheduled calls can be set up to 30 days ahead and are dispatched on the next one-minute worker cycle.
- Call sessions, recipient context, credits, and activity links sync through the signed-in Supabase account.
- API logs are session-only and disappear on reload.
- Scenario images, audio previews, and live API behavior depend on their remote services.
- Country flag images are served by FlagCDN / Flagpedia.
- Supabase Row Level Security keeps account, contact, credit, session, and activity rows scoped to their owner or an authorized admin.
- Call writes run through an authenticated Edge Function; the public Vercel proxy only exposes the recording-read endpoint used by Activity.
- Browser responses include a Content Security Policy, clickjacking protection, MIME sniffing protection, and a restrictive permissions policy.
- Dependencies are locked with pnpm, audited in CI, and checked weekly by Dependabot for routine and security updates.
Use Sentinel only where you have permission and a lawful purpose. Comply with consent, privacy, recording, telecommunications, and anti-harassment rules that apply to you and the recipient.
Built by xtofuub.


