You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit db195bf
Browse filesBrowse the repository at this point in the historyBrowse files
feat(settings): the routing key goes back onto the stick it came from
Configuring this car meant a key on a USB stick, because typing sixty
characters on this head unit is not something anyone does twice — and
there was no way back out. A second car, a factory reset, or the unstable
channel, which is a separate application id with its own preferences,
meant typing it again.
Export to USB writes the same `key = value` file Import from USB reads,
under one fixed name so a stale export cannot be picked up by a later
import, and to a removable volume only: the keys are not copied into a
second unencrypted place on the car.
This is the first time the key leaves the device. It is deliberate and it
is contained — parked only, driver-initiated, removable media only — and
it is said out loud in both directions: the file carries the warning in
its own header, and the screen says the stick now holds the keys in clear
text. RoutingCredentials.snapshot is the single way out, and its doc says
so where the old "the key never leaves this file" claim used to sit.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
<stringname="routing_absent">Non configuré. Saisissez une clé ou importez-la depuis une clé USB.</string>
@@ -298,6 +299,9 @@ Consommation %6$s %% par km</string>
298
299
<stringname="routing_base_url_refused">Adresse refusée : %1$s. Elle doit être en https, sans identifiants ni paramètres.</string>
299
300
<stringname="routing_import_none">Aucun fichier de configuration trouvé. Placez sur une clé USB un fichier contenant la ligne ors_api_key = votre-clé.</string>
300
301
<stringname="routing_import_done">Importé depuis %1$s.</string>
302
+
<stringname="routing_export_empty">Rien à exporter pour l’instant. Saisissez d’abord une clé.</string>
303
+
<stringname="routing_export_failed">Aucune clé USB accessible en écriture. Insérez-en une et réessayez.</string>
304
+
<stringname="routing_export_done">Exporté vers %1$s sur la clé USB. Ce fichier contient vos clés d’API en clair : gardez la clé USB comme vous garderiez ces clés.</string>
301
305
<stringname="routing_privacy">Seuls la destination saisie, la position du véhicule et le profil de la route sortent de la voiture. Aucun trajet, aucune charge, aucune vitesse, aucun rapport de diagnostic ni identifiant n’est transmis. La clé est stockée chiffrée, n’est jamais journalisée et n’apparaît dans aucun export de diagnostic.</string>
302
306
<stringname="routing_refused_busy">Une requête est déjà en cours. Attendez sa réponse.</string>
303
307
<stringname="routing_refused_quota_minute">Trop de requêtes en peu de temps. Réessayez dans %1$s s.</string>
<stringname="routing_absent">Not configured. Enter a key, or import one from a USB stick.</string>
@@ -303,6 +304,9 @@ Spending %6$s %% per km</string>
303
304
<stringname="routing_base_url_refused">Address refused: %1$s. It must be https, with no credentials and no query.</string>
304
305
<stringname="routing_import_none">No configuration file found. Put one on a USB stick with a line reading ors_api_key = your-key.</string>
305
306
<stringname="routing_import_done">Imported from %1$s.</string>
307
+
<stringname="routing_export_empty">Nothing to export yet. Enter a key first.</string>
308
+
<stringname="routing_export_failed">No USB stick that can be written to. Insert one and try again.</string>
309
+
<stringname="routing_export_done">Exported to %1$s on the USB stick. That file holds your keys in clear text: keep the stick as you would keep them.</string>
306
310
<stringname="routing_privacy">Only the destination you type, the car’s position and the road profile ever leave the car. No trip, charge, speed, diagnostic bundle or identifier is sent anywhere. The key is stored encrypted, never written to a log and never included in a diagnostic export.</string>
307
311
<stringname="routing_refused_busy">A request is already in flight. Wait for it.</string>
308
312
<stringname="routing_refused_quota_minute">Too many requests just now. Try again in %1$s s.</string>
0 commit comments