Sign in

Forgot password?

Reset your password

Back to sign in

Set a new password

Two-factor authentication

Enter the 6-digit code from your authenticator app.
Not you? Sign out

Set up two-factor authentication

Admin accounts require two-factor authentication. Scan this into an authenticator app (Google Authenticator, Authy, 1Password, etc.), or enter the secret manually.
Can't scan? Enter the code manually
Open in an authenticator app that supports otpauth:// links
Sign out instead

Save your recovery codes

Each code works once, if you lose access to your authenticator app. Store these somewhere safe - they won't be shown again.
Voice Intelligence
Analytics
Performance
Collections
Cost & Claims
Monitor
Operations
Admin
Backend unreachable — showing sample data, not your saved calls. Is the ShieldX server running?

Pulse

Live snapshot across every ingested call
Compliance alerts
Portfolio truth · verified, not just claimed

Collected vs. promised

this cycle, across every vendor
Book value ⓘ
—
—
Total principal outstanding across every allocated account - the base the Promised and Collected figures are drawn from.
Collected of promised
—
—
Honor rate ⓘ
—
of resolved promises kept
% of resolved promises that were kept - a count, not a share of the rupee amounts above.
Compliance alerts
—
flagged for review · vs. last 7 days
Genuinely reached
—
of allocated accounts
Full reach breakdown - genuinely reached vs. attempted-no-connect vs. never contacted at all
Loading…

Decisions waiting on you

ranked by severity
The specific things that have stopped resolving on their own and are waiting on a human call - not a second metrics dump.
Loading…

Agent mix

0 analysed calls
Operational detail
Loading…
Recordings ingested
0
0 analysed (70%) · 0 skipped (30%)
Avg Compliance Score
0
checklist + violation severity, 0-100 scale · vs. last 7 days
Avg Quality Score
0
resolution outcome, 0-100 scale - a separate axis from Compliance Score · vs. last 7 days
# Reference Agent Vendor Bucket Duration Language Status Intent Compliance Score Quality Score Recommended action Audio
Compliance monitoring

Open compliance alerts

RBI guideline mapping
Coaching queue

Coaching queue

0 case(s)
Ranked by severity, then how often it's recurred, then most recent - which agents need coaching this week, and why, closing the loop Agent DNA starts.
AgentVendorViolation typeOccurrencesSeverityStatusOpened
Loading…

Grievance cases

0 case(s)
Evidence assembled from the account's own record — contact timeline, compliance checks and coverage gaps. ShieldX determines what happened; the disposition stays yours.
AccountCategoryReceivedSLAStatusHold
Loading…

File a case

Received date is when the customer complained — the regulatory clock runs from there, not from when this case was filed.

Complaint risk

—
Every indicator below is something already observed on a call that happened — a conduct flag raised, a customer whose tone declined, an identity never verified. This is not a forecast, and no call here is an accusation; it is a queue to review while there is still time to act.

Accounts to be ready for

0
Rolled up per account — three medium calls deserve attention no single one of them earns.
AccountCallsBandIndicatorsLast call
Loading…

Calls

0
WhenAccountAgentBandIndicators
Loading…

By agent, within cohort

rates only
Rates are shown within a cohort and never blended. Agents working a write-off or high-DPD book generate more friction by the nature of the work — comparing raw counts across books would penalise them for their allocation, not their conduct. Nothing here opens a case: a supervisor decides what, if anything, to do.
CohortAgentCallsFlaggedRate
Loading…
AI agent monitoring

Exploratory — not a confirmed signal yet

This groups your own CDR by its campaign column and checks whether that column reliably tells human calls apart from AI-voice ones — a still-unconfirmed idea, not something the product treats as true yet. If a campaign below reads as almost entirely "AI voice", that's the confirmation — read off your own real data. If every campaign shows a mixed breakdown, the idea probably doesn't hold for your CDR shape, and this stays informational rather than becoming a monitoring rule anywhere else.

Campaign coverage

