Toutes les synchronisations, connexions SSH et tous les paramètres se trouvent dans un fichier au format JSON. C'est ce fichier que se partagent le programme et le service en arrière-plan.
| Windows | %APPDATA%\autofilesync\autofilesync.json |
| Linux | $XDG_CONFIG_HOME/autofilesync/autofilesync.json, à défaut ~/.config/autofilesync/autofilesync.json |
| macOS | ~/Library/Application Support/autofilesync/autofilesync.json |
Pour chaque synchronisation : nom, type, source, cible, caractère générique, exclusions, options et pause ; en plus les connexions SSH et les paramètres généraux. Les mots de passe des connexions SSH et du serveur de courrier sortant sont enregistrés chiffrés, pas en clair.
Le fichier est en UTF-8 et peut, en cas d'urgence, être consulté avec un éditeur de texte. Une clé qu'une ancienne version du programme ne connaissait pas encore manque tout simplement dans les anciens fichiers – AutoFileSync utilise alors la valeur par défaut documentée et charge le fichier malgré tout. Une seule entrée endommagée ne fait pas non plus perdre toute la configuration ; elle est ignorée.
Un exemple est la clé warnIfUnreachable parmi les options d'une synchronisation (syncflags). Elle porte l'option Avertir si le lecteur ou la connexion SSH manque : true signifie qu'un lecteur absent est signalé par un avertissement, false qu'il est seulement noté dans le journal. Si la clé manque parce que le fichier vient d'une ancienne version, true s'applique. Les autres options se trouvent sous leurs propres clés à côté et valent false quand elles manquent dans d'anciens fichiers. Ce que fait l'option est décrit sous Lecteurs et connexions inaccessibles.
Lors de l'écriture, le fichier existant n'est pas détruit si l'enregistrement échoue – en cas de doute, l'ancien état est conservé.