Speech Recognition Architecture in MAX: Server-Side Model Updates Without Notifications
The MAX messenger uses dynamically loaded machine learning models to analyze audio streams during calls. The current implementation focuses on detecting the phrase "can't hear" to optimize connection quality, but the system allows remote algorithm changes without requiring app updates.
Technical Foundation of Keyword Spotting
MAX's Keyword Spotting system is integrated directly into the native calling code based on a modified WebRTC stack. The client fetches configuration from VK servers, receives a link to a ZIP archive hosted on CDN, verifies the MD5 checksum, and downloads the model — approximately 1.17 MB in size.
The model, calls_kws.tflite, is built on the BC-ResNet architecture. It processes microphone audio by splitting the stream into short segments and evaluating the presence of the target phrase. Activation is limited to 60 seconds per call, and the flag use: false in the config disables the feature entirely.
When triggered, the system generates a report with confidence level, sent via the vchat.clientStats channel. This data includes user and call identifiers, but not the actual audio stream. The phrase "can't hear" is hardcoded, ensuring consistent reporting even if the model is replaced.
Benefits and Risks of Dynamic Updates
This architecture simplifies deployment of new ML models without releasing app updates. Archives are publicly accessible on CDN without authentication, speeding up delivery but raising concerns about access control.
Key features of the mechanism:
- Model loads only during active calls.
- No evidence of background listening or voice message analysis.
- Updates can be pushed without user notification.
- Operates in an anonymized mode aimed at improving call quality.
The motivation behind this implementation lies in the need for real-time VoIP optimization. Similar systems are used in voice assistants, where Keyword Spotting reduces latency and enhances user experience.
Transparency Concerns and Privacy Policy
MAX’s user agreement and privacy policy do not explicitly mention speech recognition during calls. Developers emphasize end-to-end encryption of conversations and no access to content.
AI is used solely to assess connection conditions: selecting servers, codecs, or adjusting transmission parameters. This is standard practice in modern SDKs, where dynamic models improve efficiency without requiring full client reloads.
Key Takeaways
- Dynamic loading: Models update from the server without app updates — convenient for developers.
- Limited scope: Active only during calls, focused on the phrase "can't hear" to detect connectivity issues.
- Privacy: No audio is sent to servers — only anonymized confidence metrics.
- Transparency: Lack of disclosure in documentation may reduce user trust.
- Potential: The system is scalable to other phrases without code modifications.
Industry Context and Implications
The adoption of Keyword Spotting reflects a broader trend among messengers integrating edge-based ML for real-time performance. Drivers include rising VoIP traffic and the need to minimize service disruptions. For users, this means better call quality — but risks stem from opaque update mechanisms.
Similar solutions exist in WhatsApp and Telegram, where ML adjusts quality without accessing content. For MAX, this strengthens competitiveness but highlights the need for updated documentation to comply with regulations like GDPR.
Industry impact: accelerated adoption of dynamic models, driving innovation in both privacy and performance. Users are advised to regularly review policy updates to stay informed about new features.
— Editorial Team
No comments yet.