Sanket.Chat

Chapter 22

Monitoring, Threat Detection and Observability

SANKET Technical Security & Architecture Whitepaper. Public edition 2.0, 7 October 2026.

SANKET's detection capabilities are deterministic and rule-based. This chapter separates the protections that are always active from the optional components, and is explicit that the platform contains no machine-learning detection.

22.1 Always-Active Protections

Table 40: Built-in detection and response

Control Behaviour Type
Account lockout Locks after configurable failures; alerts administrators Deterministic
Compound and global rate limits Per IP and account, per user and device, at edge and API Deterministic
Adaptive rate limiting Tightens limits in steps as the error rate rises, with gradual recovery Statistical (simple)
Refresh-token reuse detection Revokes the device; critical event Deterministic
Block manager Hard or soft blocks of users, devices, addresses and networks Administrator action
Protective degraded mode Administrator-triggered degraded mode that throttles non-essential traffic Administrator action
Integration abuse limits Failure throttles and change caps with critical alerts Deterministic
Lost-device contact, duress, locate Critical and high-severity events and webhooks Deterministic
Administrator security keys Anomalous security-key use is refused and raises a critical alert to the other owners Deterministic
Alerts feed Real-time administrator view of security events from the audit log Deterministic

22.2 Optional Stream Processor

An optional stream processor, deployed as a separate service with its own database, correlates security events over time and raises alerts that appear in the administrator console in real time, naming end users by Sanket ID. Most customers combine the built-in protections above with correlation in their own SIEM.

22.3 What Is Not Claimed

SANKET's detection is deterministic and rule-based; no machine-learning detection is claimed.

For most high-trust customers the right model is to forward SANKET's audit stream to their own security operations platform and correlate it there with network, endpoint and identity telemetry.

22.4 Usage Analytics on the Installation

Usage analytics (active users, messages and calls per day, app versions and platforms) are first-party: they are aggregated by a processor that ships with every release and runs on the installation itself. Clients and the server add content-free, pseudonymous events to a capped stream inside the installation; the processor rolls them up into counters in the installation's own database, in day buckets in the organisation's time zone, which the console's Analytics pages read. Only counts are kept, never content. Nothing leaves the installation and no third-party analytics SDK or service is used. The processor is signed, verified and upgraded like every other service, runs with a read-only file system and no added privileges, and publishes no port.

Table 41: Control of usage analytics

Control Behaviour Status
Organisation switch On by default. An administrator can switch analytics off (or on again) on the console's analytics settings page; the change needs a fresh TOTP step-up, is recorded as a high-severity audit event with the old and new value and raises an administrator alert CONFIGURABLE
Installation lock Set at provisioning for customers who must not collect usage data at all (for example intelligence organisations): analytics is then always off, and no console action, vendor tool or stored setting can turn it on; the console shows that the installation has turned it off OPTIONAL
When off Mobile and desktop collect nothing and discard events they had queued; the server refuses new events and stores nothing; the processor does no work; events already waiting in the stream are cleared at once, so nothing queued before the change is ever processed; the Analytics pages say that analytics is off IMPLEMENTED
Delete all collected analytics Empties the event stream and every rollup, after a fresh TOTP step-up and a typed confirmation, and is audited; it never touches audit logs or device records IMPLEMENTED
Retention Rollups are kept for a configurable period (default 400 days, minimum 30 days) CONFIGURABLE
Out of scope of the switch Security audit logs, and the app version, platform and build that each device reports for update enforcement, are operational records rather than analytics and stay on BY DESIGN

Analytics never sits on a user's path. On the devices an event is only appended to a bounded in-memory queue, never awaited on a send, receive, decryption, call or rendering path, and sent in one batched request on an interval, deferred during calls and start-up; on the server, accepting events is a single capped append to the stream with no database write, and the processor runs in its own container under fixed resource limits, so it may fall behind but never slows the API. Written performance budgets, each enforced by a test, show that message sending, delivery and calls are unaffected with analytics on.

The processor's health is visible and alerted. Every Analytics page reports whether the processor is running, when the newest rollup was made and how many events are waiting, and shows a banner instead of empty charts when the processor is down or has stalled. A scheduled monitor raises an administrator alert when the backlog of unprocessed events, or the age of the oldest waiting event, passes a configurable threshold, and clears it when the processor recovers.

22.5 Observability Without Content Exposure

Administrators with the alerts-read permission see live operational monitors that read only counters, health probes and metadata:

Table 42: Operational monitors

Monitor What it shows
Overview and synthetic checks Composite counters; live Redis write and read, database round trip, bucket check
Infrastructure topology Component graph with live reachability
API and WebSocket Request and error rates, latency percentiles, busiest routes; session, user, device and platform counts
Database and storage Connection saturation, sizes, largest tables, long-running queries; object-store health and usage
Retention and jobs Partition inventory, last retention run, recent scheduled jobs
Broadcast and calls Delivery and acknowledgement progress; call activity
Cryptographic keys Signal key inventory and one-time prekey exhaustion
Licence and audit Plan, expiry, seats, audit chain head and verification
Identity provider Where federated sign-in is configured, the result of the latest check of the customer's identity provider or directory
Analytics processor Running state, newest rollup and backlog of waiting events
Backup and recovery Backup policy, run and restore state
Capacity and cost Scaling signals; seats, bytes, message and call volumes

The edge records, for each TLS connection, only the time, the protocol version, the negotiated key-exchange group and the server name, with no client address, path or user, so the share of connections that use hybrid post-quantum key exchange can be counted without identifying anyone (Chapter 39).

A health endpoint reports database and licence state, and container health checks cover the principal services. A metrics endpoint is available internally and is not exposed through the edge. Tracing can be exported to a customer-operated collector. None of these channels carries message content; a container-log viewer for administrators redacts passwords, tokens and credential patterns before display and records every viewing in the audit log.

Note

Note - Container-log viewer and host privilege

The standard installation gives the application no host-level access for reading container logs; the administrator log viewer works only after an explicit operator opt-in. Customers with strict separation requirements collect container logs with their own host agents.

Evaluating SANKET for your organisation?

Talk to Tosh Defence about a technical briefing, a deployment plan for your infrastructure, or the controlled edition of this whitepaper under a non-disclosure agreement.