Privacy policy
In short: this website sets no cookies, loads nothing from third-party servers and uses no trackers. We only receive data if you write to us or buy something. The browser extension FrontTailor works locally and sends nothing to us – its privacy policy is in section 5.
Sections 1–4 and 6–7 are a translation for convenience; the German version is legally binding. Section 5 is an English translation of the extension’s privacy policy.
1. Controller
CloudDNA GmbH, Untere Hauptstraße 23, 7410 Loipersdorf, Austria
Managing director: Martin Koch · Phone: +43 664 1964199 · E-mail: office@clouddna.at
We are not obliged to appoint a data protection officer. For all data protection questions, you can reach us at the e-mail address above.
2. Visiting the website
When you visit the website, our hosting provider processes technically necessary data (IP address, time, page requested, browser identifier) in server logs in order to deliver the page and protect it against attacks. The legal basis is our legitimate interest in secure operation (Art. 6(1)(f) GDPR). The logs are deleted automatically after a short time.
Hosting: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA. Delivery preferably from the Frankfurt (fra1) region. Where data may reach the USA, we rely on: EU-U.S. Data Privacy Framework (adequacy decision of the European Commission of 10 July 2023) and standard contractual clauses.
3. No cookies, no trackers, videos from our own server
We set no cookies. We access your device only where strictly necessary for a function you have chosen (§ 165(3) TKG 2021, § 25(2) TDDDG). Fonts, scripts, images and videos are on our own server; no content is loaded from video or social media platforms or analytics services. Your browser only loads a video when you click play. Your browser stores the light/dark choice only for the current visit (sessionStorage); it is not transmitted to us.
4. Requests via the form and by e-mail
If you write to us via the form or by e-mail, we process your details (name, company, e-mail, subject of your request, role, environment, message and – if you came via a link with a campaign code – that code from the address bar, so that we know what you are responding to) in order to reply to you and, where applicable, prepare a quote. The legal basis is taking steps prior to entering into a contract (Art. 6(1)(b) GDPR) or our legitimate interest in answering enquiries (point (f)). We create the request as a contact in our CRM (the Tailor-Plattform of CloudDNA) and handle it there; we run the platform with the processors named in the section “Purchases on this website”. In the “Thank you” window after submitting, we display your first name and e-mail address only in your browser – nothing is stored or transmitted to third parties for this. We keep the request until it has been dealt with, and beyond that only where statutory retention obligations apply or a contractual relationship results from it. Please do not send us tokens, cookies, passwords or HAR files with real sessions. We will not send you a newsletter unless you expressly subscribe to one.
Purchases on this website
When you click “Continue to payment”, this website only sends the chosen offer, the quantity, the language and, where applicable, where the click came from (for example “extension”) to the sales platform of CloudDNA GmbH (Tailor platform). The platform uses this to open a payment session with Stripe and sends you there. After payment it creates the invoice and the licence and sends you the licence key by e-mail. We run the platform with these processors: Vercel Inc., USA (hosting, data centre in Frankfurt am Main), Supabase Inc., San Francisco, USA (database, data centre in Frankfurt am Main) and Microsoft Ireland Operations Limited, Dublin, Ireland (e-mail delivery via Microsoft 365). Where data may reach the USA, we rely on the EU-U.S. Data Privacy Framework or on standard contractual clauses.
You enter your payment details directly with Stripe; neither this website nor CloudDNA GmbH sees them. Payments are processed by Stripe Payments Europe, Limited, 1 Grand Canal Street Lower, Dublin 2, Ireland; Stripe is itself the controller for payment processing and fraud prevention (Stripe’s privacy policy: stripe.com/privacy). After payment, Stripe sends us your name, e-mail address, billing address, company, your VAT ID where applicable and the payment status. We use these details for the invoice, the licence, sending the licence key and looking after your subscription.
The browser extension FrontTailor checks the licence key offline in your browser. It sends nothing to us or to the platform for this; there is no licence server.
After payment, the thank-you page checks the status of your purchase and only shows a shortened e-mail address (for example a…@firma.at). No cookies are set for this.
If you cancel via “Cancel contracts here”, this website sends your details (name, e-mail address, contract reference, type and, where applicable, reason for the cancellation, requested end of contract) to the platform. The platform uses them to find your subscription at Stripe, sends you the confirmation of receipt by e-mail and us a copy for processing. About 30 days before a yearly subscription renews, we remind you by e-mail of the renewal and the cancellation deadline; for this we use your e-mail address and the details of your subscription.
The legal bases are the performance of the contract (Art. 6(1)(b) GDPR), our legal obligations, in particular keeping invoices (point c), and our legitimate interest in preventing misuse and enforcing claims (point f). Without the details entered in the checkout we cannot conclude the contract. We keep customer data for the duration of the subscription; invoices and accounting records are kept for seven years (§ 132 Austrian Federal Fiscal Code).
5. Browser extension FrontTailor
This section is the privacy policy of the browser extension FrontTailor (“CloudDNA FrontTailor – Developer Tools for SAP Fiori® and UI5 apps”) for Chrome and Microsoft Edge. It renders the text from the extension’s documentation and is the address given as the privacy policy in the Chrome Web Store. In short: FrontTailor works locally, collects no personal data and transmits nothing to CloudDNA; the AI assistant and the hand-over to a ticket system send only after a preview and your click, to the service you or your employer set up.
1. Controller
CloudDNA GmbH, Untere Hauptstraße 23, 7410 Loipersdorf, Austria Email: office@clouddna.at
2. What this is about
This policy applies to the browser extension "CloudDNA FrontTailor – Developer Tools for SAP Fiori® and UI5 apps" (Community Edition) for Google Chrome and Microsoft Edge. It does not apply to websites or SAP applications that you open with the extension. Their operators are responsible for those.
3. Summary
- FrontTailor works locally in your browser.
- FrontTailor does not collect any personal data and does not transfer any data to CloudDNA.
- The exceptions are the AI assistant, if you set it up yourself (section 8), and the handover to a ticket system such as Jira or ServiceNow (section 7a). Both send the content, which you see in full beforehand, only when you click, and only to the service that you or your employer have set up, never to CloudDNA.
- There is no telemetry, no analytics tools, no advertising and no account.
4. Data the extension processes locally
For its features to work, FrontTailor processes the following on your device:
| Data | Purpose | Storage location | Retention |
|---|---|---|---|
| Characteristics of the page indicating whether SAP UI5 is present (DOM characteristics) | Detecting UI5 applications | in memory only | until the page is closed |
| Address (URL) of the page and its frames, UI5 version, connection status | Assigning the tools to the tab | chrome.storage.session | until the browser is closed |
| Error messages from the UI5 log and failed requests (scheme, host and path only, without parameters) | Error indicator on the icon | chrome.storage.session | until the browser is closed or until the page is reloaded |
| Host profiles you create (host name, name, colour, PROD flag), theme setting | Your settings | chrome.storage.local | until you delete them or remove the extension |
| Information from the UI5 application (e.g. version, app ID, data sources, controls, models) | Display in the DevTools panel, side panel and popup | in memory only | as long as the view is open |
| OData requests of the app on approved domains (URL including parameters, headers without cookies, tokens and credentials, bodies up to 1 MB, status, timing) | OData console: display, error analysis, export, replay | the extension's IndexedDB, local only | until "Clear", until the page is reloaded (except with "Keep log"), until the tab is closed or until the browser is restarted; at most 2,000 requests or 50 MB per tab |
| Launchpad view: tiles, intents, target mappings, spaces, catalogs, plugins, system profile; the FLP user only in masked form (initials and domain of the email address) | Launchpad Inspector: display and export | in memory only | as long as the view is open |
| Recording from the shared recording bar (Issues, Health, Scaffolding): type of action, control ID, view-local ID, control type, binding path, displayed i18n text, hash and route without parameters, time offset; at most 200 steps and 10 minutes. Entered text and search terms only with your approval for this recording, then masked with the Issue Reporter's PII rules (including the mandatory rules of the policy) | Steps of a bug report, journey test, synthetic check | in the panel's memory; only if you choose "Save", under a name in chrome.storage.local (per origin, at most 20); as a JSON file only if you export | until the view is closed or until you delete the saved recording; can be switched off by policy (modules.recorder) |
| Results of the synthetic check (status and load time per step) | Health & Monitoring | in the panel's memory only | until the view is closed |
| Licence key you enter, together with a pending renewal (licensee, customer, edition, service period, validity, number of users, licensed SAP systems, launchpad users only as SHA-256 hash or domain, licence ID, signature) | Unlocking the Pro, Team or Enterprise modules; the check runs offline, the key is not sent anywhere | chrome.storage.local | until you remove the licence or remove the extension |
| User signed in to the launchpad per SAP system: only the SHA-256 hash of the email address and its domain, never the address itself (at most 50 systems) | Checking whether a user-bound licence applies to you | chrome.storage.local | until you remove the licence or remove the extension |
| Start of the trial period (time of installation) | 7-day trial period with all modules | chrome.storage.local | until you remove the extension |
| OData console settings (pause, "Keep log" per tab; domains on which you have switched off recording) | Your settings | chrome.storage.session or chrome.storage.local | until the browser is closed or until you change them |
| Saved filters of the OData console (name, status, service, search text, method; default filter per origin of the page) | Your filter variants | chrome.storage.local | until you delete them or remove the extension |
Replay collections of the OData console: requests you save (name, collection, method, service path, URL, headers and body). Before saving, FrontTailor removes Authorization, cookies, CSRF tokens, headers with credentials in the body and secret URL parameters. The body may contain business data or personal data from your SAP system. | Re-running requests, exporting as a file | chrome.storage.local; an export as a file in your Downloads folder | until you delete them or remove the extension |
"Open in editor": selected editor and your path mapping namespace → local folder (at most 30). Local folder paths may contain your user name. Never in chrome.storage.sync, never in exports or team packages | Links to your editor | chrome.storage.local | until you change them or remove the extension |
| Command palette favourites and the 10 most recently run commands (command ID, time) | Order of the palette | chrome.storage.local | until you change them or remove the extension |
Known errors that you save or adopt via Team Sync: patterns (message class and number, HTTP status, gateway code, text and console patterns, app ID, service, entity set, authorisation object), title, solution, links, ticket, ticket template, responsibility, "last confirmed" date (knowledge.entries.v1, at most 1,000). A pattern containing personal data (a match of the masking rules of "Report a problem", the built-in rules always) is not saved; pre-filled patterns are already masked. In addition, per entry, the number of matches and the "last seen" time (knowledge.hits.v1). Matching runs only in the panel; nothing runs in the page for this | Showing the solution next to the error, export as a JSON file | chrome.storage.local; an export as a file in your Downloads folder | until you delete them or remove the extension; can be switched off by policy (modules.knowledge) |
UI5 version override: tab, host, selected version, source and target path of the redirect; host permissions requested only for the override (e.g. https://ui5.sap.com/*) | Redirecting the UI5 resources in the tab, returning the permission later | chrome.storage.session or chrome.storage.local | until it is switched off, the tab is closed or the browser is restarted; the list of permissions until they are returned |
| Local code: mappings per system host (app ID, resource root on the system, address of the dev server, exceptions), confirmed dev hosts; active redirect per tab with rule IDs | Redirecting a tab's app resources to your own dev server | Mappings and dev hosts in chrome.storage.local, active redirect in chrome.storage.session | Mappings until deleted in the "Local code" tab; active redirect until it is switched off, the tab is closed or the browser is restarted |
| Performance measurements you start (origin and path of the page without query string, load and render times, number and size of requests, addresses of the largest and slowest resources without query string, names of entity sets, app IDs; for the deep profile via the Profiler Companion, function names and script addresses without query string with CPU time, as well as number and size of requests per type) | Performance report, comparison, export, budget history | chrome.storage.local | per app the last 10 measurements and one per older app version (at most 60 per origin, 100 in total), until you delete them or remove the extension |
| Performance budgets per app (app ID, thresholds, your note) | Checking every measurement, export/import as JSON, sharing via Team Sync | chrome.storage.local | until you reset the budget or remove the extension |
UI5 2.0 readiness check: per origin and app (sap.app/id or page path) one summary per run with time, UI5 version and, per finding, only rule, category, severity and count – no file paths, control IDs or app data | Comparison with the previous run in the migration report | chrome.storage.local | the last 10 runs per app (at most 50 origins), until you remove the extension |
Library analysis, only after you click "Analyse": per tab, the latest analysis per app with time, page address without query string and fragment, UI5 version, names and versions of the libraries, findings with class names and up to five control IDs and view names per class, per library a network summary from Resource Timing (type, count, hosts, size and duration of the UI5 requests, up to five module paths under resources/, without query string) – no app data. From the moment the tab is opened, the page itself holds the addresses and times of its UI5 requests in memory (at most 3,000) until the page reloads | Export across all apps of the session (Pro) | chrome.storage.session | at most 30 analyses per tab and 5 tabs, until the tab is closed or the browser is restarted; can be switched off by policy (modules.libraries) |
| "Report a problem": click trail of the last 20 actions per tab (control type, control ID, type of action such as click, change or navigation, time, route without parameters); never entered values | Context for a bug report | chrome.storage.session | until "Clear click trail", until the tab is closed or until the browser is restarted; can be switched off in the panel and by policy (modules.issues) |
| "Report a problem": screenshot of the visible tab area including annotations, title and description of the report | Bug report | in memory only | until you discard the report, close the view or a new report is started |
| Settings of "Report a problem" (masking rules including name list and custom patterns, target, templates, GitHub repository, email recipients, selected sections) | Your settings | chrome.storage.local | until you change them or remove the extension |
| Ticket targets you create (name, system, base URL, project, issue type, labels, field mapping, mode, sign-in method; without token or password), last selected ticket target | Your settings | chrome.storage.local | until you change them or remove the extension |
| Token, password and user for a ticket system, only if you choose "Remember while FrontTailor is active" | Signing in to the ticket system without entering them again | only in the memory of the extension's service worker, in none of the extension's storage areas | until "Forget", until the ticket system rejects the token, until you remove the target or until Chrome terminates the service worker (after a short period of inactivity or when the browser restarts) |
| AI assistant: provider, endpoint, model, deployment, resource group (without key) | Your settings | chrome.storage.local | until you change them or remove the extension |
| AI assistant: API key or client ID and client secret | Signing in to the AI provider | with "Save on this device" (default): encrypted (AES-GCM) in chrome.storage.local, the decryption key in the extension's IndexedDB, both in the browser profile of this device; without the tick, or if your employer prohibits it by policy: only in the service worker's memory. Never in chrome.storage.sync (no synchronisation via your Google account), never in exports, team packages or bug reports | saved: until "Forget key" or until you remove the extension; in memory only: until the service worker is terminated (after a short period of inactivity) |
| AI assistant: time the key was saved and last used | "Last used" display | chrome.storage.local, next to the encrypted key | same as the key |
| AI assistant: for SAP AI Core, the access token | Signing in to the AI provider | only in the service worker's memory, never stored | until it expires, "Forget key" or until the service worker is terminated |
| AI assistant: conversation history, context chips, preview | Display in the panel | in memory only | until "New conversation" or until the panel is closed; a preview for at most 15 minutes |
| Team Sync: subscribed package URLs (without credentials), the most recently fetched or imported team package, which entries come from which package, rejected changes, the team library; OData filters, replay requests (without credentials), palette favourites and known errors from a package end up with your saved filters, replay collections, favourites and known errors, performance budgets with the profiler's budgets, snippets in the snippet library, PII rules with the masking rules of "Report a problem" | Shared settings of your team | chrome.storage.local | until you remove the source or remove the extension |
System comparison, snapshots you take: app ID, title, app, component and UI5 version, loaded libraries, theme, language, cache buster tokens (paths without query string), flex changes as a count and change ID (without content), per OData service the URI, SHA-256 hash and structure of the $metadata (types, properties, navigations; without labels), extract of the manifest.json, launchpad intent with parameter names (without values) and target mapping, page path without query string, host with host profile and PROD flag; no business data, users or credentials | Comparing two systems, export as Markdown or JSON | chrome.storage.local | at most 10 per app and host (100 in total), until you delete them or remove the extension |
| Release check after transport, runs you start: app ID, title, expected version and its source, per system the host with host profile and PROD flag, delivered version, result (traffic light) per check with versions, timestamps and paths without query string, next steps, times; no response texts, business data, users or credentials | History and export as Markdown or CSV | chrome.storage.local | at most 10 runs per app (50 apps in total), until you delete them or remove the extension |
| Backend service: per SAP host only the "Use backend service" switch and an alternative service path | Your setting | chrome.storage.local | until you switch it off or remove the extension |
| Backend service: responses from the SAP system (your user name, client, system, names of your PFCG roles; in the "Roles" tab also roles, catalogs, spaces and intents of another user whom you enter; result of the start authorisation) | Display in the "Roles" tab, tile check chain, session tile | the panel's memory; the state of the service for at most 5 minutes in the service worker's memory; the CSRF token only in the service worker's memory | until the view is closed or until the service worker is terminated |
| App state bookmarks that you create with "Remember state": name, origin of the system, path with hash without sensitive URL parameters, app ID and title, filter values and variant, selected tab or section, optionally the last recorded steps (values already masked in the recorder) | Restoring the state; masked display with your PII rules | chrome.storage.local (bookmarks.v1), never in sync | until you delete the bookmark or remove the extension; in a team package that you export, only in masked form |
| Fiori design guidelines check: floorplan, score and findings with control IDs, control types and texts of the app (e.g. button texts, page titles) | "Fiori Guidelines" tab: display, export | only in the memory of the page and the panel | until the page is reloaded or until the view is closed |
| Fault simulation: your rules (service, entity set, method, effect, error text, custom JSON) and their hit count | "Fault simulation" tab, responses in the page | chrome.storage.session, per tab; in the page only the marker fioritailor.faults.active=1 in sessionStorage | until the tab or the browser is closed; the marker until it is switched off |
| i18n and accessibility check: findings with control IDs, control types, texts and keys of the app, colour values and the language files you have loaded | "Quality" tab: display, export | only in the memory of the page and the panel | until the page is reloaded or until the view is closed |
| Jump to the backend and SAP incident: transaction ID, time, correlation ID, SAP user, client and error text of the failed request; application component of the app; incident text with your input (masked) | Links into the SAP system, search values, incident text | only in the panel's memory; clipboard or download only when you click | until the view is closed |
| Morning check, checklists: name, launchpad URL, apps as intent or URL (without user and password), optionally the click steps of a saved recording (control IDs and types, hash), thresholds and reminder time | Morning check when you click, Team Sync section "Morning check lists" | chrome.storage.local | until you delete the list or remove the extension; at most 20 lists with 30 apps each |
| Morning check, results per run: per app the URL, HTTP status, start time, UI5 version, host profile and PROD flag, up to 5 messages from the UI5 log (may contain texts of the app) and up to 10 failed requests as method, address without query string and status, result of the steps | Report with traffic light and comparison with the last run; export as Markdown, CSV or HTML and handover to "Report a problem", in each case masked with the PII rules of "Report a problem" | chrome.storage.local | the last 7 runs per list; deleted together with the list |
| Book recommendations: the "Show book recommendations" switch and which book hints you have closed (book codes only, no clicks) | Your setting | chrome.storage.local | until you change it or remove the extension |
| Your employer's policies (e.g. allowed hosts) | Company settings | chrome.storage.managed, set by the administrator | as specified by the administrator |
The extension does not store passwords, tokens or session cookies. The only exception is your own key for the AI assistant, if you leave "Save on this device" switched on (section 8). It holds a token for a ticket system only at your request in its service worker's memory and does not write it to any storage; after a short period of inactivity it is forgotten. Query parameters and bodies of requests are stored only by the OData console, locally and without parameters containing credentials (e.g. sap-password); requests that you save in a replay collection remain permanently until you delete them. Requests may contain personal data from your SAP system; they leave your computer only if you yourself save or pass on an export. Content that you actively copy (e.g. "Copy as Markdown") ends up in your clipboard and is not passed on by FrontTailor.
Report a problem. A bug report is created only when you click (popup, command palette, Alt+Shift+R or panel). Before it leaves the panel, FrontTailor masks email addresses, phone numbers, IBANs, long digit sequences, names from your list and custom patterns in all text fields; your employer can make rules mandatory. The preview shows the full text with all masked passages, the screenshot and the target. You see the screenshot before sending; you can pixelate areas containing data (the exported image contains only the blocks). The screenshot itself is not masked automatically. The URL in the report contains no parameters with credentials (e.g. sap-password, MYSAPSSO2, token).
As no data is transferred to CloudDNA (not even with the AI assistant), CloudDNA itself does not process any personal data via the extension. The local processing serves solely the feature you use. Where personal data is involved, you process it yourself in your browser. We do not receive this data and are therefore neither a recipient nor a processor.
5. Access to websites
- A small script only checks on every page whether SAP UI5 characteristics are present. It does not read any content and does not send anything.
- FrontTailor accesses a UI5 application only after you have explicitly approved the domain. You can revoke approvals at any time under
chrome://extensionsoredge://extensions. - Your employer can specify by policy on which hosts FrontTailor may be active.
- On approved domains, a script records the app's OData requests from the start of the page (OData console). You can switch this off per domain in the panel; your employer can disable it by policy (
modules.odata). - The performance profiler measures only when you click "Start measurement", and reloads the page only if you select that. It reads times and sizes from the browser's Performance interface and from UI5; it does not send any requests and transfers nothing. Export (Markdown, print view) happens only when you click and only locally.
- "Report a problem" takes a screenshot of only the visible area of the active tab, and only after your action (click on the FrontTailor icon or
Alt+Shift+R); only then does Chrome grant access (activeTab). The click trail is created in approved UI5 applications as long as "Record click trail" is switched on. A recording of the recording bar runs only after you have chosen "Record" (or the palette command), and ends with "Stop", after 10 minutes or after 200 steps. The extension does not send it anywhere; it leaves the panel only as a file that you export, or as part of a report that you check in the preview and send yourself. - The deployment check (Tools) fetches, when you click, the app's
manifest.json, thesap-ui-cachebuster-info.jsonand thesap-ui-version.jsonfresh from the same server that the page comes from. The responses are only displayed and not stored; the browser cache remains untouched. - The authorisation diagnosis evaluates the error responses that the OData console records anyway. The tile check queries, when you click, the page's launchpad services as the signed-in user; if the app being checked is not running, it reads its
manifest.jsononce from the same server. User IDs appear only in masked form (e.g.D********1), including in copied or downloaded Markdown texts. - The system comparison ("Comparison" tab) takes a snapshot only when you click. In doing so, it fetches the
$metadataof each OData service of the app once from the same server that the page comes from; it does not query other servers. The text is only hashed and summarised, not stored. It takes a snapshot of another system only in a tab of that system: when you click ("Get snapshot from <Profil>"), it uses an open tab or opens the same app page there; without your approval of the domain, nothing happens. No systems are queried in the background. - The release check ("Release" tab, Enterprise Edition) queries systems only when you click "Check release", and only those systems of your host profiles that you tick. For each system, it loads, in the tab of that system (an open tab or a new tab in the background, only after you have approved the domain),
manifest.json,Component-preload.js,sap-ui-cachebuster-info.jsonand, on ABAP systems, the UI5 app index (/sap/bc/ui2/app_index) from the same server, without cache and with your existing sign-in. Only versions, timestamps, paths and traffic lights are stored, not the response texts. The check only reads; it does not start any reports and does not clear any caches. - The backend service ("Roles" tab, Enterprise Edition) queries the optional FrontTailor add-on in your SAP system only after you have switched on "Use backend service" for this host. The requests go only to the page's server, with your existing sign-in; the service only reads.
- It reads your user name, client, system and the names of your roles and, when you click, also catalogs, spaces, intents and start authorisations.
- If you enter another user, the system returns that user's roles and catalogs only if you are authorised to do so (role
/CDNA/FT_SIM). The SAP system logs every such check in the application log (SLG1) with your user, the user checked and the time; the panel points this out beforehand. Your employer, as the operator of the SAP system, is responsible for this log. - FrontTailor does not store the responses and does not pass them on. Other users' user names appear only in the panel.
- The fault simulation ("Fault simulation" tab) answers matching OData requests in the browser itself; simulated responses and your rules do not leave the browser. Simulated changes in a
$batchdo not reach the server. - The Fiori design guidelines check ("Fiori Guidelines" tab) runs only when you click (or use the palette command) and reads only what the app is currently displaying. It does not make any request; the links to the guidelines (
experience.sap.com,www.sap.com) open in a new tab only when you click. Exports (CSV, Markdown) are created locally. - The i18n and accessibility check ("Quality" tab) runs only when you click and reads only what the app has already loaded. Only "Load translations" requests the app's German and English language files, via the app itself and only from the same server as the page; it does not request files from other servers (e.g. libraries from the SAP CDN). Exports (CSV, Markdown) are created only locally.
- The morning check ("Morning check" tab, Enterprise Edition) opens the apps of a checklist only when you click "Start check", one after the other in an inactive tab (or a separate window), and closes each tab again. The apps load as they would when called normally, with your existing sign-in, from their own servers; FrontTailor itself sends nothing to these or any other servers. For systems without approval, the browser asks for access in the same click; without approval, the app remains unchecked. The check repeats recorded steps (clicks) only on systems without a PROD flag. There is no monitoring in the background: the optional daily reminder only shows a badge on the FrontTailor icon and does not start anything.
- "Replay" in the OData console sends a request again to the same system, but only after a preview and your click, and never on systems with a PROD flag.
- The "API Reference" links in the Control Inspector open the UI5 documentation (
ui5.sap.comorsdk.openui5.org) in a new tab only when you click. Beforehand, FrontTailor checks with the same server whether documentation for your app's UI5 version exists there (fetching<Version>/index.htmlwithout cookies and, if necessary, the public version listversion.json). Only the version number is transferred; as with any page request, SAP receives your IP address and the browser identifier. The "Fiori Design Guidelines" link only opens a page onwww.sap.com, without any data from your app. - "Save as variable" (Inspector) stores references to controls, binding contexts or models only in the open page (
$ft0…). FrontTailor does not store them and transfers nothing; when the page is reloaded, they are gone. - "Language" (Tools) reloads the app, when you click, with the URL parameter
sap-ui-languageor switches the language in the running app. The app then loads its texts in this language from its own server; FrontTailor itself sends nothing. - "Debug own code only" and the URL templates (Tools) reload the page with URL parameters only when you click (e.g.
sap-ui-debug,sap-ui-theme,sap-client). The app then loads its files from its own server; FrontTailor itself sends nothing. - "Open in editor" (Inspector, Tools) reads, when you click, the app's view and fragment files from the same server that the page comes from (without cache, at most 512 KB) in order to find the control's line. It does not query other servers, and nothing is stored. The link to your editor (
vscode://…,idea://…) leaves the browser only after your click and the browser's confirmation prompt; it contains only the local file path and the line. - The "UI5 version override" (Tools) loads the app's UI5 files in a tab from the official SAP CDN (
ui5.sap.comorsdk.openui5.org) instead of from the previous server. It becomes active only when you click, after a preview of which addresses are redirected where, and never on systems with a PROD flag. While it is active, your browser fetches these files directly from SAP; as with any fetch from a website, SAP receives your IP address, the browser identifier and usually the origin of the page. The contents of your application are not transferred. When you click, FrontTailor can also fetch the public version list (https://ui5.sap.com/version.jsonorhttps://sdk.openui5.org/version.json); the address is shown beforehand next to the button. - "Local code" loads an app's files in a tab from your own dev server (
localhostor a host you have confirmed, such as your BAS dev space) instead of from the system. It becomes active only when you click, after a preview of which addresses are redirected where, never on systems with a PROD flag, and a banner in the page indicates that it is active. "Check dev server" fetches<Ziel>manifest.jsonwhen you click, without cookies. No data goes to third parties.
- Team Sync ("Team" tab) fetches a team package from an address that you enter yourself or that your employer specifies by policy, for example a Git server or SharePoint of your company.
- Addresses that you enter yourself are fetched only when you click; specified addresses are additionally fetched according to the policy's schedule.
- Only a fetch (
GET) of this file is sent. As with any page request, your browser also sends your IP address, the browser identifier and your sign-in cookies for exactly this server. - Contents of your SAP applications are not transferred.
- A package is adopted only after a preview and your click.
- Exports create a file or a text in the clipboard. They are passed on only if you do so yourself. They contain no credentials.
6. Permissions
The extension's permissions and their purpose are explained individually in the store description (storage, scripting, activeTab, sidePanel, webRequest, alarms for the scheduled fetch of specified team packages and the morning check reminder, declarativeNetRequestWithHostAccess, optionally browsingData, host access after approval). declarativeNetRequestWithHostAccess allows requests to be redirected for the UI5 version override and for "Local code". Chrome does not show a warning for this during installation; the permission only affects domains that you have approved, and only after you have switched on the override. FrontTailor does not request the debugger permission.
Profiler Companion. The CPU deep profile of the performance profiler requires the separate, free extension "FrontTailor Profiler Companion". It has only the debugger permission, no access to websites and no user interface of its own.
- It acts only when you start a deep profile in FrontTailor, and only for the tab that FrontTailor names. FrontTailor does not start the deep profile on PROD systems.
- During the measurement, Chrome shows the bar "FrontTailor Profiler Companion started debugging this browser". Afterwards, on errors and after 90 seconds at the latest, the Companion disconnects.
- It does not store anything. The summarised result (CPU time per function and script address without query string, number and size of requests per type) goes only to FrontTailor in your browser and is stored there like any performance measurement (section 5). It sends nothing to CloudDNA or third parties.
- It accepts messages only from FrontTailor, not from other extensions or websites.
7. Disclosure to third parties
No disclosure takes place, except to the AI provider if you use the AI assistant (section 8), and to the ticket system if you send a report as a ticket (section 7a). The extension does not load any code from external servers; team packages are data (settings), not code. Exception on your explicit instruction: with the UI5 version override, the page loads its UI5 files from the SAP CDN (see section 5). This is the code that the page runs anyway, only in the version you have chosen; the extension itself does not run it. The same applies to "Local code": the page loads your app's code from your own dev server.
Team Sync fetches a team package only from the server that you enter yourself or that your employer specifies by policy, and adopts it only after a preview and your click (section 5). Exports go only to your clipboard or as a file to your Downloads folder.
"Report a problem" hands over a report only after a preview and your click, namely to your clipboard, to your email program (mailto:), as a file to your Downloads folder or to a new browser tab with a pre-filled GitHub issue (https://github.com/<Repository>/issues/new?title=…&body=…). In the last case, your browser calls up GitHub; the title and shortened text are contained in the address and go to GitHub as soon as the page loads. Nothing is sent or saved until you do so yourself in the email program or on GitHub; the terms of the respective service apply to this. Your employer can restrict the targets by policy (issueReporter.targets).
The book recommendations are plain links to the books' pages at Rheinwerk Verlag (https://www.rheinwerk-verlag.de/…), without tracking or affiliate parameters. The covers are part of the extension; nothing is loaded when they are shown. Only your click on "View at the publisher" or a palette command opens the page in a new tab. FrontTailor does not count or report these clicks. The publisher's privacy policy applies to its page. Your employer can hide the recommendations by policy (bookRecommendations: false).
The jump to the backend does not make any request. It shows links into SAP GUI for HTML of the same SAP system, which your browser opens only when you click, with your existing sign-in; the transaction and, where applicable, the client and your SAP user are contained in the address. "Prepare SAP incident" sends nothing to SAP. The text is masked and leaves the panel only via the clipboard or a download. "Search the SAP knowledge base" copies the masked search term to the clipboard and opens the SAP for Me search (https://me.sap.com/knowledge/search/) without parameters; only when you paste the term there does it go to SAP.
7a. Ticket systems
"Report a problem" and the authorisation diagnosis can hand over a report as a ticket to Jira, GitHub, GitLab, Azure DevOps or ServiceNow. You set up the ticket system yourself, or your employer specifies it by policy (ticketTargets).
- What is transferred: exactly what the preview shows: title, masked report (steps, environment, OData errors, click trail, system fact sheet), for findings of the authorisation diagnosis the missing authorisation object, service and request, and the screenshot only if you have included it in the report. The preview lists attachments with name and size. Before sending, the same masking rules apply as for "Report a problem".
- When: only after the preview and your click on "Send" or "Create ticket". Nothing is sent in the background or automatically.
- How and where to:
- *Form (default):* FrontTailor opens the creation page of your ticket system in a new tab; the title and text are contained in the address and go to the ticket system as soon as the page loads. The ticket is only created when you save it there yourself. FrontTailor itself does not send anything in doing so.
- *API:* The extension's service worker sends the requests shown in the preview directly to the address of your ticket system, with the token or password that you enter for this purpose. Your browser also sends your IP address and the extension's identifier (origin) and, with the "Browser session" sign-in method, also your sign-in cookies for exactly this system. With token and password sign-in, no cookies are sent.
- For the API route, FrontTailor requests a host permission for the ticket system the first time you send. You can revoke it under
chrome://extensions. - Storage: The terms of your ticket system or your employer apply to the created ticket. FrontTailor only remembers your targets, without secrets (section 4); it shows the link to the ticket but does not store it.
- Companies can specify targets, restrict the allowed hosts (
allowedTicketHosts), disable the target (issueReporter.targets) or disable the entire module (modules.issues).
Note: Installation and updates take place via the Chrome Web Store (Google) or Microsoft Edge Add-ons (Microsoft), or via your company's IT. Their privacy policies apply in this respect.
8. AI assistant
The AI assistant remains switched off until you yourself enter a provider and your own access credentials ("Bring Your Own Key"). You can choose from Anthropic, Microsoft Azure OpenAI, SAP AI Core (Generative AI Hub), Google Gemini, Mistral AI or an OpenAI-compatible endpoint, e.g. a local model (Ollama) or a gateway of your company.
- What is transferred: only what the preview shows. That is the system prompt, the context chips that you have not removed, earlier messages in the conversation and your question. Depending on the action, context chips may contain:
- UI5 version and app fact sheet
- the selected control with its bindings and values, its library and the link to the corresponding page of the Fiori Design Guidelines
- for the Fiori guidelines check, the selected finding (control type and ID, texts such as button labels) or, for "Check floorplan", the floorplan, score and findings per rule with up to three example controls and the manual checklist
- when planning the language test, the app's language settings (current and logon language, supported languages per app, page address without query string and fragment) and the number of i18n findings from the last quality check
- failed OData requests including error text and extracts from request and response bodies
- an extract from
$metadataand the manifest - error messages from the UI5 log
- for code analysis, the app's source files (manifest,
Component.js, views, controllers, fragments; only from the same origin as the app, at most 20 files) – each file as a separate chip with its size, which you can remove - FrontTailor reports (profiler, UI5 2.0, quality check, system comparison, library analysis with manifest suggestion and network summary), generated test code, recorded steps, the structure of mock data (no values), authorisation and role results (without user names for the role simulator) or the text of a ticket – never a screenshot
Which data an entry point sends is shown in the "What the AI can do" overview in the "AI" tab and in the banner above the question. This content may contain personal data from your SAP system.
- Masking: Before sending, FrontTailor masks using the same rules as the Issue Reporter: email addresses, phone numbers, IBANs, digit sequences of eight or more digits, your own names and patterns, and your employer's mandatory rules; these are replaced by placeholders such as
[EMAIL]. Masking is enabled by default. It can be switched off per request, unless your employer requires it; mandatory rules always apply. It does not recognise every type of personal data; check the preview. - When: only after the preview and your click on "Send". There is no automatic sending and no sending in the background. The response is only displayed and is never applied automatically.
- Where to: directly from your browser to the endpoint that you have entered (or that your employer specifies). With SAP AI Core, a token request with client ID and client secret is first sent to the token URL of your service key. The provider also receives your IP address and the extension's identifier (origin). CloudDNA receives nothing.
- Responsibility: Processing by the AI provider is subject to its terms and your contract with it, e.g. regarding the retention period and use for training. We do not receive this data and are therefore neither a recipient nor a processor. Whether the data reaches a country outside the EU depends on the provider and endpoint that you or your employer choose.
- Your key: With "Save on this device" (default), it is stored encrypted in the browser profile of this device (
chrome.storage.local, AES-GCM). This protects against accidental disclosure, for example if someone reads out the extension's storage, but not against someone with access to the entire browser profile: the decryption key is stored in the same profile. It is not synchronised via your Google or Microsoft account and goes only to the provider that you have entered. "Forget key" deletes it immediately. Without the tick, it remains only in memory and is gone after a short period of inactivity. - Access: FrontTailor requests a host permission for the endpoint when you save the settings. You can revoke it under
chrome://extensions. - Companies can disable the assistant by policy (
modules.ai), specify the provider and endpoint, enforce masking and prohibit the storing of keys (ai.persistKeys: false; stored keys are then deleted).
Further features that would themselves transfer data (e.g. anonymous telemetry) are planned for later versions. The handover to ticket systems is described in section 7a. These too will only become active with your explicit consent, will show the content before each transmission and can be disabled by company policy. This policy will be updated before they are introduced.
9. Your rights
Under the GDPR, you have the right of access, rectification, erasure, restriction of processing, data portability and objection, as well as the right to lodge a complaint with a supervisory authority (in Austria: the Data Protection Authority (Datenschutzbehörde), https://www.dsb.gv.at). As CloudDNA does not receive any data via the extension, CloudDNA does not hold any data. For data that you have sent to a provider via the AI assistant, contact that provider. You can delete local data by deleting the profiles in the extension or by removing the extension.
10. Changes
Last updated: 10 November 2026. Changes are published on this page and in the extension's changelog.
6. Advertising
We send advertising e-mails or make advertising calls only with your prior consent (§ 174 TKG 2021).
7. Your rights
You have the right of access, rectification, erasure, restriction of processing, data portability and objection. To exercise them, write to office@clouddna.at. You can lodge a complaint with the Austrian Data Protection Authority (Datenschutzbehörde, Barichgasse 40–42, 1030 Vienna, www.dsb.gv.at) or with a supervisory authority in your country.
Last updated: 10 November 2026