0 campaign(s)
Coverage — of the unique accounts CDR shows as connected under this campaign, how many ShieldX has an actual analysed call for (not raw call counts, so a repeat-dialed account isn't double-counted). Human / AI voice / Untagged is the agent-type mix among that same bridged set — the actual signal for whether this campaign looks like an AI channel. Click a row for the account-level detail and raw dial counts.
CampaignConnected accountsCoverageHumanAI voiceUntagged
Loading…
Quality monitoring

Languages detected

share of analysed calls

Voice of customer

analysed calls · why they called
Agent performance

Performance

0 agents
Agent Vendor Calls Compliance Alerts RPC rate Connect rate PTPs taken PTP value Honor rate Amount collected
No agent-tagged calls yet.

Productivity reconciliation

0 agents
Your dialer/CCaaS platform's own Agent Productivity Report vs. what ShieldX independently computes from the transcribed calls themselves - two separate sources of truth on purpose. Only agents present in both are shown; a wide RPC gap means the two systems disagree on how often this agent actually reaches the right person.
AgentShieldX RPCCCaaS RPCGapShieldX honor rateCCaaS conversionCCaaS occupancyShieldX avg callCCaaS avg talk
Loading…
No agents present in both ShieldX and a CCaaS Agent Productivity Report yet - ingest an Agent Productivity Report under Data Ingestion to populate this.

Registry

0 agents
Which agents are on this institution's roster, which vendor each belongs to, and whether they're active or inactive - informational only for now, doesn't gate ingestion or filter any analytics page.
Spreadsheet needs "agent" and "vendor" (both required) and "status" (optional, defaults to active) columns - case-insensitive. Download agent registry sample CSV
Vendor performance
Scope to: Per agent:

Leaderboard

who leads the roster on each metric that matters
Loading…

Vendor comparison heatmap

every vendor, every metric, at a glance — darker is stronger
Loading…

Vendor scorecard

0 vendors
The same per-vendor numbers as the heatmap above, at full precision - not a different or agent-level breakdown. Click a row for that vendor's own agent-level detail.
Vendor Agents Calls Compliance Alerts RPC rate Connect rate PTPs taken PTP value Honor rate Amount collected
No vendor-tagged calls yet.

Number coverage

SIP/DID/PRI assignment vs. actual usage
Which of a vendor's assigned numbers went completely unused across this range, and which CDR numbers institution-wide were never assigned to anyone at all. A range, not one day - a single day's silence can just be normal call-volume variation.
All vendors
One vendor, in detail
Click a row above to jump straight here with a full call log per number, or pick a vendor directly.

Number health

0 numbers
Connect rate by ISO week per number, compared against that same number's own earlier weeks - a real telecom pattern where a heavily-dialed number gets carrier-flagged and its connect rate quietly degrades over time. Not compared against other numbers, since normal volume/answer patterns differ number to number. Trend is in percentage points (pp) - e.g. -55pp means connect rate dropped 55 points (say, from 70% to 15%), not that it fell by 55% of its old value. Click a row for the week-by-week detail.
NumberVendorTotal callsTrend (recent vs. earlier weeks)Status
Loading…

Registry

0 vendors
Which vendors this institution works with, and whether each is active or suspended - informational only for now, doesn't gate ingestion or filter any analytics page.
Spreadsheet needs "vendor" (required) and "status" (optional, defaults to active) columns - case-insensitive. Download vendor registry sample CSV
Product performance
Every product ever ingested is always listed below - each card's own "Resolved this cycle" uses that product's own configured cycle (Settings → Rules → Cycle configuration) unless overridden below, so two products' cards can legitimately show different windows.

By allocation cycle

roll-forward, cycle over cycle
Each row is one allocation batch/cycle (e.g. a monthly file) - click one to see the accounts in it. Use this to track this cycle's collection performance over time. Not a "portfolio" in the pre-due/bucket/settlement sense - see "By collection stage" below for that.
Cycle Vendor(s) Accounts Principal outstanding Resolved this cycle Calls Avg score Compliance Talk time

By collection stage

where accounts sit right now
Each row is a collection stage/queue the institution's own allocation file tags accounts with (Pre-due, Bucket 1, NPA, Settlement, etc.) - each account counted once, in its most recently reported stage. A different cut from the cycle table above: that one tracks a batch over time, this one shows the current spread across stages.
Stage Vendor(s) Accounts Principal outstanding Resolved this cycle Calls Avg score Compliance Talk time
Collections

This cycle

% of allocated accounts cleared vs. rolled forward
Cycle anchor/length above are an override, for a specific historical window - leave both blank to use whichever product (or the institution default) is scoped below, via Settings → Rules → Cycle configuration.
Scope to:

Rollover reasons

click a reason to see those accounts

How cleared accounts got there

real contact vs. paid on their own · click a reason to see those accounts
Collections

By batch

Time from allocation to first contact
Scope to:
Batch Vendor(s) Uploaded First contact New / Re-allocated Accounts Contacted Not yet contacted Avg hrs to first contact Min / Max hrs
No allocation batches ingested yet.
Collections

Accounts

How the largest-outstanding accounts are actually being worked
Scope to:
Collections

Bucket migration

Which accounts moved to a worse/better/same DPD bucket since their last cycle
Compares each account's DPD across its two most recent allocation cycles - needs dpd mapped on the allocation file type and a new file ingested each cycle. Institutions that don't send DPD yet will just show every account as new (nothing to compare).

PTP honor rate by DPD bucket

Same accounts, sliced by how far past due they were when promised
Loading…

Resolution playbook

How accounts in each DPD bucket have historically gotten resolved
Evidence from every dues-cleared payment on file, not a risk score - how much real contact it actually took, per bucket. Not cycle-scoped - all-time.
Loading…
Collections

Stages

Allocated → attempted → connected → PTP taken → PTP honored → resolved
All-time, not cycle-scoped - how far each allocated account has ever gotten, not just this cycle. Each stage only counts an account that also resolved the stage before it.
Collections

Connect rate by attempt number

0 attempt levels
Connect rate at each dial-attempt number, across every account with more than one CDR-logged attempt - real evidence for how many attempts are actually worth making, not a guess. Feeds the max/day and max/cycle caps in Settings → Rules → Contact rules. Where this flattens out is roughly where another attempt stops being worth making.
Attempt #Accounts reaching this attemptConnectedConnect rate
Loading…
Collections

Open promises, ranked by risk

0 open promises
Every currently-open PTP, scored by the historical honor rate of the most specific peer group with enough resolved history (this agent's own past promises, falling back to this vendor's, falling back to "not enough history yet") - a reminder-call worklist, not a wait-and-see one. Riskiest (lowest predicted honor rate) first.
RefAgentVendorAmountDuePredicted honor rateBased on
Loading…
Collections

How long it actually takes to get paid

0 calls with a traceable payment
Days between a Promise-to-pay call and the first payment that arrives after it. This counts every eventual payment, even a late one - so it's a wider net than the PTP priority queue's honor rate, which only counts a payment as "honored" if it lands within a short grace window. A call with no payment at all isn't counted here, since there's no lag to measure yet.
LagCalls
Loading…

Slowest vendors

0 vendors
Vendors ranked by average call-to-payment lag, slowest first.
VendorCalls with a traceable paymentAvg lag
Loading…

Ingest a file

any file type with a mapping config
Every institution ships these reports in a different shape (payment, CDR, allocation, agent activity, ...). If yours isn't listed, use "Create a mapping" below to add it, or ask your ShieldX contact to set one up.
A real Agent Productivity Report is usually one file per day with no date column of its own - set the day this file covers here. Leave blank if the file already has its own date column mapped.

Create a mapping

guided wizard - no JSON editing
Build a new institution mapping by uploading a real sample export and mapping its columns - once saved, it appears in "Ingest a file" above like any other, immediately usable.
Sample rows detected
Map columns

Automated landing folder

SFTP / shared-drive drop zone
Files placed in data/incoming/<mapping-id>/ on the server (one subfolder per institution format above) are picked up here. Each file is only ever ingested once, by content — a re-dropped duplicate is safely skipped, not double-counted.

Batch a call-recordings folder

ASR + translation + diarization + compliance analysis
Manifest values override the agent/DPD/vendor/agent type/institution above, per file. Unmatched rows are reported after the run.
Advanced — engine & language options defaults: FasterWhisper · auto-detect language
On by default — compliance/intent detection is English-phrase-based and unreliable without it.
No batch run yet.

Ingestion history

0 files processed
Filename Mapping Status Rows mapped Rows skipped Processed
No files processed yet.

Recently ingested

0 payments
Ref Customer Amount Payment date Institution Source file Ingested
No payments ingested yet.
Phone Connected Disposition Duration (s) Client Campaign Ingested
No CDR records ingested yet.
From the dialer platform's own Agent Productivity Report export — a second, independent source of agent productivity, not merged into Agent 360's own numbers. Duration columns are shown as h:mm:ss (confirmed against real APR exports); occupancy/RPC/conversion rates are shown exactly as ingested (format still unconfirmed).
Agent Date Total calls Login Pause Wait Talk Wrap-up Occupancy RPC count RPC% Payment responses Conversion% Payment amount Ingested
No agent KPI records ingested yet.
The ref/account <-> vendor <-> phone bridge — an account's vendor assignment can change over time, so every ingested row is kept; the most recent one for a ref is its current owner. Roll-forward and batch-coverage analytics computed from this data now live under Collections.
Ref Vendor Phone Agent Allocated date Institution Ingested
No allocation records ingested yet.
The vendor's own self-reported daily attempt/billing claim — split by human vs. AI agent, since payouts differ. This is the claim side of Cost & Claims, not yet checked against CDR.
Vendor Date Agent type Attempts Connected Connected min. Ref Ingested
No vendor call-trail records ingested yet.
The vendor's own periodic invoice — a distinct file from the call-trail claim above, used only to compare against the computed cost-to-collect estimate under Cost & Claims. A blank agent type means this row is the vendor's whole-period total, not split by human/AI.
Vendor Period start Period end Agent type Invoiced amount Invoice ref Ingested
No vendor invoice records ingested yet.
Needs a rate configured for this vendor/agent-type in Settings → Rules → Vendor billing rates - an unrated agent-type is excluded from the cost total, not silently counted as free.
Call date:

By vendor & day

0 vendor-days
One row per vendor + call date + agent-type. Click a row to see the individual claims behind it ⓘ
Status meanings: match = claim ≈ CDR. phantom = vendor claimed a call CDR has no record of at all. over_claimed = CDR shows some connection, but less than claimed. under_claimed = CDR shows more than claimed (rare — the vendor under-reported their own work). unbridged = no phone/ref to check against CDR at all.
Vendor Call date Agent type Attempts claimed Attempts (CDR) Attempts Δ Minutes claimed Minutes (CDR) Minutes Δ Flags
No vendor call-trail claims on file yet.

Claim detail

Select a vendor and date, or click a row above
The individual claims (one row per ref/account) behind whichever vendor-day you pick — what the table above rolls up into one line.
Ref Phone Agent type ShieldX ID Attempts claimed Attempts (CDR) Attempts Δ Attempt status Minutes claimed Minutes (CDR) Minutes Δ Minutes status Billable
Select a vendor and date above, or click a row in the table above, to see individual claims.

Account history

—
Every call, payment, CDR attempt, allocation change and vendor claim tagged with one ShieldX ID, merged chronologically — the cross-source view a bare reference number alone can't give you. Look up by ShieldX ID directly, by your own institution's reference number / phone, or leave those blank and just pick a date window below to browse every call across every account in that range.
Search above, or jump here from a ShieldX ID in Cost & Claims or a call's drawer.

My account

Change your own login password - available to every account, no admin needed.
Email - needed for "forgot password" recovery.
Two-factor authentication - required for admin accounts.
Not set up
Lost your authenticator? Reset it with your password, then set up a new one. Your current session stays signed in.

Users & access

0 users

Institutions

0 registered
The canonical list every institution-scoped form below picks from - registering one here is what prevents "Northgate" and "northgate" from silently becoming two different institutions.

API keys

0 issued
No API keys issued yet. Generate one to call the REST API from an external system.

Over-contact rules

0 institution override(s)
Per-institution call-frequency limits (day cap, cycle cap, min gap) ⓘ
Cycle = anchor date + length in days, not a calendar month. "Default" covers institutions with no row of their own.

Calling-window rules

0 institution override(s)
Per-institution permitted calling hours (RBI Fair Practices) ⓘ
Not TRAI's DND registry (telemarketing only). "Default" covers institutions with no row of their own.

Occupancy benchmark

0 institution override(s)
Expected daily login hours per institution - used to compare Vendor Performance's login-hours figures against a real target, not just against each other ⓘ
"Default" covers institutions with no row of their own. Baked-in fallback is 9 hours if nothing is configured at all.

Cycle configuration

0 override(s)
Per-product billing/collections cycle (anchor date + length) - Roll-forward analysis and Products both use this instead of one guessed window for every product ⓘ
"Default" (blank product) covers any product at that institution with no row of its own. Baked-in fallback is 2020-01-01, 30 days, if nothing is configured at all.

Coaching playbook

0 override(s)
Suggested coaching action per violation type - ships with sensible defaults already ⓘ
Every violation type has a default action already - no setup needed unless you want a custom link or wording.

Vendor billing rates

0 rate(s) configured
What each vendor is paid for CDR-verified work, used by "Cost to collect" ⓘ
Most specific rate wins: vendor+product+stage beats vendor-only beats "Any vendor". Three models available.

CDR billing policy

0 override(s)
What actually counts as billable CDR activity - Cost to collect and Vendor claims' "Billable" figure both use this ⓘ
"Default" (blank vendor) covers any vendor at that institution with no row of its own. Baked-in fallback: connected-only, no duration threshold, no per-account-per-day dedup.

Compliance checklist rules

0 override(s)
Which behavioral-checklist items are required, per institution and agent-type ⓘ
Purpose disclosure + identity check, required by default. Lower an item's weight instead of un-requiring it.

Integrations

0 connected
Vexyl-STT
Remote IndicConformer server · optional, external
Not connected
Sarvam AI
Commercial ASR API · used for intent classification and compliance-risk flagging
Not configured
Webhook notifications
POST compliance alerts to an external URL
Not configured

Sarvam AI spend

estimated
Total (all time)
₹0.00
Today
₹0.00
Estimated locally from Sarvam's published per-second (STT) and per-token (chat) rates — not pulled from Sarvam's own billing, so treat as directional.

Data & retention

local disk
Transcript & call records
data/calls.json
Kept indefinitely
Audio recordings
data/audio/
Kept indefinitely
Audit log
data/audit.db · the log below only shows the most recent entries loaded
Kept indefinitely
Auto-purge after
Deletes each call record + its audio file once older than this many days. Runs once a day. Leave blank to keep everything indefinitely - this is a real compliance decision, not something to guess at.
days

Decisioning engine export

call history
Exports this institution's calls/payments as customer_id/contact_date/call_result/emi_number - the exact shape shieldx-decision-engine's own call_history table already expects, so real call outcomes become an input to that engine's scoring instead of staying only in this app's own dashboards. Only Promise to pay/Wrong number/Ring no reply calls and dues-cleared payments are included - everything else has no honest equivalent on that side and is left out rather than guessed at.

Treatment signals export

separate from call history
A different export for a different purpose: per-call escalation mentions (bureau/legal/Section 138/Lok Adalat/SARFAESI), conversational-approach signals (firm/factual/urgency/negotiation-led), raw intent - including Financial hardship/Dispute raised, which call_history.csv above leaves out entirely - right-party-contact confirmation, whole-call sentiment trajectory (blank unless SHIELDX_SENTIMENT_LLM is enabled), and objection/dispute/hardship sub-typing plus promise strength (firm vs. hedged commitment language). Every call is included, even ones with no signal hits, so a consumer joining by customer_id + date has the full window, not just the "interesting" rows.

Audit log

0 entries
Every entry is kept indefinitely - nothing is ever deleted. What you see below is just how many of the most recent ones are loaded at once.
Single-file test bench - speech-to-text, translation, diarization & compliance analysis on one call at a time. For bulk / recurring recording batches, use Data Ingestion instead.

Analyze a call

checking engine…
FasterWhisper gives the best transcript quality at usable speed; language is auto-detected by MMS-LID (accurate for Indian languages). MMS is free/all-22 but lower quality on phone audio. IndicWhisper is most accurate but slow on CPU. Deepgram covers Hindi/Tamil/Telugu/Marathi/Bengali/Kannada/Gujarati/Urdu/English only (no Malayalam, Punjabi, Odia) and has no translation endpoint.
On by default — compliance/intent detection is English-phrase-based and far less reliable without it. Uncheck only if you know this call is already English.
↑
Drop file(s) or click to browse
mp3 · wav · m4a · flac · ogg · opus · amr · multi-select supported
For bulk / recurring recording batches, use Data Ingestion — same landing-folder pattern as payment/CDR/agent KPI files.

Result

No analysis yet. Upload a file or point to a folder.
Now playing