Fix privacy fallbacks and mobile safe-area test (#204)

Restore a green `master` baseline before processing the Dependabot
queue.

This PR:
- replaces the accidental Danish privacy-policy fallback in German,
Norwegian, and Swedish catalogs with an explicit English fallback;
- keeps the generated locale catalogs synchronized and preserves the
glossary de-duplication from #203;
- updates the mobile safe-area E2E setup from `/login` to public
`/guest/home`, which renders the header geometry the test asserts.

Verification on the final rebased tree:
- i18n compile/check and all catalog audits
- focused Vitest: 5/5
- Chromium mobile Playwright: 13/13
- Prettier, ESLint, encoding, and `git diff --check`

WebKit remains covered by GitHub CI because the local host lacks its
required runtime libraries.

---------

Co-authored-by: Jeppe Bundgaard <jb@truckwash.dk>
This commit is contained in:
Jeppe B
2026-07-20 19:28:32 +00:00
committed by GitHub
co-authored by Jeppe Bundgaard
parent eeec725f08
commit 6dc27a355f
7 changed files with 295 additions and 295 deletions
+49 -49
View File
@@ -5293,61 +5293,61 @@
"wash_type": "Tvättyp"
},
"privacy_policy": {
"changes_body": "Vi kan opdatere denne politik, når tjenesten, leverandørerne eller lovkrav ændres. Den aktuelle version og dato offentliggøres her.",
"changes_title": "11. Ændringer",
"contact_body": "Kontakt os om privatliv, rettigheder eller kontosletning på",
"contact_title": "12. Kontakt",
"controller_intro": "Truck Wash ApS er dataansvarlig for behandlingen i Truck Wash kundeportal og app.",
"controller_title": "1. Dataansvarlig",
"changes_body": "We may update this policy when the service, providers, or legal requirements change. The current version and date are published here.",
"changes_title": "11. Changes",
"contact_body": "Contact us about privacy, rights, or account deletion at",
"contact_title": "12. Contact",
"controller_intro": "Truck Wash ApS is the data controller for processing in the Truck Wash customer portal and app.",
"controller_title": "1. Data controller",
"data": {
"account": "Konto- og kontaktoplysninger, herunder navn, virksomhed, adresse, e-mail, telefonnummer, kundenummer, brugernavn og sikkerhedsoplysninger.",
"content": "Indhold, du indsender, herunder supportbeskeder, billeder, bilag og oplysninger i fejlrapporter.",
"service": "Køretøjer og registreringsnumre, bookinger, vaskehistorik, ordrer, fakturaer, abonnementer samt betalings- og transaktionsstatus.",
"technical": "Session-, enheds-, browser-, netværks-, sikkerheds- og diagnostikoplysninger, når de er nødvendige for drift, fejlfinding og beskyttelse mod misbrug."
"account": "Account and contact information, including name, company, address, email, phone number, customer number, username, and security information.",
"content": "Content you submit, including support messages, photos, attachments, and information included in error reports.",
"service": "Vehicles and registration plates, bookings, wash history, orders, invoices, subscriptions, and payment or transaction status.",
"technical": "Session, device, browser, network, security, and diagnostic information when needed to operate, troubleshoot, and protect the service."
},
"data_intro": "Afhængigt af de funktioner og den adgang, du bruger, behandler vi:",
"data_title": "3. Oplysninger vi behandler",
"deletion_body": "Når du er logget ind, kan du starte kontosletning under Profil → Slet konto. Din identitet bekræftes med adgangskode og eventuel totrinsbekræftelse. Når anmodningen accepteres, spærres din adgang og aktive sessioner straks, og personlige profiloplysninger slettes eller anonymiseres gennem vores sletteproces.",
"deletion_retained": "Fakturaer, betalingsdokumentation, ordrer, tilknyttet vaskehistorik og begrænsede sikkerheds- eller revisionslogs kan bevares i den periode, som regnskabs-, sikkerheds- eller andre lovkrav kræver. De bruges ikke til markedsføring efter sletteanmodningen.",
"deletion_title": "7. Kontosletning",
"meta_description": "Privatlivspolitik for Truck Wash kundeportal og iOS-app.",
"permissions": "Kameraet bruges kun, når du vælger at scanne QR-koder eller registreringsnumre. Placering bruges, mens appen er åben, til at finde eller bekræfte den nærmeste Truck Wash-afdeling. Adgang kan afvises i enhedens indstillinger.",
"data_intro": "Depending on the features and access you use, we process:",
"data_title": "3. Information we process",
"deletion_body": "When signed in, you can start account deletion under ProfileDelete account. Your identity is confirmed using your password and two-factor authentication when enabled. Once accepted, access and active sessions are revoked immediately, and personal profile information is deleted or anonymized through our deletion process.",
"deletion_retained": "Invoices, payment documentation, orders, connected wash history, and limited security or audit logs may be retained for the period required by accounting, security, or other applicable laws. They are not used for marketing after the deletion request.",
"deletion_title": "7. Account deletion",
"meta_description": "Privacy policy for the Truck Wash customer portal and iOS app.",
"permissions": "The camera is used only when you choose to scan QR codes or registration plates. Location is used while the app is open to find or confirm the nearest Truck Wash department. Access can be denied in the device settings.",
"processors": {
"economic": "e-conomic til kunde-, ordre-, faktura- og regnskabsbehandling.",
"hosting": "Drifts-, hosting-, kommunikations- og sikkerhedsleverandører, som behandler oplysninger på vores vegne.",
"microsoft": "Microsoft, hvis du frivilligt forbinder Microsoft-kalender eller -login.",
"recaptcha": "Google reCAPTCHA, når risikovurdering eller beskyttelse mod automatiseret misbrug aktiveres.",
"stripe": "Stripe, når en afdeling eller betaling bruger Stripe til betalingsbehandling."
"economic": "e-conomic for customer, order, invoice, and accounting processing.",
"hosting": "Operations, hosting, communications, and security providers that process information on our behalf.",
"microsoft": "Microsoft when you voluntarily connect Microsoft calendar or sign-in.",
"recaptcha": "Google reCAPTCHA when risk assessment or protection against automated abuse is activated.",
"stripe": "Stripe when a department or payment uses Stripe payment processing."
},
"purposes_body": "Vi behandler oplysninger for at oprette og sikre konti, levere booking og vask, administrere køretøjer, ordrer og fakturaer, gennemføre betalinger, sende nødvendige servicebeskeder, yde support, forebygge misbrug og overholde regnskabs- og andre lovkrav. Retsgrundlaget er opfyldelse af aftale, legitim interesse, retlig forpligtelse og samtykke, hvor det er påkrævet.",
"purposes_title": "4. Formål og retsgrundlag",
"retention_body": "Profil- og servicedata opbevares, mens kontoen eller kundeforholdet er aktivt, og derefter kun så længe det er nødvendigt for dokumenterede formål, tvister og gældende lov. Sikkerhedslogs opbevares i en begrænset periode. Lovpligtige regnskabs- og transaktionsdata kan have en længere opbevaringsperiode.",
"retention_title": "6. Opbevaring",
"purposes_body": "We process information to create and secure accounts, provide booking and wash services, manage vehicles, orders and invoices, process payments, send necessary service messages, provide support, prevent abuse, and comply with accounting and other legal duties. The legal bases are contract performance, legitimate interests, legal obligations, and consent where required.",
"purposes_title": "4. Purposes and legal bases",
"retention_body": "Profile and service data are retained while the account or customer relationship is active and then only as long as necessary for documented purposes, disputes, and applicable law. Security logs are kept for a limited period. Legally required accounting and transaction data may have a longer retention period.",
"retention_title": "6. Retention",
"rights": {
"access": "Indsigt i de personoplysninger, vi behandler om dig.",
"complaint": "Klage til Datatilsynet eller en anden kompetent tilsynsmyndighed.",
"correction": "Rettelse af urigtige eller ufuldstændige oplysninger.",
"erasure": "Sletning, når behandlingen ikke længere er nødvendig eller lovpligtig.",
"objection": "Indsigelse mod behandling baseret på legitim interesse.",
"portability": "Dataportabilitet, hvor reglerne giver ret til det.",
"restriction": "Begrænsning af behandling i de tilfælde, loven fastsætter."
"access": "Access to the personal information we process about you.",
"complaint": "Complain to the Danish Data Protection Agency or another competent supervisory authority.",
"correction": "Correction of inaccurate or incomplete information.",
"erasure": "Erasure when processing is no longer necessary or legally required.",
"objection": "Object to processing based on legitimate interests.",
"portability": "Data portability where the rules provide that right.",
"restriction": "Restriction of processing in the situations provided by law."
},
"rights_intro": "Afhængigt af situationen har du ret til:",
"rights_title": "10. Dine rettigheder",
"scope_body": "Politikken gælder for truckwash.io, Truck Wash kundeportal og den native iOS-app. Den dækker både kunder og chauffører samt de administrative funktioner, som en bruger har fået adgang til.",
"scope_title": "2. Omfang",
"security_body": "Vi bruger adgangskontrol, krypteret transport, sessionsbeskyttelse, logning og organisatoriske procedurer til at beskytte oplysninger. Ingen tjeneste kan garanteres fuldstændig sikker; kontakt os straks ved mistanke om misbrug.",
"security_title": "8. Sikkerhed",
"sharing_intro": "Vi videregiver kun oplysninger, når det er nødvendigt for tjenesten, vores aftale, sikkerhed eller lovkrav. Relevante kategorier af databehandlere og selvstændige dataansvarlige omfatter:",
"sharing_limit": "Vi sælger ikke personoplysninger og bruger dem ikke til tredjepartsannoncering eller sporing på tværs af andre virksomheders apps og websites.",
"sharing_title": "5. Leverandører og deling",
"support_link": "Gå til support",
"title": "Privatlivspolitik",
"tracking_body": "Portalen bruger nødvendig lokal lagring og sessionsmekanismer til login, sikkerhed, sprog og funktionalitet. Eksterne login-, betalings- eller misbrugsbeskyttelsestjenester kan behandle tekniske oplysninger, når deres funktion bruges. Vi bruger ikke reklamecookies eller markedsføringsanalyse i appen.",
"tracking_title": "Cookies, lokal lagring og sporing",
"transfers_body": "Hvis en leverandør behandler oplysninger uden for EU/EØS, kræver vi et gyldigt overførselsgrundlag, såsom en tilstrækkelighedsafgørelse eller EU-standardkontraktbestemmelser, samt relevante supplerende sikkerhedsforanstaltninger.",
"transfers_title": "9. Internationale overførsler",
"updated": "Senest opdateret: 20. juli 2026"
"rights_intro": "Depending on the circumstances, you have the right to:",
"rights_title": "10. Your rights",
"scope_body": "This policy applies to truckwash.io, the Truck Wash customer portal, and the native iOS app. It covers customers and drivers as well as administrative functions to which a user has been granted access.",
"scope_title": "2. Scope",
"security_body": "We use access control, encrypted transport, session protection, logging, and organizational procedures to protect information. No service can be guaranteed completely secure; contact us immediately if you suspect misuse.",
"security_title": "8. Security",
"sharing_intro": "We disclose information only when necessary for the service, our agreement, security, or legal requirements. Relevant categories of processors and independent controllers include:",
"sharing_limit": "We do not sell personal information or use it for third-party advertising or tracking across other companies' apps and websites.",
"sharing_title": "5. Providers and sharing",
"support_link": "Go to support",
"title": "Privacy policy",
"tracking_body": "The portal uses necessary local storage and session mechanisms for sign-in, security, language, and functionality. External sign-in, payment, or abuse-prevention services may process technical information when their feature is used. We do not use advertising cookies or marketing analytics in the app.",
"tracking_title": "Cookies, local storage, and tracking",
"transfers_body": "If a provider processes information outside the EU/EEA, we require a valid transfer mechanism, such as an adequacy decision or EU Standard Contractual Clauses, together with appropriate supplementary safeguards.",
"transfers_title": "9. International transfers",
"updated": "Last updated: July 20, 2026"
},
"products": {
"admin": {
+49 -49
View File
@@ -5296,61 +5296,61 @@
"wash_type": "@.capitalize:{'words.generated.vasketype'}"
},
"privacy_policy": {
"changes_body": "Vi kan opdatere denne politik, når tjenesten, leverandørerne eller lovkrav ændres. Den aktuelle version og dato offentliggøres her.",
"changes_title": "11. Ændringer",
"contact_body": "Kontakt os om privatliv, rettigheder eller kontosletning på",
"contact_title": "12. Kontakt",
"controller_intro": "Truck Wash ApS er dataansvarlig for behandlingen i Truck Wash kundeportal og app.",
"controller_title": "1. Dataansvarlig",
"changes_body": "We may update this policy when the service, providers, or legal requirements change. The current version and date are published here.",
"changes_title": "11. Changes",
"contact_body": "Contact us about privacy, rights, or account deletion at",
"contact_title": "12. Contact",
"controller_intro": "Truck Wash ApS is the data controller for processing in the Truck Wash customer portal and app.",
"controller_title": "1. Data controller",
"data": {
"account": "Konto- og kontaktoplysninger, herunder navn, virksomhed, adresse, e-mail, telefonnummer, kundenummer, brugernavn og sikkerhedsoplysninger.",
"content": "Indhold, du indsender, herunder supportbeskeder, billeder, bilag og oplysninger i fejlrapporter.",
"service": "Køretøjer og registreringsnumre, bookinger, vaskehistorik, ordrer, fakturaer, abonnementer samt betalings- og transaktionsstatus.",
"technical": "Session-, enheds-, browser-, netværks-, sikkerheds- og diagnostikoplysninger, når de er nødvendige for drift, fejlfinding og beskyttelse mod misbrug."
"account": "Account and contact information, including name, company, address, email, phone number, customer number, username, and security information.",
"content": "Content you submit, including support messages, photos, attachments, and information included in error reports.",
"service": "Vehicles and registration plates, bookings, wash history, orders, invoices, subscriptions, and payment or transaction status.",
"technical": "Session, device, browser, network, security, and diagnostic information when needed to operate, troubleshoot, and protect the service."
},
"data_intro": "Afhængigt af de funktioner og den adgang, du bruger, behandler vi:",
"data_title": "3. Oplysninger vi behandler",
"deletion_body": "Når du er logget ind, kan du starte kontosletning under Profil → Slet konto. Din identitet bekræftes med adgangskode og eventuel totrinsbekræftelse. Når anmodningen accepteres, spærres din adgang og aktive sessioner straks, og personlige profiloplysninger slettes eller anonymiseres gennem vores sletteproces.",
"deletion_retained": "Fakturaer, betalingsdokumentation, ordrer, tilknyttet vaskehistorik og begrænsede sikkerheds- eller revisionslogs kan bevares i den periode, som regnskabs-, sikkerheds- eller andre lovkrav kræver. De bruges ikke til markedsføring efter sletteanmodningen.",
"deletion_title": "7. Kontosletning",
"meta_description": "Privatlivspolitik for Truck Wash kundeportal og iOS-app.",
"permissions": "Kameraet bruges kun, når du vælger at scanne QR-koder eller registreringsnumre. Placering bruges, mens appen er åben, til at finde eller bekræfte den nærmeste Truck Wash-afdeling. Adgang kan afvises i enhedens indstillinger.",
"data_intro": "Depending on the features and access you use, we process:",
"data_title": "3. Information we process",
"deletion_body": "When signed in, you can start account deletion under ProfileDelete account. Your identity is confirmed using your password and two-factor authentication when enabled. Once accepted, access and active sessions are revoked immediately, and personal profile information is deleted or anonymized through our deletion process.",
"deletion_retained": "Invoices, payment documentation, orders, connected wash history, and limited security or audit logs may be retained for the period required by accounting, security, or other applicable laws. They are not used for marketing after the deletion request.",
"deletion_title": "7. Account deletion",
"meta_description": "Privacy policy for the Truck Wash customer portal and iOS app.",
"permissions": "The camera is used only when you choose to scan QR codes or registration plates. Location is used while the app is open to find or confirm the nearest Truck Wash department. Access can be denied in the device settings.",
"processors": {
"economic": "e-conomic til kunde-, ordre-, faktura- og regnskabsbehandling.",
"hosting": "Drifts-, hosting-, kommunikations- og sikkerhedsleverandører, som behandler oplysninger på vores vegne.",
"microsoft": "Microsoft, hvis du frivilligt forbinder Microsoft-kalender eller -login.",
"recaptcha": "Google reCAPTCHA, når risikovurdering eller beskyttelse mod automatiseret misbrug aktiveres.",
"stripe": "Stripe, når en afdeling eller betaling bruger Stripe til betalingsbehandling."
"economic": "e-conomic for customer, order, invoice, and accounting processing.",
"hosting": "Operations, hosting, communications, and security providers that process information on our behalf.",
"microsoft": "Microsoft when you voluntarily connect Microsoft calendar or sign-in.",
"recaptcha": "Google reCAPTCHA when risk assessment or protection against automated abuse is activated.",
"stripe": "Stripe when a department or payment uses Stripe payment processing."
},
"purposes_body": "Vi behandler oplysninger for at oprette og sikre konti, levere booking og vask, administrere køretøjer, ordrer og fakturaer, gennemføre betalinger, sende nødvendige servicebeskeder, yde support, forebygge misbrug og overholde regnskabs- og andre lovkrav. Retsgrundlaget er opfyldelse af aftale, legitim interesse, retlig forpligtelse og samtykke, hvor det er påkrævet.",
"purposes_title": "4. Formål og retsgrundlag",
"retention_body": "Profil- og servicedata opbevares, mens kontoen eller kundeforholdet er aktivt, og derefter kun så længe det er nødvendigt for dokumenterede formål, tvister og gældende lov. Sikkerhedslogs opbevares i en begrænset periode. Lovpligtige regnskabs- og transaktionsdata kan have en længere opbevaringsperiode.",
"retention_title": "6. Opbevaring",
"purposes_body": "We process information to create and secure accounts, provide booking and wash services, manage vehicles, orders and invoices, process payments, send necessary service messages, provide support, prevent abuse, and comply with accounting and other legal duties. The legal bases are contract performance, legitimate interests, legal obligations, and consent where required.",
"purposes_title": "4. Purposes and legal bases",
"retention_body": "Profile and service data are retained while the account or customer relationship is active and then only as long as necessary for documented purposes, disputes, and applicable law. Security logs are kept for a limited period. Legally required accounting and transaction data may have a longer retention period.",
"retention_title": "6. Retention",
"rights": {
"access": "Indsigt i de personoplysninger, vi behandler om dig.",
"complaint": "Klage til Datatilsynet eller en anden kompetent tilsynsmyndighed.",
"correction": "Rettelse af urigtige eller ufuldstændige oplysninger.",
"erasure": "Sletning, når behandlingen ikke længere er nødvendig eller lovpligtig.",
"objection": "Indsigelse mod behandling baseret på legitim interesse.",
"portability": "Dataportabilitet, hvor reglerne giver ret til det.",
"restriction": "Begrænsning af behandling i de tilfælde, loven fastsætter."
"access": "Access to the personal information we process about you.",
"complaint": "Complain to the Danish Data Protection Agency or another competent supervisory authority.",
"correction": "Correction of inaccurate or incomplete information.",
"erasure": "Erasure when processing is no longer necessary or legally required.",
"objection": "Object to processing based on legitimate interests.",
"portability": "Data portability where the rules provide that right.",
"restriction": "Restriction of processing in the situations provided by law."
},
"rights_intro": "Afhængigt af situationen har du ret til:",
"rights_title": "10. Dine rettigheder",
"scope_body": "Politikken gælder for truckwash.io, Truck Wash kundeportal og den native iOS-app. Den dækker både kunder og chauffører samt de administrative funktioner, som en bruger har fået adgang til.",
"scope_title": "2. Omfang",
"security_body": "Vi bruger adgangskontrol, krypteret transport, sessionsbeskyttelse, logning og organisatoriske procedurer til at beskytte oplysninger. Ingen tjeneste kan garanteres fuldstændig sikker; kontakt os straks ved mistanke om misbrug.",
"security_title": "8. Sikkerhed",
"sharing_intro": "Vi videregiver kun oplysninger, når det er nødvendigt for tjenesten, vores aftale, sikkerhed eller lovkrav. Relevante kategorier af databehandlere og selvstændige dataansvarlige omfatter:",
"sharing_limit": "Vi sælger ikke personoplysninger og bruger dem ikke til tredjepartsannoncering eller sporing på tværs af andre virksomheders apps og websites.",
"sharing_title": "5. Leverandører og deling",
"support_link": "Gå til support",
"title": "Privatlivspolitik",
"tracking_body": "Portalen bruger nødvendig lokal lagring og sessionsmekanismer til login, sikkerhed, sprog og funktionalitet. Eksterne login-, betalings- eller misbrugsbeskyttelsestjenester kan behandle tekniske oplysninger, når deres funktion bruges. Vi bruger ikke reklamecookies eller markedsføringsanalyse i appen.",
"tracking_title": "Cookies, lokal lagring og sporing",
"transfers_body": "Hvis en leverandør behandler oplysninger uden for EU/EØS, kræver vi et gyldigt overførselsgrundlag, såsom en tilstrækkelighedsafgørelse eller EU-standardkontraktbestemmelser, samt relevante supplerende sikkerhedsforanstaltninger.",
"transfers_title": "9. Internationale overførsler",
"updated": "Senest opdateret: 20. juli 2026"
"rights_intro": "Depending on the circumstances, you have the right to:",
"rights_title": "10. Your rights",
"scope_body": "This policy applies to truckwash.io, the Truck Wash customer portal, and the native iOS app. It covers customers and drivers as well as administrative functions to which a user has been granted access.",
"scope_title": "2. Scope",
"security_body": "We use access control, encrypted transport, session protection, logging, and organizational procedures to protect information. No service can be guaranteed completely secure; contact us immediately if you suspect misuse.",
"security_title": "8. Security",
"sharing_intro": "We disclose information only when necessary for the service, our agreement, security, or legal requirements. Relevant categories of processors and independent controllers include:",
"sharing_limit": "We do not sell personal information or use it for third-party advertising or tracking across other companies' apps and websites.",
"sharing_title": "5. Providers and sharing",
"support_link": "Go to support",
"title": "Privacy policy",
"tracking_body": "The portal uses necessary local storage and session mechanisms for sign-in, security, language, and functionality. External sign-in, payment, or abuse-prevention services may process technical information when their feature is used. We do not use advertising cookies or marketing analytics in the app.",
"tracking_title": "Cookies, local storage, and tracking",
"transfers_body": "If a provider processes information outside the EU/EEA, we require a valid transfer mechanism, such as an adequacy decision or EU Standard Contractual Clauses, together with appropriate supplementary safeguards.",
"transfers_title": "9. International transfers",
"updated": "Last updated: July 20, 2026"
},
"products": {
"admin": {
+49 -49
View File
@@ -5346,61 +5346,61 @@
"wash_type": "Tvättyp"
},
"privacy_policy": {
"changes_body": "Vi kan opdatere denne politik, når tjenesten, leverandørerne eller lovkrav ændres. Den aktuelle version og dato offentliggøres her.",
"changes_title": "11. Ændringer",
"contact_body": "Kontakt os om privatliv, rettigheder eller kontosletning på",
"contact_title": "12. Kontakt",
"controller_intro": "Truck Wash ApS er dataansvarlig for behandlingen i Truck Wash kundeportal og app.",
"controller_title": "1. Dataansvarlig",
"changes_body": "We may update this policy when the service, providers, or legal requirements change. The current version and date are published here.",
"changes_title": "11. Changes",
"contact_body": "Contact us about privacy, rights, or account deletion at",
"contact_title": "12. Contact",
"controller_intro": "Truck Wash ApS is the data controller for processing in the Truck Wash customer portal and app.",
"controller_title": "1. Data controller",
"data": {
"account": "Konto- og kontaktoplysninger, herunder navn, virksomhed, adresse, e-mail, telefonnummer, kundenummer, brugernavn og sikkerhedsoplysninger.",
"content": "Indhold, du indsender, herunder supportbeskeder, billeder, bilag og oplysninger i fejlrapporter.",
"service": "Køretøjer og registreringsnumre, bookinger, vaskehistorik, ordrer, fakturaer, abonnementer samt betalings- og transaktionsstatus.",
"technical": "Session-, enheds-, browser-, netværks-, sikkerheds- og diagnostikoplysninger, når de er nødvendige for drift, fejlfinding og beskyttelse mod misbrug."
"account": "Account and contact information, including name, company, address, email, phone number, customer number, username, and security information.",
"content": "Content you submit, including support messages, photos, attachments, and information included in error reports.",
"service": "Vehicles and registration plates, bookings, wash history, orders, invoices, subscriptions, and payment or transaction status.",
"technical": "Session, device, browser, network, security, and diagnostic information when needed to operate, troubleshoot, and protect the service."
},
"data_intro": "Afhængigt af de funktioner og den adgang, du bruger, behandler vi:",
"data_title": "3. Oplysninger vi behandler",
"deletion_body": "Når du er logget ind, kan du starte kontosletning under Profil → Slet konto. Din identitet bekræftes med adgangskode og eventuel totrinsbekræftelse. Når anmodningen accepteres, spærres din adgang og aktive sessioner straks, og personlige profiloplysninger slettes eller anonymiseres gennem vores sletteproces.",
"deletion_retained": "Fakturaer, betalingsdokumentation, ordrer, tilknyttet vaskehistorik og begrænsede sikkerheds- eller revisionslogs kan bevares i den periode, som regnskabs-, sikkerheds- eller andre lovkrav kræver. De bruges ikke til markedsføring efter sletteanmodningen.",
"deletion_title": "7. Kontosletning",
"meta_description": "Privatlivspolitik for Truck Wash kundeportal og iOS-app.",
"permissions": "Kameraet bruges kun, når du vælger at scanne QR-koder eller registreringsnumre. Placering bruges, mens appen er åben, til at finde eller bekræfte den nærmeste Truck Wash-afdeling. Adgang kan afvises i enhedens indstillinger.",
"data_intro": "Depending on the features and access you use, we process:",
"data_title": "3. Information we process",
"deletion_body": "When signed in, you can start account deletion under ProfileDelete account. Your identity is confirmed using your password and two-factor authentication when enabled. Once accepted, access and active sessions are revoked immediately, and personal profile information is deleted or anonymized through our deletion process.",
"deletion_retained": "Invoices, payment documentation, orders, connected wash history, and limited security or audit logs may be retained for the period required by accounting, security, or other applicable laws. They are not used for marketing after the deletion request.",
"deletion_title": "7. Account deletion",
"meta_description": "Privacy policy for the Truck Wash customer portal and iOS app.",
"permissions": "The camera is used only when you choose to scan QR codes or registration plates. Location is used while the app is open to find or confirm the nearest Truck Wash department. Access can be denied in the device settings.",
"processors": {
"economic": "e-conomic til kunde-, ordre-, faktura- og regnskabsbehandling.",
"hosting": "Drifts-, hosting-, kommunikations- og sikkerhedsleverandører, som behandler oplysninger på vores vegne.",
"microsoft": "Microsoft, hvis du frivilligt forbinder Microsoft-kalender eller -login.",
"recaptcha": "Google reCAPTCHA, når risikovurdering eller beskyttelse mod automatiseret misbrug aktiveres.",
"stripe": "Stripe, når en afdeling eller betaling bruger Stripe til betalingsbehandling."
"economic": "e-conomic for customer, order, invoice, and accounting processing.",
"hosting": "Operations, hosting, communications, and security providers that process information on our behalf.",
"microsoft": "Microsoft when you voluntarily connect Microsoft calendar or sign-in.",
"recaptcha": "Google reCAPTCHA when risk assessment or protection against automated abuse is activated.",
"stripe": "Stripe when a department or payment uses Stripe payment processing."
},
"purposes_body": "Vi behandler oplysninger for at oprette og sikre konti, levere booking og vask, administrere køretøjer, ordrer og fakturaer, gennemføre betalinger, sende nødvendige servicebeskeder, yde support, forebygge misbrug og overholde regnskabs- og andre lovkrav. Retsgrundlaget er opfyldelse af aftale, legitim interesse, retlig forpligtelse og samtykke, hvor det er påkrævet.",
"purposes_title": "4. Formål og retsgrundlag",
"retention_body": "Profil- og servicedata opbevares, mens kontoen eller kundeforholdet er aktivt, og derefter kun så længe det er nødvendigt for dokumenterede formål, tvister og gældende lov. Sikkerhedslogs opbevares i en begrænset periode. Lovpligtige regnskabs- og transaktionsdata kan have en længere opbevaringsperiode.",
"retention_title": "6. Opbevaring",
"purposes_body": "We process information to create and secure accounts, provide booking and wash services, manage vehicles, orders and invoices, process payments, send necessary service messages, provide support, prevent abuse, and comply with accounting and other legal duties. The legal bases are contract performance, legitimate interests, legal obligations, and consent where required.",
"purposes_title": "4. Purposes and legal bases",
"retention_body": "Profile and service data are retained while the account or customer relationship is active and then only as long as necessary for documented purposes, disputes, and applicable law. Security logs are kept for a limited period. Legally required accounting and transaction data may have a longer retention period.",
"retention_title": "6. Retention",
"rights": {
"access": "Indsigt i de personoplysninger, vi behandler om dig.",
"complaint": "Klage til Datatilsynet eller en anden kompetent tilsynsmyndighed.",
"correction": "Rettelse af urigtige eller ufuldstændige oplysninger.",
"erasure": "Sletning, når behandlingen ikke længere er nødvendig eller lovpligtig.",
"objection": "Indsigelse mod behandling baseret på legitim interesse.",
"portability": "Dataportabilitet, hvor reglerne giver ret til det.",
"restriction": "Begrænsning af behandling i de tilfælde, loven fastsætter."
"access": "Access to the personal information we process about you.",
"complaint": "Complain to the Danish Data Protection Agency or another competent supervisory authority.",
"correction": "Correction of inaccurate or incomplete information.",
"erasure": "Erasure when processing is no longer necessary or legally required.",
"objection": "Object to processing based on legitimate interests.",
"portability": "Data portability where the rules provide that right.",
"restriction": "Restriction of processing in the situations provided by law."
},
"rights_intro": "Afhængigt af situationen har du ret til:",
"rights_title": "10. Dine rettigheder",
"scope_body": "Politikken gælder for truckwash.io, Truck Wash kundeportal og den native iOS-app. Den dækker både kunder og chauffører samt de administrative funktioner, som en bruger har fået adgang til.",
"scope_title": "2. Omfang",
"security_body": "Vi bruger adgangskontrol, krypteret transport, sessionsbeskyttelse, logning og organisatoriske procedurer til at beskytte oplysninger. Ingen tjeneste kan garanteres fuldstændig sikker; kontakt os straks ved mistanke om misbrug.",
"security_title": "8. Sikkerhed",
"sharing_intro": "Vi videregiver kun oplysninger, når det er nødvendigt for tjenesten, vores aftale, sikkerhed eller lovkrav. Relevante kategorier af databehandlere og selvstændige dataansvarlige omfatter:",
"sharing_limit": "Vi sælger ikke personoplysninger og bruger dem ikke til tredjepartsannoncering eller sporing på tværs af andre virksomheders apps og websites.",
"sharing_title": "5. Leverandører og deling",
"support_link": "Gå til support",
"title": "Privatlivspolitik",
"tracking_body": "Portalen bruger nødvendig lokal lagring og sessionsmekanismer til login, sikkerhed, sprog og funktionalitet. Eksterne login-, betalings- eller misbrugsbeskyttelsestjenester kan behandle tekniske oplysninger, når deres funktion bruges. Vi bruger ikke reklamecookies eller markedsføringsanalyse i appen.",
"tracking_title": "Cookies, lokal lagring og sporing",
"transfers_body": "Hvis en leverandør behandler oplysninger uden for EU/EØS, kræver vi et gyldigt overførselsgrundlag, såsom en tilstrækkelighedsafgørelse eller EU-standardkontraktbestemmelser, samt relevante supplerende sikkerhedsforanstaltninger.",
"transfers_title": "9. Internationale overførsler",
"updated": "Senest opdateret: 20. juli 2026"
"rights_intro": "Depending on the circumstances, you have the right to:",
"rights_title": "10. Your rights",
"scope_body": "This policy applies to truckwash.io, the Truck Wash customer portal, and the native iOS app. It covers customers and drivers as well as administrative functions to which a user has been granted access.",
"scope_title": "2. Scope",
"security_body": "We use access control, encrypted transport, session protection, logging, and organizational procedures to protect information. No service can be guaranteed completely secure; contact us immediately if you suspect misuse.",
"security_title": "8. Security",
"sharing_intro": "We disclose information only when necessary for the service, our agreement, security, or legal requirements. Relevant categories of processors and independent controllers include:",
"sharing_limit": "We do not sell personal information or use it for third-party advertising or tracking across other companies' apps and websites.",
"sharing_title": "5. Providers and sharing",
"support_link": "Go to support",
"title": "Privacy policy",
"tracking_body": "The portal uses necessary local storage and session mechanisms for sign-in, security, language, and functionality. External sign-in, payment, or abuse-prevention services may process technical information when their feature is used. We do not use advertising cookies or marketing analytics in the app.",
"tracking_title": "Cookies, local storage, and tracking",
"transfers_body": "If a provider processes information outside the EU/EEA, we require a valid transfer mechanism, such as an adequacy decision or EU Standard Contractual Clauses, together with appropriate supplementary safeguards.",
"transfers_title": "9. International transfers",
"updated": "Last updated: July 20, 2026"
},
"products": {
"admin": {
@@ -1,61 +1,61 @@
{
"compat": {
"privacy_policy": {
"changes_body": "Vi kan opdatere denne politik, når tjenesten, leverandørerne eller lovkrav ændres. Den aktuelle version og dato offentliggøres her.",
"changes_title": "11. Ændringer",
"contact_body": "Kontakt os om privatliv, rettigheder eller kontosletning på",
"contact_title": "12. Kontakt",
"controller_intro": "Truck Wash ApS er dataansvarlig for behandlingen i Truck Wash kundeportal og app.",
"controller_title": "1. Dataansvarlig",
"changes_body": "We may update this policy when the service, providers, or legal requirements change. The current version and date are published here.",
"changes_title": "11. Changes",
"contact_body": "Contact us about privacy, rights, or account deletion at",
"contact_title": "12. Contact",
"controller_intro": "Truck Wash ApS is the data controller for processing in the Truck Wash customer portal and app.",
"controller_title": "1. Data controller",
"data": {
"account": "Konto- og kontaktoplysninger, herunder navn, virksomhed, adresse, e-mail, telefonnummer, kundenummer, brugernavn og sikkerhedsoplysninger.",
"content": "Indhold, du indsender, herunder supportbeskeder, billeder, bilag og oplysninger i fejlrapporter.",
"service": "Køretøjer og registreringsnumre, bookinger, vaskehistorik, ordrer, fakturaer, abonnementer samt betalings- og transaktionsstatus.",
"technical": "Session-, enheds-, browser-, netværks-, sikkerheds- og diagnostikoplysninger, når de er nødvendige for drift, fejlfinding og beskyttelse mod misbrug."
"account": "Account and contact information, including name, company, address, email, phone number, customer number, username, and security information.",
"content": "Content you submit, including support messages, photos, attachments, and information included in error reports.",
"service": "Vehicles and registration plates, bookings, wash history, orders, invoices, subscriptions, and payment or transaction status.",
"technical": "Session, device, browser, network, security, and diagnostic information when needed to operate, troubleshoot, and protect the service."
},
"data_intro": "Afhængigt af de funktioner og den adgang, du bruger, behandler vi:",
"data_title": "3. Oplysninger vi behandler",
"deletion_body": "Når du er logget ind, kan du starte kontosletning under Profil → Slet konto. Din identitet bekræftes med adgangskode og eventuel totrinsbekræftelse. Når anmodningen accepteres, spærres din adgang og aktive sessioner straks, og personlige profiloplysninger slettes eller anonymiseres gennem vores sletteproces.",
"deletion_retained": "Fakturaer, betalingsdokumentation, ordrer, tilknyttet vaskehistorik og begrænsede sikkerheds- eller revisionslogs kan bevares i den periode, som regnskabs-, sikkerheds- eller andre lovkrav kræver. De bruges ikke til markedsføring efter sletteanmodningen.",
"deletion_title": "7. Kontosletning",
"meta_description": "Privatlivspolitik for Truck Wash kundeportal og iOS-app.",
"permissions": "Kameraet bruges kun, når du vælger at scanne QR-koder eller registreringsnumre. Placering bruges, mens appen er åben, til at finde eller bekræfte den nærmeste Truck Wash-afdeling. Adgang kan afvises i enhedens indstillinger.",
"data_intro": "Depending on the features and access you use, we process:",
"data_title": "3. Information we process",
"deletion_body": "When signed in, you can start account deletion under ProfileDelete account. Your identity is confirmed using your password and two-factor authentication when enabled. Once accepted, access and active sessions are revoked immediately, and personal profile information is deleted or anonymized through our deletion process.",
"deletion_retained": "Invoices, payment documentation, orders, connected wash history, and limited security or audit logs may be retained for the period required by accounting, security, or other applicable laws. They are not used for marketing after the deletion request.",
"deletion_title": "7. Account deletion",
"meta_description": "Privacy policy for the Truck Wash customer portal and iOS app.",
"permissions": "The camera is used only when you choose to scan QR codes or registration plates. Location is used while the app is open to find or confirm the nearest Truck Wash department. Access can be denied in the device settings.",
"processors": {
"economic": "e-conomic til kunde-, ordre-, faktura- og regnskabsbehandling.",
"hosting": "Drifts-, hosting-, kommunikations- og sikkerhedsleverandører, som behandler oplysninger på vores vegne.",
"microsoft": "Microsoft, hvis du frivilligt forbinder Microsoft-kalender eller -login.",
"recaptcha": "Google reCAPTCHA, når risikovurdering eller beskyttelse mod automatiseret misbrug aktiveres.",
"stripe": "Stripe, når en afdeling eller betaling bruger Stripe til betalingsbehandling."
"economic": "e-conomic for customer, order, invoice, and accounting processing.",
"hosting": "Operations, hosting, communications, and security providers that process information on our behalf.",
"microsoft": "Microsoft when you voluntarily connect Microsoft calendar or sign-in.",
"recaptcha": "Google reCAPTCHA when risk assessment or protection against automated abuse is activated.",
"stripe": "Stripe when a department or payment uses Stripe payment processing."
},
"purposes_body": "Vi behandler oplysninger for at oprette og sikre konti, levere booking og vask, administrere køretøjer, ordrer og fakturaer, gennemføre betalinger, sende nødvendige servicebeskeder, yde support, forebygge misbrug og overholde regnskabs- og andre lovkrav. Retsgrundlaget er opfyldelse af aftale, legitim interesse, retlig forpligtelse og samtykke, hvor det er påkrævet.",
"purposes_title": "4. Formål og retsgrundlag",
"retention_body": "Profil- og servicedata opbevares, mens kontoen eller kundeforholdet er aktivt, og derefter kun så længe det er nødvendigt for dokumenterede formål, tvister og gældende lov. Sikkerhedslogs opbevares i en begrænset periode. Lovpligtige regnskabs- og transaktionsdata kan have en længere opbevaringsperiode.",
"retention_title": "6. Opbevaring",
"purposes_body": "We process information to create and secure accounts, provide booking and wash services, manage vehicles, orders and invoices, process payments, send necessary service messages, provide support, prevent abuse, and comply with accounting and other legal duties. The legal bases are contract performance, legitimate interests, legal obligations, and consent where required.",
"purposes_title": "4. Purposes and legal bases",
"retention_body": "Profile and service data are retained while the account or customer relationship is active and then only as long as necessary for documented purposes, disputes, and applicable law. Security logs are kept for a limited period. Legally required accounting and transaction data may have a longer retention period.",
"retention_title": "6. Retention",
"rights": {
"access": "Indsigt i de personoplysninger, vi behandler om dig.",
"complaint": "Klage til Datatilsynet eller en anden kompetent tilsynsmyndighed.",
"correction": "Rettelse af urigtige eller ufuldstændige oplysninger.",
"erasure": "Sletning, når behandlingen ikke længere er nødvendig eller lovpligtig.",
"objection": "Indsigelse mod behandling baseret på legitim interesse.",
"portability": "Dataportabilitet, hvor reglerne giver ret til det.",
"restriction": "Begrænsning af behandling i de tilfælde, loven fastsætter."
"access": "Access to the personal information we process about you.",
"complaint": "Complain to the Danish Data Protection Agency or another competent supervisory authority.",
"correction": "Correction of inaccurate or incomplete information.",
"erasure": "Erasure when processing is no longer necessary or legally required.",
"objection": "Object to processing based on legitimate interests.",
"portability": "Data portability where the rules provide that right.",
"restriction": "Restriction of processing in the situations provided by law."
},
"rights_intro": "Afhængigt af situationen har du ret til:",
"rights_title": "10. Dine rettigheder",
"scope_body": "Politikken gælder for truckwash.io, Truck Wash kundeportal og den native iOS-app. Den dækker både kunder og chauffører samt de administrative funktioner, som en bruger har fået adgang til.",
"scope_title": "2. Omfang",
"security_body": "Vi bruger adgangskontrol, krypteret transport, sessionsbeskyttelse, logning og organisatoriske procedurer til at beskytte oplysninger. Ingen tjeneste kan garanteres fuldstændig sikker; kontakt os straks ved mistanke om misbrug.",
"security_title": "8. Sikkerhed",
"sharing_intro": "Vi videregiver kun oplysninger, når det er nødvendigt for tjenesten, vores aftale, sikkerhed eller lovkrav. Relevante kategorier af databehandlere og selvstændige dataansvarlige omfatter:",
"sharing_limit": "Vi sælger ikke personoplysninger og bruger dem ikke til tredjepartsannoncering eller sporing på tværs af andre virksomheders apps og websites.",
"sharing_title": "5. Leverandører og deling",
"support_link": "Gå til support",
"title": "Privatlivspolitik",
"tracking_body": "Portalen bruger nødvendig lokal lagring og sessionsmekanismer til login, sikkerhed, sprog og funktionalitet. Eksterne login-, betalings- eller misbrugsbeskyttelsestjenester kan behandle tekniske oplysninger, når deres funktion bruges. Vi bruger ikke reklamecookies eller markedsføringsanalyse i appen.",
"tracking_title": "Cookies, lokal lagring og sporing",
"transfers_body": "Hvis en leverandør behandler oplysninger uden for EU/EØS, kræver vi et gyldigt overførselsgrundlag, såsom en tilstrækkelighedsafgørelse eller EU-standardkontraktbestemmelser, samt relevante supplerende sikkerhedsforanstaltninger.",
"transfers_title": "9. Internationale overførsler",
"updated": "Senest opdateret: 20. juli 2026"
"rights_intro": "Depending on the circumstances, you have the right to:",
"rights_title": "10. Your rights",
"scope_body": "This policy applies to truckwash.io, the Truck Wash customer portal, and the native iOS app. It covers customers and drivers as well as administrative functions to which a user has been granted access.",
"scope_title": "2. Scope",
"security_body": "We use access control, encrypted transport, session protection, logging, and organizational procedures to protect information. No service can be guaranteed completely secure; contact us immediately if you suspect misuse.",
"security_title": "8. Security",
"sharing_intro": "We disclose information only when necessary for the service, our agreement, security, or legal requirements. Relevant categories of processors and independent controllers include:",
"sharing_limit": "We do not sell personal information or use it for third-party advertising or tracking across other companies' apps and websites.",
"sharing_title": "5. Providers and sharing",
"support_link": "Go to support",
"title": "Privacy policy",
"tracking_body": "The portal uses necessary local storage and session mechanisms for sign-in, security, language, and functionality. External sign-in, payment, or abuse-prevention services may process technical information when their feature is used. We do not use advertising cookies or marketing analytics in the app.",
"tracking_title": "Cookies, local storage, and tracking",
"transfers_body": "If a provider processes information outside the EU/EEA, we require a valid transfer mechanism, such as an adequacy decision or EU Standard Contractual Clauses, together with appropriate supplementary safeguards.",
"transfers_title": "9. International transfers",
"updated": "Last updated: July 20, 2026"
}
}
}
@@ -1,61 +1,61 @@
{
"compat": {
"privacy_policy": {
"changes_body": "Vi kan opdatere denne politik, når tjenesten, leverandørerne eller lovkrav ændres. Den aktuelle version og dato offentliggøres her.",
"changes_title": "11. Ændringer",
"contact_body": "Kontakt os om privatliv, rettigheder eller kontosletning på",
"contact_title": "12. Kontakt",
"controller_intro": "Truck Wash ApS er dataansvarlig for behandlingen i Truck Wash kundeportal og app.",
"controller_title": "1. Dataansvarlig",
"changes_body": "We may update this policy when the service, providers, or legal requirements change. The current version and date are published here.",
"changes_title": "11. Changes",
"contact_body": "Contact us about privacy, rights, or account deletion at",
"contact_title": "12. Contact",
"controller_intro": "Truck Wash ApS is the data controller for processing in the Truck Wash customer portal and app.",
"controller_title": "1. Data controller",
"data": {
"account": "Konto- og kontaktoplysninger, herunder navn, virksomhed, adresse, e-mail, telefonnummer, kundenummer, brugernavn og sikkerhedsoplysninger.",
"content": "Indhold, du indsender, herunder supportbeskeder, billeder, bilag og oplysninger i fejlrapporter.",
"service": "Køretøjer og registreringsnumre, bookinger, vaskehistorik, ordrer, fakturaer, abonnementer samt betalings- og transaktionsstatus.",
"technical": "Session-, enheds-, browser-, netværks-, sikkerheds- og diagnostikoplysninger, når de er nødvendige for drift, fejlfinding og beskyttelse mod misbrug."
"account": "Account and contact information, including name, company, address, email, phone number, customer number, username, and security information.",
"content": "Content you submit, including support messages, photos, attachments, and information included in error reports.",
"service": "Vehicles and registration plates, bookings, wash history, orders, invoices, subscriptions, and payment or transaction status.",
"technical": "Session, device, browser, network, security, and diagnostic information when needed to operate, troubleshoot, and protect the service."
},
"data_intro": "Afhængigt af de funktioner og den adgang, du bruger, behandler vi:",
"data_title": "3. Oplysninger vi behandler",
"deletion_body": "Når du er logget ind, kan du starte kontosletning under Profil → Slet konto. Din identitet bekræftes med adgangskode og eventuel totrinsbekræftelse. Når anmodningen accepteres, spærres din adgang og aktive sessioner straks, og personlige profiloplysninger slettes eller anonymiseres gennem vores sletteproces.",
"deletion_retained": "Fakturaer, betalingsdokumentation, ordrer, tilknyttet vaskehistorik og begrænsede sikkerheds- eller revisionslogs kan bevares i den periode, som regnskabs-, sikkerheds- eller andre lovkrav kræver. De bruges ikke til markedsføring efter sletteanmodningen.",
"deletion_title": "7. Kontosletning",
"meta_description": "Privatlivspolitik for Truck Wash kundeportal og iOS-app.",
"permissions": "Kameraet bruges kun, når du vælger at scanne QR-koder eller registreringsnumre. Placering bruges, mens appen er åben, til at finde eller bekræfte den nærmeste Truck Wash-afdeling. Adgang kan afvises i enhedens indstillinger.",
"data_intro": "Depending on the features and access you use, we process:",
"data_title": "3. Information we process",
"deletion_body": "When signed in, you can start account deletion under ProfileDelete account. Your identity is confirmed using your password and two-factor authentication when enabled. Once accepted, access and active sessions are revoked immediately, and personal profile information is deleted or anonymized through our deletion process.",
"deletion_retained": "Invoices, payment documentation, orders, connected wash history, and limited security or audit logs may be retained for the period required by accounting, security, or other applicable laws. They are not used for marketing after the deletion request.",
"deletion_title": "7. Account deletion",
"meta_description": "Privacy policy for the Truck Wash customer portal and iOS app.",
"permissions": "The camera is used only when you choose to scan QR codes or registration plates. Location is used while the app is open to find or confirm the nearest Truck Wash department. Access can be denied in the device settings.",
"processors": {
"economic": "e-conomic til kunde-, ordre-, faktura- og regnskabsbehandling.",
"hosting": "Drifts-, hosting-, kommunikations- og sikkerhedsleverandører, som behandler oplysninger på vores vegne.",
"microsoft": "Microsoft, hvis du frivilligt forbinder Microsoft-kalender eller -login.",
"recaptcha": "Google reCAPTCHA, når risikovurdering eller beskyttelse mod automatiseret misbrug aktiveres.",
"stripe": "Stripe, når en afdeling eller betaling bruger Stripe til betalingsbehandling."
"economic": "e-conomic for customer, order, invoice, and accounting processing.",
"hosting": "Operations, hosting, communications, and security providers that process information on our behalf.",
"microsoft": "Microsoft when you voluntarily connect Microsoft calendar or sign-in.",
"recaptcha": "Google reCAPTCHA when risk assessment or protection against automated abuse is activated.",
"stripe": "Stripe when a department or payment uses Stripe payment processing."
},
"purposes_body": "Vi behandler oplysninger for at oprette og sikre konti, levere booking og vask, administrere køretøjer, ordrer og fakturaer, gennemføre betalinger, sende nødvendige servicebeskeder, yde support, forebygge misbrug og overholde regnskabs- og andre lovkrav. Retsgrundlaget er opfyldelse af aftale, legitim interesse, retlig forpligtelse og samtykke, hvor det er påkrævet.",
"purposes_title": "4. Formål og retsgrundlag",
"retention_body": "Profil- og servicedata opbevares, mens kontoen eller kundeforholdet er aktivt, og derefter kun så længe det er nødvendigt for dokumenterede formål, tvister og gældende lov. Sikkerhedslogs opbevares i en begrænset periode. Lovpligtige regnskabs- og transaktionsdata kan have en længere opbevaringsperiode.",
"retention_title": "6. Opbevaring",
"purposes_body": "We process information to create and secure accounts, provide booking and wash services, manage vehicles, orders and invoices, process payments, send necessary service messages, provide support, prevent abuse, and comply with accounting and other legal duties. The legal bases are contract performance, legitimate interests, legal obligations, and consent where required.",
"purposes_title": "4. Purposes and legal bases",
"retention_body": "Profile and service data are retained while the account or customer relationship is active and then only as long as necessary for documented purposes, disputes, and applicable law. Security logs are kept for a limited period. Legally required accounting and transaction data may have a longer retention period.",
"retention_title": "6. Retention",
"rights": {
"access": "Indsigt i de personoplysninger, vi behandler om dig.",
"complaint": "Klage til Datatilsynet eller en anden kompetent tilsynsmyndighed.",
"correction": "Rettelse af urigtige eller ufuldstændige oplysninger.",
"erasure": "Sletning, når behandlingen ikke længere er nødvendig eller lovpligtig.",
"objection": "Indsigelse mod behandling baseret på legitim interesse.",
"portability": "Dataportabilitet, hvor reglerne giver ret til det.",
"restriction": "Begrænsning af behandling i de tilfælde, loven fastsætter."
"access": "Access to the personal information we process about you.",
"complaint": "Complain to the Danish Data Protection Agency or another competent supervisory authority.",
"correction": "Correction of inaccurate or incomplete information.",
"erasure": "Erasure when processing is no longer necessary or legally required.",
"objection": "Object to processing based on legitimate interests.",
"portability": "Data portability where the rules provide that right.",
"restriction": "Restriction of processing in the situations provided by law."
},
"rights_intro": "Afhængigt af situationen har du ret til:",
"rights_title": "10. Dine rettigheder",
"scope_body": "Politikken gælder for truckwash.io, Truck Wash kundeportal og den native iOS-app. Den dækker både kunder og chauffører samt de administrative funktioner, som en bruger har fået adgang til.",
"scope_title": "2. Omfang",
"security_body": "Vi bruger adgangskontrol, krypteret transport, sessionsbeskyttelse, logning og organisatoriske procedurer til at beskytte oplysninger. Ingen tjeneste kan garanteres fuldstændig sikker; kontakt os straks ved mistanke om misbrug.",
"security_title": "8. Sikkerhed",
"sharing_intro": "Vi videregiver kun oplysninger, når det er nødvendigt for tjenesten, vores aftale, sikkerhed eller lovkrav. Relevante kategorier af databehandlere og selvstændige dataansvarlige omfatter:",
"sharing_limit": "Vi sælger ikke personoplysninger og bruger dem ikke til tredjepartsannoncering eller sporing på tværs af andre virksomheders apps og websites.",
"sharing_title": "5. Leverandører og deling",
"support_link": "Gå til support",
"title": "Privatlivspolitik",
"tracking_body": "Portalen bruger nødvendig lokal lagring og sessionsmekanismer til login, sikkerhed, sprog og funktionalitet. Eksterne login-, betalings- eller misbrugsbeskyttelsestjenester kan behandle tekniske oplysninger, når deres funktion bruges. Vi bruger ikke reklamecookies eller markedsføringsanalyse i appen.",
"tracking_title": "Cookies, lokal lagring og sporing",
"transfers_body": "Hvis en leverandør behandler oplysninger uden for EU/EØS, kræver vi et gyldigt overførselsgrundlag, såsom en tilstrækkelighedsafgørelse eller EU-standardkontraktbestemmelser, samt relevante supplerende sikkerhedsforanstaltninger.",
"transfers_title": "9. Internationale overførsler",
"updated": "Senest opdateret: 20. juli 2026"
"rights_intro": "Depending on the circumstances, you have the right to:",
"rights_title": "10. Your rights",
"scope_body": "This policy applies to truckwash.io, the Truck Wash customer portal, and the native iOS app. It covers customers and drivers as well as administrative functions to which a user has been granted access.",
"scope_title": "2. Scope",
"security_body": "We use access control, encrypted transport, session protection, logging, and organizational procedures to protect information. No service can be guaranteed completely secure; contact us immediately if you suspect misuse.",
"security_title": "8. Security",
"sharing_intro": "We disclose information only when necessary for the service, our agreement, security, or legal requirements. Relevant categories of processors and independent controllers include:",
"sharing_limit": "We do not sell personal information or use it for third-party advertising or tracking across other companies' apps and websites.",
"sharing_title": "5. Providers and sharing",
"support_link": "Go to support",
"title": "Privacy policy",
"tracking_body": "The portal uses necessary local storage and session mechanisms for sign-in, security, language, and functionality. External sign-in, payment, or abuse-prevention services may process technical information when their feature is used. We do not use advertising cookies or marketing analytics in the app.",
"tracking_title": "Cookies, local storage, and tracking",
"transfers_body": "If a provider processes information outside the EU/EEA, we require a valid transfer mechanism, such as an adequacy decision or EU Standard Contractual Clauses, together with appropriate supplementary safeguards.",
"transfers_title": "9. International transfers",
"updated": "Last updated: July 20, 2026"
}
}
}
@@ -1,61 +1,61 @@
{
"compat": {
"privacy_policy": {
"changes_body": "Vi kan opdatere denne politik, når tjenesten, leverandørerne eller lovkrav ændres. Den aktuelle version og dato offentliggøres her.",
"changes_title": "11. Ændringer",
"contact_body": "Kontakt os om privatliv, rettigheder eller kontosletning på",
"contact_title": "12. Kontakt",
"controller_intro": "Truck Wash ApS er dataansvarlig for behandlingen i Truck Wash kundeportal og app.",
"controller_title": "1. Dataansvarlig",
"changes_body": "We may update this policy when the service, providers, or legal requirements change. The current version and date are published here.",
"changes_title": "11. Changes",
"contact_body": "Contact us about privacy, rights, or account deletion at",
"contact_title": "12. Contact",
"controller_intro": "Truck Wash ApS is the data controller for processing in the Truck Wash customer portal and app.",
"controller_title": "1. Data controller",
"data": {
"account": "Konto- og kontaktoplysninger, herunder navn, virksomhed, adresse, e-mail, telefonnummer, kundenummer, brugernavn og sikkerhedsoplysninger.",
"content": "Indhold, du indsender, herunder supportbeskeder, billeder, bilag og oplysninger i fejlrapporter.",
"service": "Køretøjer og registreringsnumre, bookinger, vaskehistorik, ordrer, fakturaer, abonnementer samt betalings- og transaktionsstatus.",
"technical": "Session-, enheds-, browser-, netværks-, sikkerheds- og diagnostikoplysninger, når de er nødvendige for drift, fejlfinding og beskyttelse mod misbrug."
"account": "Account and contact information, including name, company, address, email, phone number, customer number, username, and security information.",
"content": "Content you submit, including support messages, photos, attachments, and information included in error reports.",
"service": "Vehicles and registration plates, bookings, wash history, orders, invoices, subscriptions, and payment or transaction status.",
"technical": "Session, device, browser, network, security, and diagnostic information when needed to operate, troubleshoot, and protect the service."
},
"data_intro": "Afhængigt af de funktioner og den adgang, du bruger, behandler vi:",
"data_title": "3. Oplysninger vi behandler",
"deletion_body": "Når du er logget ind, kan du starte kontosletning under Profil → Slet konto. Din identitet bekræftes med adgangskode og eventuel totrinsbekræftelse. Når anmodningen accepteres, spærres din adgang og aktive sessioner straks, og personlige profiloplysninger slettes eller anonymiseres gennem vores sletteproces.",
"deletion_retained": "Fakturaer, betalingsdokumentation, ordrer, tilknyttet vaskehistorik og begrænsede sikkerheds- eller revisionslogs kan bevares i den periode, som regnskabs-, sikkerheds- eller andre lovkrav kræver. De bruges ikke til markedsføring efter sletteanmodningen.",
"deletion_title": "7. Kontosletning",
"meta_description": "Privatlivspolitik for Truck Wash kundeportal og iOS-app.",
"permissions": "Kameraet bruges kun, når du vælger at scanne QR-koder eller registreringsnumre. Placering bruges, mens appen er åben, til at finde eller bekræfte den nærmeste Truck Wash-afdeling. Adgang kan afvises i enhedens indstillinger.",
"data_intro": "Depending on the features and access you use, we process:",
"data_title": "3. Information we process",
"deletion_body": "When signed in, you can start account deletion under ProfileDelete account. Your identity is confirmed using your password and two-factor authentication when enabled. Once accepted, access and active sessions are revoked immediately, and personal profile information is deleted or anonymized through our deletion process.",
"deletion_retained": "Invoices, payment documentation, orders, connected wash history, and limited security or audit logs may be retained for the period required by accounting, security, or other applicable laws. They are not used for marketing after the deletion request.",
"deletion_title": "7. Account deletion",
"meta_description": "Privacy policy for the Truck Wash customer portal and iOS app.",
"permissions": "The camera is used only when you choose to scan QR codes or registration plates. Location is used while the app is open to find or confirm the nearest Truck Wash department. Access can be denied in the device settings.",
"processors": {
"economic": "e-conomic til kunde-, ordre-, faktura- og regnskabsbehandling.",
"hosting": "Drifts-, hosting-, kommunikations- og sikkerhedsleverandører, som behandler oplysninger på vores vegne.",
"microsoft": "Microsoft, hvis du frivilligt forbinder Microsoft-kalender eller -login.",
"recaptcha": "Google reCAPTCHA, når risikovurdering eller beskyttelse mod automatiseret misbrug aktiveres.",
"stripe": "Stripe, når en afdeling eller betaling bruger Stripe til betalingsbehandling."
"economic": "e-conomic for customer, order, invoice, and accounting processing.",
"hosting": "Operations, hosting, communications, and security providers that process information on our behalf.",
"microsoft": "Microsoft when you voluntarily connect Microsoft calendar or sign-in.",
"recaptcha": "Google reCAPTCHA when risk assessment or protection against automated abuse is activated.",
"stripe": "Stripe when a department or payment uses Stripe payment processing."
},
"purposes_body": "Vi behandler oplysninger for at oprette og sikre konti, levere booking og vask, administrere køretøjer, ordrer og fakturaer, gennemføre betalinger, sende nødvendige servicebeskeder, yde support, forebygge misbrug og overholde regnskabs- og andre lovkrav. Retsgrundlaget er opfyldelse af aftale, legitim interesse, retlig forpligtelse og samtykke, hvor det er påkrævet.",
"purposes_title": "4. Formål og retsgrundlag",
"retention_body": "Profil- og servicedata opbevares, mens kontoen eller kundeforholdet er aktivt, og derefter kun så længe det er nødvendigt for dokumenterede formål, tvister og gældende lov. Sikkerhedslogs opbevares i en begrænset periode. Lovpligtige regnskabs- og transaktionsdata kan have en længere opbevaringsperiode.",
"retention_title": "6. Opbevaring",
"purposes_body": "We process information to create and secure accounts, provide booking and wash services, manage vehicles, orders and invoices, process payments, send necessary service messages, provide support, prevent abuse, and comply with accounting and other legal duties. The legal bases are contract performance, legitimate interests, legal obligations, and consent where required.",
"purposes_title": "4. Purposes and legal bases",
"retention_body": "Profile and service data are retained while the account or customer relationship is active and then only as long as necessary for documented purposes, disputes, and applicable law. Security logs are kept for a limited period. Legally required accounting and transaction data may have a longer retention period.",
"retention_title": "6. Retention",
"rights": {
"access": "Indsigt i de personoplysninger, vi behandler om dig.",
"complaint": "Klage til Datatilsynet eller en anden kompetent tilsynsmyndighed.",
"correction": "Rettelse af urigtige eller ufuldstændige oplysninger.",
"erasure": "Sletning, når behandlingen ikke længere er nødvendig eller lovpligtig.",
"objection": "Indsigelse mod behandling baseret på legitim interesse.",
"portability": "Dataportabilitet, hvor reglerne giver ret til det.",
"restriction": "Begrænsning af behandling i de tilfælde, loven fastsætter."
"access": "Access to the personal information we process about you.",
"complaint": "Complain to the Danish Data Protection Agency or another competent supervisory authority.",
"correction": "Correction of inaccurate or incomplete information.",
"erasure": "Erasure when processing is no longer necessary or legally required.",
"objection": "Object to processing based on legitimate interests.",
"portability": "Data portability where the rules provide that right.",
"restriction": "Restriction of processing in the situations provided by law."
},
"rights_intro": "Afhængigt af situationen har du ret til:",
"rights_title": "10. Dine rettigheder",
"scope_body": "Politikken gælder for truckwash.io, Truck Wash kundeportal og den native iOS-app. Den dækker både kunder og chauffører samt de administrative funktioner, som en bruger har fået adgang til.",
"scope_title": "2. Omfang",
"security_body": "Vi bruger adgangskontrol, krypteret transport, sessionsbeskyttelse, logning og organisatoriske procedurer til at beskytte oplysninger. Ingen tjeneste kan garanteres fuldstændig sikker; kontakt os straks ved mistanke om misbrug.",
"security_title": "8. Sikkerhed",
"sharing_intro": "Vi videregiver kun oplysninger, når det er nødvendigt for tjenesten, vores aftale, sikkerhed eller lovkrav. Relevante kategorier af databehandlere og selvstændige dataansvarlige omfatter:",
"sharing_limit": "Vi sælger ikke personoplysninger og bruger dem ikke til tredjepartsannoncering eller sporing på tværs af andre virksomheders apps og websites.",
"sharing_title": "5. Leverandører og deling",
"support_link": "Gå til support",
"title": "Privatlivspolitik",
"tracking_body": "Portalen bruger nødvendig lokal lagring og sessionsmekanismer til login, sikkerhed, sprog og funktionalitet. Eksterne login-, betalings- eller misbrugsbeskyttelsestjenester kan behandle tekniske oplysninger, når deres funktion bruges. Vi bruger ikke reklamecookies eller markedsføringsanalyse i appen.",
"tracking_title": "Cookies, lokal lagring og sporing",
"transfers_body": "Hvis en leverandør behandler oplysninger uden for EU/EØS, kræver vi et gyldigt overførselsgrundlag, såsom en tilstrækkelighedsafgørelse eller EU-standardkontraktbestemmelser, samt relevante supplerende sikkerhedsforanstaltninger.",
"transfers_title": "9. Internationale overførsler",
"updated": "Senest opdateret: 20. juli 2026"
"rights_intro": "Depending on the circumstances, you have the right to:",
"rights_title": "10. Your rights",
"scope_body": "This policy applies to truckwash.io, the Truck Wash customer portal, and the native iOS app. It covers customers and drivers as well as administrative functions to which a user has been granted access.",
"scope_title": "2. Scope",
"security_body": "We use access control, encrypted transport, session protection, logging, and organizational procedures to protect information. No service can be guaranteed completely secure; contact us immediately if you suspect misuse.",
"security_title": "8. Security",
"sharing_intro": "We disclose information only when necessary for the service, our agreement, security, or legal requirements. Relevant categories of processors and independent controllers include:",
"sharing_limit": "We do not sell personal information or use it for third-party advertising or tracking across other companies' apps and websites.",
"sharing_title": "5. Providers and sharing",
"support_link": "Go to support",
"title": "Privacy policy",
"tracking_body": "The portal uses necessary local storage and session mechanisms for sign-in, security, language, and functionality. External sign-in, payment, or abuse-prevention services may process technical information when their feature is used. We do not use advertising cookies or marketing analytics in the app.",
"tracking_title": "Cookies, local storage, and tracking",
"transfers_body": "If a provider processes information outside the EU/EEA, we require a valid transfer mechanism, such as an adequacy decision or EU Standard Contractual Clauses, together with appropriate supplementary safeguards.",
"transfers_title": "9. International transfers",
"updated": "Last updated: July 20, 2026"
}
}
}
+1 -1
View File
@@ -3,7 +3,7 @@ import { expect, test } from "@playwright/test";
test("mobile header clears the simulated iPhone safe area", async ({ page }, testInfo) => {
test.skip(!["chromium-mobile", "webkit-mobile"].includes(testInfo.project.name), "Mobile browser coverage only.");
await page.goto("/login", { waitUntil: "domcontentloaded" });
await page.goto("/guest/home", { waitUntil: "domcontentloaded" });
const header = page.locator("nav.mobile-header-section");
const spacer = page.locator(".navbar-spacer");