Privacy Policy

Last updated: 16 September 2026.

This Privacy Policy explains how Persevida SL collects, uses, stores, and protects your information when you connect an Odoo instance to an AI client (such as Claude or ChatGPT) using our hosted remote server service.

We operate with strict data minimization principles. Our service functions as an authentication and secure transport bridge between your AI client host and your self-hosted or cloud Odoo instance.

What We Store

To maintain an active connection and handle authorization securely, our remote server stores a small set of operational data in a SQLite database on our server. The database file itself is not encrypted; specific sensitive fields are encrypted individually, as detailed below.

CategoryDescriptionStorage Method & TTL
Odoo URLThe base URL of your target Odoo instance. This is connection metadata, not a secret.Stored in plaintext in the SQLite database
Odoo Database NameThe name of the database your connection targets on that instance. Also connection metadata.Stored in plaintext in the SQLite database
Odoo API CredentialsThe Odoo API key provided during authorization (account passwords are never accepted)Encrypted with Fernet (AES-128-CBC + HMAC-SHA256, via the cryptography package)
OAuth Client RecordsThe dynamic client registration records created when your AI host connects through OAuth 2.1Encrypted with Fernet (AES-128-CBC + HMAC-SHA256, via the cryptography package)
Policy SelectionThe execution policy selected during consent (read-only vs full access)Stored in SQLite database
Hashed TokensCryptographic hashes of OAuth 2.1 authorization codes, access tokens, and refresh tokensHashed using SHA-256 (raw tokens are never stored)
Tenant ReferencesGenerated internal identifiers linking your OAuth subject to your connection settingsStored in SQLite database
Generated ReferencesModule reference documents produced by the exploration tool at your requestStored as files on disk; kept until your tenant is deleted
Temporary FilesFiles explicitly downloaded or generated during active tool executionsStored in temporary storage with a strict 15-minute Time-To-Live (TTL)

Why We Store It

Each category above is held for one purpose and for no other:

None of it is used for analytics, profiling, advertising, or the training of any model. We run no third-party trackers and the pages of this service load nothing from anyone else.

Where It Is Processed

One server runs this service, and everything described above stays on it: a single SQLite database file and a directory of generated files on the same machine. Nothing is copied to another provider, to a second region, or to an analytics service. The only outbound request this server makes on your behalf goes to the Odoo address you named during consent.

What We Never Store

We design our infrastructure to avoid processing or retaining personal or business records beyond what is strictly necessary to proxy requests. We never store:

Data Retention and Automatic Purging

We enforce strict data retention rules to ensure connection details and tokens are erased when no longer in use:

Your Controls

You retain total control over your credentials and active connections. Three of these controls do not involve us at all:

1. Host Disconnection: Disconnect or delete the integration directly within your AI host application (e.g., Claude, ChatGPT, or another client). This triggers an automated revocation request to our server.

2. Explicit Revocation Endpoint: Send a POST /revoke request presenting your active token. Our server immediately revokes the associated token family and erases tenant credentials if no active tokens remain.

3. Revoke the key inside Odoo: an API key is revocable from the Odoo account that created it, and revoking it there ends this server's access immediately without going through us. What remains here is an encrypted string that no longer opens anything, deleted with the rest of the tenant row on disconnection or after the idle window.

4. Change what the connection may do: sign in again and pick the other policy. The most recent choice governs the connection, including tokens issued before it.

To ask what is held for your connection, or to have it erased before the windows above elapse, write to the contact below and name the Odoo URL you connected; we answer from the same tenant row this policy describes.

Data Recipients and Third-Party Sharing

We do not sell, rent, or monetize your data. We do not share your connection details or Odoo credentials with any third parties.

The only recipient of requests forwarded by our service is your own target Odoo instance specified during authorization.

Contact Us

If you have questions, feedback, or concerns regarding this Privacy Policy or data handling practices, please open an issue or reach out to mcp@singleflo.com.