Security model
What TechnoVision WhatsApp Core can read and write, what it stores, and what leaves your instance.
What it can read and write
- Its own models: accounts, templates, messages.
- res.partner, read only, for the recipient's number and country.
- ir.config_parameter, through sudo, for the access token and nothing else.
It adds no behaviour to any existing model beyond two computed fields and a button on the contact form.
What leaves your instance
On the simulated provider: nothing. No outbound connection is made at all.
On the Meta provider: one HTTPS request per message to graph.facebook.com, carrying the recipient's number and the message text. That is the request that sends the message; there is no telemetry, no analytics, and nothing is sent anywhere else.
Credentials
The access token is stored in ir.config_parameter, which Odoo encrypts, and is readable only by a system administrator. It is deliberately not a field on the account model:
- a field is in every database backup in plain form,
- a field is copied by Duplicate,
- a field is visible in any screenshot of the form,
- a field is exported by anyone who can export the model.
Setting the token requires base.group_system, enforced in Python rather than by ACL alone.
Access control
| Group | Read messages | Send | Delete log | Templates | Accounts |
|---|---|---|---|---|---|
| WhatsApp User | yes | yes | no | read | read |
| WhatsApp Manager | yes | yes | yes | write | write |
| Neither | no | no | no | no | no |
Global record rules restrict accounts and messages to the user's own companies. They are global rather than group rules, so they AND with everything else rather than being widened by a group somebody also holds.
The log cannot be edited
Delivery facts - the provider's message id, the attempt count, the timestamps, the originating record - are refused to ordinary writes, and the text of a message cannot be changed once it has been queued. The module's own machinery writes them through sudo. A log that can be edited is not evidence.
Personal data
The message log holds a phone number and the text of each message, which is personal data in most jurisdictions. Deleting it is a WhatsApp Manager operation and is not restricted by this module; there is no automatic retention limit, because the right period is a policy decision rather than a default we should pick for you.