Wszystkie synchronizacje, połączenia SSH i ustawienia znajdują się w jednym pliku w formacie JSON. To z niego wspólnie korzystają program i usługa w tle.
| Windows | %APPDATA%\autofilesync\autofilesync.json |
| Linux | $XDG_CONFIG_HOME/autofilesync/autofilesync.json, w przeciwnym razie ~/.config/autofilesync/autofilesync.json |
| macOS | ~/Library/Application Support/autofilesync/autofilesync.json |
Dla każdej synchronizacji nazwę, typ, źródło, cel, symbol wieloznaczny, wykluczenia, opcje i przerwę; do tego połączenia SSH i ustawienia ogólne. Hasła do połączeń SSH i do serwera poczty wychodzącej są zapisywane zaszyfrowane, nie jawnym tekstem.
Plik jest w kodowaniu UTF-8 i w razie potrzeby można go obejrzeć w edytorze tekstu. Klucza, którego starsza wersja programu jeszcze nie znała, w starych plikach po prostu brakuje – AutoFileSync używa wtedy udokumentowanej wartości domyślnej i mimo to wczytuje plik. Pojedynczy uszkodzony wpis również nie powoduje utraty całej konfiguracji; zostaje pominięty.
Przykładem jest klucz warnIfUnreachable wśród opcji synchronizacji (syncflags). Odpowiada opcji Ostrzegaj, gdy brakuje dysku lub połączenia SSH: true oznacza, że brakujący dysk jest zgłaszany jako ostrzeżenie, false – że jest tylko odnotowywany w dzienniku. Jeśli klucza brakuje, bo plik pochodzi ze starszej wersji, obowiązuje true. Pozostałe opcje mają obok własne klucze i w starych plikach, gdy ich brakuje, przyjmują false. Działanie opcji opisano w rozdziale Nieosiągalne dyski i połączenia.
Przy zapisie istniejący plik nie zostaje zniszczony, jeśli zapis się nie powiedzie – w razie wątpliwości zachowany zostaje poprzedni stan.