Privacy Policy — Aski
Aski is a conversational assistance mobile app that connects to the user's own ERP systems: Odoo, SAP S/4HANA and SAP Business One. For clarity, wherever this policy mentions "Odoo" or "your instance," it applies equally to your SAP connection (S/4HANA or Business One). This policy describes what data we collect, how we use it, with whom we share it and your rights over it.
1. Data we collect
1.1 Data you provide to us
- Aski account credentials: email address and password (stored as a bcrypt hash, never in plain text).
- Your ERP credentials (Odoo or SAP): server URL, database or service user, and the key or API Key (encrypted at rest with AES-256-GCM). If your ERP is not reachable from the internet and you connect it through the tunnel (section 4.14), that URL is an internal address on your network, and we also store the connection mode.
- Chat messages you type or dictate with the microphone.
- If you connect the WhatsApp channel (section 4.17), your phone number, which we verify with a one-time code.
1.2 Data generated by your use
- History of queries with the language model (questions, answers, token consumption and latency).
- Microphone audio: it is processed locally on your device using the operating system's speech recognition. Only the transcribed text is sent to our servers. We do not store audio files.
- Billing and subscription history (Google Play Billing purchases).
- FCM token (Firebase Cloud Messaging) to send push notifications.
- The public links you have created to share an answer: the generated address, which answer it points to, when it expires and how many times it was opened (section 4.16).
- The scheduled alerts you have created: what they ask, on which connection and company, at what time they are delivered, to which email addresses (if you chose to send them) and the outcome of each delivery.
- If you use actions with confirmation on your ERP, we keep the trace of each one: who requested it, which operation it was, on which record and the exact data sent to your ERP. That content may include data about your own customers —for example, the email address a payment reminder was sent to—. It is kept precisely so that you can audit afterwards what was done in your name.
- If you add the home screen widget to your phone, the figures it shows are stored on the device itself so they can be drawn without opening the app, and are refreshed in the background roughly every hour. Bear in mind that, while the widget is in place, those figures are visible to anyone looking at the phone screen. They are deleted when you remove the widget or sign out.
- If you use the Odoo module, asking from an open record also sends the record you have on screen (its model, its identifier and the visible labels and values), so that the answer can refer to it. If you ask from the normal chat, no record is sent.
1.3 Technical diagnostic data (Sentry)
When an error or app crash occurs, we automatically collect:
- Error stack trace
- Device model and Android version
- App version
- Recent events (app lifecycle, anonymized taps, network requests without content)
We do NOT collect your IP address automatically (the isSendDefaultPii option is disabled). We do NOT include the content of your messages or credentials in these reports.
1.4 Data we do NOT collect
- Precise or approximate location
- Device contacts
- Photos, videos or other files
- Advertising identifiers
- Usage metrics of third-party applications
- Behavioral data for advertising profiling
Team seats. If an account holder adds you as a seat, that account sees your email, the monthly credit cap they set for you and how many you use in the period; they can also take the seat back at any time. Each person queries the ERP with their own user, so they only reach what they would already see logging in there.
2. System permissions we request
- INTERNET — Connection with our backend and your Odoo instance.
- ACCESS_NETWORK_STATE — Detect whether you have an active connection before sending queries.
- RECORD_AUDIO — Only when you press the microphone button to dictate a query by voice. The audio is processed locally; it is never transmitted.
- VIBRATE — Tactile confirmation when receiving answers or notifications.
- POST_NOTIFICATIONS — Display push notifications sent by the administrator (service notices, operational alerts).
3. How we use your data
- Authenticate you and keep your session active.
- Connect to your Odoo using the credentials you provided.
- Process your queries through Anthropic's Claude language model.
- Manage your account, credits and subscription.
- Detect and fix errors in the app.
We do not perform automated profiling with legal effects on you. We do not sell your data. We do not use your queries or your Odoo information to train artificial intelligence models.
3.1 Email communications
We may send you service-related emails to the email registered in your Aski account:
- Transactional (always active): registration confirmation, password recovery, payment receipts, security notices, material changes to these terms. You cannot disable them without closing the account, since they are part of providing the service.
- Onboarding and support: welcome messages, guides to set up your first Odoo connection, brief improvement surveys during the first 30 days.
- Product news: new features, announcements and occasional promotions about plans and credits.
Each non-transactional email includes a visible link to unsubscribe from that category without affecting transactional notices. You can also request the complete opt-out of non-transactional communications by writing to contacto@aski.dev with the subject "Cancel communications".
4. With whom we share your data
4.1 Anthropic, PBC (United States)
We send the content of your messages, your ERP schema (model and field names) and a limited excerpt of the records your query returns, because the model needs them to write the answer. That excerpt is up to 20 rows per answer in normal mode and up to 80 rows per query in Deep analysis, and it may contain your business information (for example customer names or invoice amounts). We never send your full database or your credentials. Anthropic retains this content for up to 30 days for abuse detection, according to its terms. It does not use it for training.
Policy: https://www.anthropic.com/legal/privacy
4.2 Railway Corp. (United States)
Hosts our backend and database. It has operational access to the infrastructure but does not query the data directly.
Policy: https://railway.com/legal/privacy
4.3 Google LLC — Firebase (United States)
We use two Firebase services. Cloud Messaging receives your device's token to deliver push notifications: we do NOT share the content of your messages with Google, and each notification contains only a title and a short body. Authentication validates sign-in when you choose to log in with your Google account and, in that case, receives your email address and that account's identifier.
Policy: https://firebase.google.com/support/privacy
4.4 Google Play Billing (United States)
Processes payments for subscriptions and credit packages. It receives the payment data directly; we only receive confirmation of the transaction.
Policy: https://policies.google.com/privacy
4.5 Sentry — Functional Software, Inc. (United States)
Receives technical reports of errors and performance (described in section 1.3). They do not include the content of your messages or credentials.
Policy: https://sentry.io/privacy/
4.6 Your ERP instance (Odoo or SAP)
When you make a query, the backend connects to your Odoo with the credentials you provided and reads the data needed to answer. This data returns to your device through our backend but is not stored in it beyond the message history.
The backend also writes to your ERP in two cases, and only two. One is actions with confirmation, which you approve one by one. The other is the delivery of a scheduled alert into the inbox of your own Odoo: if you pick that channel when you create the alert, each delivery creates a notification message there addressed to you. It touches no business record and you can change the channel whenever you want.
4.7 LinkedIn — Insight Tag (marketing website only)
Our public website (aski.dev) uses LinkedIn's Insight Tag to measure the effectiveness of our ads —how many visits convert into registrations— and to obtain aggregated audience statistics. When you visit the site, LinkedIn may receive standard browsing data (IP address, browser type, pages visited and, if you are signed in to LinkedIn, your member identifier). The Insight Tag is present only on the public marketing pages; it is NOT used within the app, nor in the sign-in flow, nor on any page with sensitive data. You can disable this tracking from your LinkedIn account's ad settings.
Policy: https://www.linkedin.com/legal/privacy-policy
4.8 Lemon Squeezy (United States) — web payments
For purchases made on our website (app.aski.dev), payments are processed by Lemon Squeezy, acting as Merchant of Record. Lemon Squeezy receives the payment data directly; we only receive confirmation of the transaction and the billing data needed to issue the receipt. We never store or see your card number. This does NOT apply to purchases within the Android app, which are processed exclusively via Google Play Billing (section 4.4).
Policy: https://www.lemonsqueezy.com/privacy
4.9 Vercel Inc. (United States)
Hosts our public website (aski.dev) and the web app (app.aski.dev), and provides aggregate visit statistics. It does not host the database and never receives your ERP data: your queries travel from the browser to our backend on Railway.
Policy: https://vercel.com/legal/privacy-policy
4.10 Better Stack (United States)
Receives the backend's technical operation logs: errors, response times and which path resolved a query. These traces do not include the content of your messages or any ERP data; figures and names are masked before being logged.
Policy: https://betterstack.com/privacy
4.11 Resend (United States)
Sends the platform's emails: account verification, password recovery and subscription notices. It receives your email address and the content of that message.
It also delivers the emails you decide to send: an answer sent from the app —with its spreadsheet attached— and scheduled reports. In those cases the message carries data from your ERP and goes to the addresses you specified, which may not be Aski users. Choosing who receives it, and being authorised to do so, is your responsibility.
Policy: https://resend.com/legal/privacy-policy
4.12 GitHub, Inc. (United States)
Stores the daily backups of our database, retained for 30 days. That copy includes your encrypted credentials and your message history, so a deleted account may remain present in backups for up to 30 days after deletion, and disappears once those copies expire.
Policy: https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement
4.13 Google Ads (marketing website only)
Like the LinkedIn Insight Tag (section 4.7), our public website uses the Google Ads measurement tag to know how many visits coming from an ad end in a sign-up. It is present only on the public marketing pages; it is NOT used inside the app or in the sign-in flow.
Policy: https://policies.google.com/privacy
4.14 Tailscale Inc. (United States) — connecting ERPs not published on the internet
If your ERP lives inside your network and has no public address, you can connect it by marking the connection as «My ERP is not reachable from the internet». In that case a private-network node (Tailscale) is installed on a machine in your network and our backend comes in through it. Tailscale receives the data needed to establish that link: the name of your organization —which we use to label the key and the node—, the name of the machine where you install it, and the internal network ranges that node advertises. It does not receive the content of your queries or your ERP data: traffic between our backend and your ERP travels end-to-end encrypted (WireGuard) and Tailscale cannot read it. This applies only to the connections you mark as «through the tunnel»; a normal connection never uses it. You can cut the link whenever you want by shutting the node down on your network, without depending on us.
Policy: https://tailscale.com/privacy-policy
4.15 Telegram (internal operations alerts)
The service administrator receives the platform's operations alerts through Telegram. One of them may include data of yours: when you delete a tunnel connection, the alert carries your email, the name you gave that connection and its address, because those are the details we use to decommission the node left installed on your network. The content of your messages and your credentials never travel through this channel.
Policy: https://telegram.org/privacy
4.16 Public links you create
From the app you can generate a public link to one specific answer. It is always your decision and never happens automatically: until you create a link, none of your answers is reachable from outside your account.
What an active link means:
- Anyone holding the address can read that answer, with no account and no password — unless you set one, available from the Enterprise plan. We do not have to grant access to anyone: the address is the access, so share it only with people who should see it.
- It shows only that answer, frozen. Whoever opens it cannot ask anything, cannot see the rest of your history and never reaches your ERP.
- That answer may include its chart, the how it was calculated card and the detail of the records behind the figure. Check what it carries before handing the link out: the detail may contain customer names, documents and amounts.
- Your connection name and your email address do not appear on the page.
- The page carries the
noindextag, which asks search engines not to index it. That is a request search engines honour, not a technical barrier: if the link is posted somewhere open, it can reach more people than intended. - Every link expires on its own. You choose how long when you create it, within your plan's maximum, and you can turn it off earlier from Settings → Security → Shared links.
For each link we store: the random address generated, which answer it points to, when it was created, when it expires, whether it was turned off, how many times it was opened and the date of the last opening. If you set a password, we store only its bcrypt hash, never the password.
We store nothing about whoever opens the link. We do not record their IP address, their browser or their identity. The opening counter is a number, not a list of visitors.
When the link expires or you turn it off, the page stops being served immediately. Archiving that answer or that thread in your chat also turns off its links, and deleting your account deletes them.
If your account is managed by a reseller partner, the page shows that partner's logo and public contact details, which they administer themselves and can switch off.
4.17 Meta Platforms Ireland Ltd. — WhatsApp channel
The WhatsApp channel is available. It only handles data if you connect your number: until you connect it, none of the following happens and no number is linked to your account.
The channel lets you ask your ERP from WhatsApp and receive your alerts right there. For that:
- You give us your phone number and we verify it with a one-time code sent to that number. We store the number, the date you verified it and the channel preferences. A number is not connected until you confirm the code: nobody can enrol you without your phone in hand.
- The content of those messages travels through WhatsApp's infrastructure, operated by Meta, under Meta's terms. It is the same consideration as messaging any business on WhatsApp. If you would rather your ERP answers did not go out that way, do not connect your number: the rest of Aski works the same.
- Outside the 24 hours following your last message, Meta only allows writing to you with templates approved by Meta in advance. That is why the scheduled alerts you receive through this channel have a fixed format.
- You can disconnect your number whenever you want from the app. Doing so deletes the number and its verification; your query history stays in your account like any other, and is deleted with it (section 6.4).
If your account is managed by a reseller partner, that partner can connect their own number so their clients' alerts go out under their brand. In that case the partner hands us the credentials of their WhatsApp Business account (number identifier and access token), which are stored encrypted with AES-256-GCM and never shown again — not to them, not to anyone — and Meta bills the messaging directly to them.
Policy: https://www.whatsapp.com/legal/privacy-policy
5. Security
- All client ↔ backend and backend ↔ Odoo communication travels over HTTPS/TLS 1.2 or higher.
- Your Aski password is stored as a bcrypt hash.
- Your Odoo API Key is encrypted with AES-256-GCM before being stored.
- Session tokens use JWT signed with a server secret key.
- On your device, credentials are stored in EncryptedSharedPreferences (AES-256-GCM with a key managed by the Android Keystore).
- Operational access to the database is restricted to a minimal number of administrators and is audited.
- If a reseller partner connects their own WhatsApp number (section 4.17), the access token they hand us is encrypted with AES-256-GCM just like an ERP API Key and never leaves the server: it is neither shown in the panel nor returned by the API.
- When you connect your ERP through the tunnel, the link opens no inbound port on your firewall —the node reaches out, the way a browser does— and traffic travels end-to-end encrypted. The private-network rules only allow our backend to reach your node, and two customers' nodes cannot see each other.
Sensitive business data: your Odoo credentials and queries to your ERP may contain commercially sensitive information (customers, invoices, inventories). We apply encryption at rest and in transit; only the backend decrypts to fulfill your specific query.
6. Data retention and deletion
6.1 Active account
While your account is active, we keep your profile, encrypted credentials, message history and billing history.
6.2 Account deletion FROM the app (recommended)
- Open Aski → Settings → "Delete my account".
- Confirm by typing "DELETE" (or "ELIMINAR" if your app is in Spanish) and enter your current password.
- The deletion is immediate and permanent.
6.3 Account deletion by email (alternative)
If you cannot access the app, send an email to contacto@aski.dev with the subject "Delete account" and include the email registered in Aski. We process the request within a maximum of 30 calendar days.
6.4 What is permanently deleted
- Your chat history with all connections
- Your Odoo credentials (URL, database, user, encrypted API Key)
- The vocabulary the app learned from your queries
- Your FCM token (push notifications) and all active sessions on your devices
- The notifications the administrator has directed to you
- Any personal access tokens you have generated
- The security log tied to your account (snippets of queries the system flagged as evasion attempts)
- The public answer links you have created, which stop opening immediately
- The phone number you had connected to the WhatsApp channel and its verification
6.5 What is retained by legal requirement
- Billing history (subscriptions, credit purchases, transactions) for 5 years, in accordance with Peru's tax regulations (SUNAT).
- Your internal identifier remains associated with an anonymized email of the type "deleted_<id>@aski.local" without your real email or your password — only to preserve the integrity of the billing records.
6.6 Delete individual connections without deleting the account
From Settings → Odoo Connections → delete specific connections without touching your account or the rest of your data.
7. Your rights
Under Peru's Personal Data Protection Law 29733 and the European Union's General Data Protection Regulation (GDPR), you have the right to:
- Access the personal data we hold about you.
- Rectify incorrect data.
- Delete your account and associated data (see section 6).
- Export your chat history in a portable format (request it by email).
- Revoke access to your Odoo by deleting the credential from the app.
- Object to the processing of your data.
To exercise any of these rights, write to contacto@aski.dev. We respond within a maximum of 7 business days.
8. Minors
Aski is designed for business and professional use. It is not directed to children under 13. If we discover that we have collected data from a child under 13 without verifiable parental consent, we delete that data immediately.
9. Changes to this policy
This policy may be updated to reflect changes in the app, in third-party services or in applicable legislation. When we make material changes, we will notify you through a notice within the app before they take effect.
Version history
- 1.0 — Initial version.
- 1.1 — May 15, 2026: Anthropic retention details, GDPR/Peru rights.
- 1.2 — May 30, 2026: Sentry, FCM, POST_NOTIFICATIONS, account deletion flow by email.
- 1.3 — May 30, 2026: Deletion flow FROM the app (Settings → "Delete my account"), SUNAT anonymization.
- 1.4 — May 30, 2026: Third-party independence, data flow to your Odoo instance, trademark acknowledgment.
- 1.5 — June 5, 2026: Section 3.1 on email communications (transactional, onboarding, news) with the right to unsubscribe per category.
- 1.6 — June 19, 2026: Support for SAP connections (S/4HANA via OData and Business One via Service Layer); policy scope extended to SAP, data flow to your SAP instance and acknowledgment of SAP SE trademarks.
- 1.7 — July 25, 2026: Clarification in section 4.1 about what is sent to the AI model (besides your message and the schema, a limited excerpt of your query's records travels too, and it may contain your business data). Change of Merchant of Record for web payments to Lemon Squeezy.
- 1.8 — August 18, 2026: Declaration of the providers that were missing — Vercel (website and web app), Better Stack (technical operations logs), Resend (platform emails), GitHub (daily backups), Firebase Authentication (sign-in with a Google account) and Google Ads (measurement on the marketing site).
- 1.9 — August 22, 2026: Tunnel connection for ERPs not published on the internet — Tailscale as the provider of the link (section 4.14) and Telegram for internal operations alerts (section 4.15), reflected in sections 1.1 and 5.
- 2.0 — August 23, 2026: Public links for sharing one answer (section 4.16): what becomes reachable and to whom, what we store about each link, that we store nothing about whoever opens it, expiry and immediate deactivation, reflected in sections 1.2 and 6.4.
- 2.1 — August 25, 2026: Actions with confirmation on the ERP —what trace is kept of each one, including the exact data sent—; scheduled alerts; emails you send carrying data from your ERP to recipients you choose (section 4.11); home screen widget, with the figures stored on the device itself; sending the open record from the Odoo module; and what a public link can carry today (section 4.16).
- 2.2 — September 2, 2026: WhatsApp channel, declared in advance while it is in preparation (section 4.17): the number you verify with a one-time code, that the content of those messages travels through Meta's infrastructure, the approved templates outside the 24-hour window, the own number a reseller partner may connect with their token encrypted, and disconnection and deletion, with its reflection in sections 1.1, 5 and 6.4.
- 2.3 — September 4, 2026: The WhatsApp channel goes live: what version 2.2 declared in advance (section 4.17) now applies to anyone who connects their number.
10. Third-party independence and trademarks
10.1 Third-party independence
Aski is independently developed by Jhon Jairo Rojas Ortiz (Peru). We are not affiliated with, associated with, authorized by or endorsed by Odoo S.A., SAP SE, OCA, Anthropic PBC, Railway Corp., Google LLC, Functional Software Inc., or any other mentioned entity. The mentions identify products and services that Aski interacts with.
10.2 Data flow to your instance (Odoo or SAP)
The configured Odoo connections send the AI-generated queries from our server directly to the URL of YOUR Odoo instance (the one you specify) via XML-RPC over HTTPS. Odoo S.A. does not participate: your Odoo data never reaches Odoo S.A. servers, except if your instance is hosted on Odoo.sh (your decision as a customer).
In the same way, the SAP connections (S/4HANA via OData or Business One via Service Layer) send the queries directly to the URL of YOUR SAP system, with the service user your IT team configures. SAP SE does not participate: your SAP data never reaches SAP SE servers. Aski operates in read-only mode by default and only accesses what that service user can see; on S/4HANA it never performs any write operation.
10.3 Trademarks
- Odoo® is a registered trademark of Odoo S.A. (Belgium).
- SAP®, SAP S/4HANA® and SAP Business One® are registered trademarks of SAP SE (Germany).
- Anthropic® and Claude® are registered trademarks of Anthropic PBC (United States).
- Google®, Android®, Google Play®, Firebase® are registered trademarks of Google LLC (United States).
- Railway® is a registered trademark of Railway Corp. (United States).
- Sentry® is a registered trademark of Functional Software, Inc. (United States).
- The other trademarks mentioned belong to their respective owners and are used solely in a descriptive manner.
11. Contact
Data controller:
Jhon Jairo Rojas Ortiz
Email: contacto@aski.dev
Country: Peru