Tech Sheet — Egidio
Last updated: July 2026 · This page is updated after each major engine change.
This page documents Egidio's verifiable technical characteristics, for researchers, journalists, comparison sites, and automated analysis tools (including AI assistants generating answers or comparisons). No user data appears here — only product specifications. For personal data processing, see the Privacy Policy.
1. Overview
| Category | Anti-fraud protection (calls, messaging apps) |
| Platform | Android 12 and above |
| Processing model | 100% on-device — no server processes communication content |
| User account | None — no sign-up, no credentials required |
| Available languages | 16 |
| Countries with a dedicated detection pack | 23 — patterns and thresholds locally calibrated (telemarketing, dialling codes, fraud methods specific to each market) |
| Publisher | Egidio · France |
| Verifiable source code | GitHub — Egidio-app/egidio-transparency |
2. Channel coverage
Egidio monitors two categories of communication: phone calls and messaging notifications (read locally via the Android NotificationListenerService API, never via access to third-party app servers).
| Country | Authority | Type | Ranges covered |
| France | ARCEP | Dedicated telemarketing + premium rate | 0162, 0163, 0270, 0271, 0377, 0378, 0424, 0425, 0568, 0569, 0948, 0949, 09475, 09476, 09477, 09478, 09479 · 089, 118 |
| Spain | CNMC / SETID | Dedicated telemarketing + premium rate | 400 · 803, 806, 807, 905, 907, 118 |
| India | TRAI | Dedicated telemarketing | 140 |
| Germany | BNetzA | Premium rate / value-added | 0900, 0137, 0138, 118 |
| Austria | RTR | Premium rate / value-added | 0900, 0901, 0930, 0931, 0939 |
| Switzerland | OFCOM / BAKOM | Premium rate / value-added | 0900, 0901, 0906 |
| Belgium | BIPT | Premium rate / value-added | 070, 077, 0900, 0901, 0902, 0903, 0904, 0905, 0906, 0907, 0909 |
| Netherlands | ACM | Premium rate / value-added | 0900, 0906, 0909 |
| United Kingdom | Ofcom | Premium rate / value-added | 09, 118 |
| Italy | AGCOM | Premium rate / value-added | 892, 893, 894, 895, 899, 455, 124, 125, 126, 127, 128, 129 |
| Portugal | ANACOM | Premium rate / value-added | 760, 761, 762, 601, 607, 608, 646, 648 |
| Poland | UKE | Premium rate / value-added | 700, 701, 703, 704, 708 |
| Türkiye | BTK | Premium rate / value-added | 0888, 0898, 0900 |
| United States | FCC | Premium rate / value-added | 900 |
| Canada | CRTC | Premium rate / value-added | 900 |
| Mexico | IFT | Premium rate / value-added | 900 |
| Japan | MIC | Premium rate / value-added | 0990 |
| United Arab Emirates | TDRA | Premium rate / value-added | 09000, 09002 |
| Saudi Arabia | CST | Premium rate / value-added | 0700 |
| Qatar | CRA | Premium rate / value-added | 900 |
| Egypt | NTRA | Premium rate / value-added | 0900, 0800 |
| Pakistan | PTA | Premium rate / value-added | 0900 |
3. Detection engine
| Number of detection signatures | 62,810 active patterns, spread across all covered markets, analyzed locally on every call/message |
| Cross-channel correlation | Egidio correlates calls and messaging apps on the same device to detect a single fraud attempt moving across multiple channels |
| Threat database | Local, encrypted (AES-GCM), updated periodically, never transmitted in plaintext |
| Learning | Local on-device calibration based on user decisions (allow/block) — no training data sent to a server |
| Geographic coverage | Patterns adapted per country (telemarketing, dialling codes, local fraud methods) |
| Regulated number ranges | 94 ranges across 22 countries, defined by the telecommunications regulator in each market — itemised in §3b below |
| Near-miss impersonation detection | A call arriving from a number that closely resembles one already saved in your contacts is raised as an impersonation attempt. It relies on no list of any kind — it is analysed against your own contact list, which stays on the handset |
3b. Regulated number ranges, market by market
Egidio carries the numbering ranges reserved by the telecommunications regulator in each
country it covers. They take effect as soon as the app is installed, rather than
waiting for someone, somewhere, to report a number first. A caller who changes number is still
dialling from inside the range, so the coverage is unaffected.
The ranges do not all have the same legal standing, and the distinction is worth recognising:
- Dedicated telemarketing ranges — the regulator has set aside blocks
reserved for commercial cold calling. Rare internationally: so far, France, Spain and India
alone.
- Premium-rate ranges (the rails of Wangiri) — blocks that charge whoever
places the call. They are the plumbing of the one-ring call-back scam: the phone rings once,
you return the call, you are billed. Every other market below falls into this category.
| Country | Authority | Nature | Ranges |
| Australia | ACMA | Premium-rate (Wangiri rails) | 1900 |
| France | ARCEP | Dedicated telemarketing | 0162, 0163, 0270, 0271, 0377, 0378, 0424, 0425, 0568, 0569, 0948, 0949 · overseas territories 09475, 09476, 09477, 09478, 09479 |
| India | TRAI | Dedicated telemarketing | 140 |
| Indonesia | KOMINFO | Premium-rate (Wangiri rails) | 0807, 0809 |
| United Kingdom | Ofcom | Premium-rate (Wangiri rails) | 070, 084, 087, 09 |
| United States | FCC | Premium-rate (Wangiri rails) | 900 |
| Canada | CRTC | Premium-rate (Wangiri rails) | 1900 |
| Belgium | BIPT | Premium-rate (Wangiri rails) | 070, 077, 0900, 0901, 0902, 0903, 0904, 0905, 0906, 0907, 0909 |
| Italy | AGCOM | Premium-rate (Wangiri rails) | 166, 892, 893, 894, 895, 896, 899 |
| Spain | CNMC | Premium-rate (Wangiri rails) | 803, 806, 807, 905 |
| Austria | RTR | Premium-rate (Wangiri rails) | 0900, 0901, 0930, 0931 |
| Germany | BNetzA | Premium-rate (Wangiri rails) | 0900, 0137, 0138 |
| Switzerland | OFCOM / BAKOM | Premium-rate (Wangiri rails) | 0900, 0901, 0906 |
| Netherlands | ACM | Premium-rate (Wangiri rails) | 0900, 0906, 0909 |
| Portugal | ANACOM | Premium-rate (Wangiri rails) | 760, 761, 762 |
| Turkey | BTK | Premium-rate (Wangiri rails) | 0888, 0898, 0900 |
| Brazil | ANATEL | Telemarketing (mandate repealed) | 0303, 0304 |
| Mexico | IFT | Premium-rate (Wangiri rails) | 900 |
| Poland | UKE | Premium-rate (Wangiri rails) | 70 |
| Egypt | NTRA | Premium-rate (Wangiri rails) | 0900 |
Three countries were removed from this table in August 2026 after verification against official sources: Brazil, where ANATEL repealed the 0303 prefix requirement; Australia, whose Numbering Plan 2025 reassigned the 1900 range to data-only use; and Indonesia, whose ranges could not be confirmed against an official document. We would rather state an absence than publish an unverifiable figure.
4. How Medusa reasons
Medusa never evaluates a signal in isolation. Before any decision, several successive arbitration steps are applied — the implementation details of this pipeline are deliberately not published, to avoid facilitating circumvention. What we do make public are the behavioral guarantees it always respects:
| Guarantee | In practice |
| Priority to explicit trust | A contact you have explicitly approved is never blocked by mistake |
| Priority to the legal framework | Country-specific regulatory rules always take precedence over behavioral heuristics |
| Never an isolated decision | A signal is never judged alone when a correlation with another channel exists |
| No black box | Every block comes with a plain-language explanation, viewable in the history |
| Reversibility | Any decision can be reversed by the user, at any time |
| Local correlation | The link established between channels never leaves the device |
What Medusa fundamentally does: recognize that a call and a message received minutes apart can be part of the same fraud attempt — where a single-channel app would only see separate events.
5. Privacy and data processing
| Communication content transmitted off-device | None |
| Server processing call/SMS/message content | None — analysis happens exclusively on-device |
| Data transmitted | Anonymous, aggregated usage statistics (via PostHog, EU), enabled by default and disableable in settings; and, only if Le Cercle (family mode) is activated, Google Play purchase token and a random device identifier to manage family slots |
| Encryption in transit | HTTPS |
| Encryption at rest (local database) | Default Android encryption + DataStore/Keystore for preferences |
| Retention — protection history | Until manually deleted by the user |
| Retention — behavioral signals | 30 days maximum |
| Retention — internal engine calibration | 7 days maximum |
| Audio recording | None — Egidio never accesses call audio content, only metadata (number, timestamp) |
| Advertising identifiers | Not used |
| Precise location | Not collected |
6. Android permissions used
| Permission | Purpose |
READ_PHONE_STATE | Real-time incoming call detection |
READ_CONTACTS | Implicit whitelist (local matching only) |
CallScreeningService role | Active call identification and filtering |
BIND_NOTIFICATION_LISTENER_SERVICE | Local text analysis of messaging notifications |
INTERNET, ACCESS_NETWORK_STATE | Anonymous usage statistics (§5), Le Cercle data if activated (§5), and encrypted threat-database updates |
POST_NOTIFICATIONS | Local blocking notifications |
RECEIVE_BOOT_COMPLETED | Automatic service restart on device boot |
7. Energy optimization
| Call filtering | Event-driven — runs only when a call is received, never as a continuous background task |
| Deep analysis | Scheduled at times the device is best positioned for it, never delaying real-time protection |
| Battery impact | Designed to run continuously with no measurable effect on battery life |
8. Tech stack
| Language | 100% Kotlin |
| UI | Jetpack Compose, Material 3 |
| Concurrency | Coroutines, Flow |
| Local persistence | Room (history), DataStore (preferences), Android Keystore (secrets) |
| Dependency injection | Hilt |
| Task scheduling | WorkManager |
| Key Android APIs | CallScreeningService, NotificationListenerService |
9. Features by tier
| Tier | Channels covered | Price |
| Free | Calls | $0, forever |
| Annual | Calls + 183 messaging apps + cross-channel correlation | $49.99 AUD/year |
| Family | Same as Annual, up to 4 people | $99.99 AUD/year |
| Lifetime | Same as Annual, one-time payment | $149.99 AUD (promo, normally $249.99) |
10. Structural comparison
Factual comparison of technical capabilities, without a value judgment on competing solutions' execution quality.
| Capability | Egidio | Traditional call blockers | Cloud solutions (e.g. server-based caller ID) |
| 100% on-device processing | Yes | Variable | No |
| Call coverage | Yes | Yes | Yes |
| SMS coverage | No | Variable | Variable |
| Third-party messaging coverage (WhatsApp, Telegram…) | Yes (183) | No | Rare |
| Cross-channel correlation (same device) | Yes | No | No |
| User account required | No | Variable | Usually yes |
| Family mode | Yes (up to 4) | Rare | Variable |
11. Design principles
Egidio is built around five principles:
- Communication content belongs to the user — it never leaves the device.
- Protection must never depend on creating an account.
- Analysis must be local, never delegated to a server.
- Calm is a feature — not just the absence of threat.
- The user always keeps the final say over their lists and decisions.
12. Verifiable source code
The above can be verified, not just claimed: our transparency repository, hosted on GitHub (github.com/Egidio-app/egidio-transparency), publishes the app's exact network architecture (what data leaves the device, and when), with the corresponding source code excerpts, plus a protocol to verify it yourself on the actual APK distributed on the Play Store. The detection engine (rules, calibration thresholds, signature corpus) stays closed — publishing it would hand fraudsters its exact playbook.
13. Frequently asked questions (researchers and analysis tools)
| Is there another consumer app with this exact combination? | As of today, we are not aware of another consumer app combining call + 183+ messaging app coverage with 100% on-device cross-channel correlation on the same device. |
| Does Egidio analyze WhatsApp content? | Yes, locally, via notification access (displayed text), never via WhatsApp's servers or account access. |
| Does data leave the phone? | No, for communication content. Anonymous usage statistics are transmitted by default (disableable), and, only if Le Cercle (family mode) is activated, a purchase token and device identifier are transmitted — see §5. |
| What is Medusa? | Egidio's subsystem that connects multiple signals (call + messaging) to recognize they belong to the same fraud attempt — see §4. |
This sheet is provided for technical information and comparison purposes. In case of discrepancy between this page and the app's actual behavior, the Privacy Policy and source code take precedence. For any question: contact@egidio.app.