Убольшинства пользователей данные, документы, изображения и прочее распределены по многочисленным хранилищам данных. Перемещение всех объектов из точки A в точку B должно быть сравнительно простой задачей, но обычно так не получается. Например, предположим, что пользователь хочет переместить фотографии из Google в Facebook. Весь процесс должен заключаться в нажатии нескольких кнопок, но на самом деле он довольно сложен. Компании, работающие в изменчивой среде социальных сетей и множества платформ, сталкиваются с нетривиальными проблемами при загрузке данных и с опасностью нарушения конфиденциальности в процессе пересылки.

Лидеры отрасли хотят изменить ситуацию с помощью проекта Data Transfer Project (https://datatransferproject.dev/). Если этот масштабный проект будет успешен, то результатом станет открытый стандарт переносимости данных. Работу над проектом возглавляют Google, Facebook, Twitter и Microsoft. Их цель — предоставить пользователям возможность пересылать данные из одной службы в другую, не загружая и не передавая данные повторно. В заявлении группы отмечается, что упрощение выбора между службами способствует конкуренции, позволяет отдельным пользователям опробовать новые службы и остановиться на самом подходящем для них варианте.

Facebook комментирует ситуацию следующим образом (https://newsroom.fb.com/news/2018/07/data-transfer-project/): «Перемещение данных между любыми двумя службами может быть делом нелегким, так как все службы построены по-разному и используют различные типы данных, для которых могут требоваться уникальные элементы управления конфиденциальностью и настройки. Например, вы можете использовать приложение для общего доступа к фотографиям, социальное приложение для общения с друзьями и фитнес-приложение, чтобы поддерживать свою физическую форму. Пользователям хочется иметь возможность перемещать свои данные между службами различных типов, но в то же время они надеются, что компании, которые помогают им в этом, защитят их данные. Именно такие задачи будут решаться в рамках проекта Data Transfer Project».

Относительно временных рамок проекта (https://blogs.microsoft.com/eupolicy/2018/07/20/microsoft-facebook-google-and-twitter-introduce-the-data-transfer-project-an-open-source-initiative-for-consumer-data-portability/) инженер-программист Google Брайан Уиллард высказал ряд соображений в своей статье (https://www.theverge.com/2018/7/27/17619570/vergecast-podcast-315-macbook-pro-review-lenovo-smart-display).

Уиллард пояснил, что, хотя пользователи Google уже могут передавать данные в другие хранилища, такие как Box или OneDrive, они по-прежнему остаются с zip-файлом в «облаке»: «DTP представляет собой попытку разрешить все эти проблемы, передавая данные в «облаке» напрямую другому поставщику служб».

В своей статье Уиллард также упомянул европейскую инициативу GDPR («Общие правила защиты данных»). GDPR, которая была реализована в мае 2018 года, требует строгой защиты данных и контроля конфиденциальности для всех граждан ЕС, и одно из требований касается переносимости данных. В частности, требуется, чтобы граждане могли «получать персональные данные, предоставленные ими контролеру, в структурированном, широко используемом и читаемом машиной формате», а контролер передавал эти данные другому контролеру.

Эволюция DTP

История DTP началась еще 10 лет назад, когда группа инженеров Google сформировала «Фронт освобождения данных». Идея была та же самая — полная переносимость данных, но время еще не пришло. Вновь внимание к этой теме было обращено в 2011 году с появлением Takeout, механизма, позволяющего экспортировать данные из одной службы Google в другую. Например, пользователь может экспортировать и загружать данные из Google Contact, Tasks, Calendar или любого другого продукта Google в различных форматах.

Это было хорошее начало, но планы инженеров Google были гораздо более смелыми — они хотели передавать данные между службами. Группа Data Transfer Project была организована в 2017 году для создания открытой платформы переноса данных между поставщиками интернет-служб.

DTP в действии

Как работает перенос? «Механизм сложен, — говорит Уиллард, — поскольку данные каждого типа — контакты, данные профиля, фотографии и т. д. — имеют различный формат. Кроме того, формат даже одного типа данных, например контактов, может быть разным в зависимости от службы». Чтобы обеспечить гладкий перенос, каждая компания должна проектировать адаптеры для приведения своих API-интерфейсов к единому формату. Поскольку формат открытый, любая компания может создавать адаптеры для своих API-интерфейсов, чтобы получить доступ к информации.

Например, когда адаптеры построены, кто-то, использующий новое приложение для обмена фотографиями, может получить сообщение с предложением импортировать фотографии в Facebook. Пользователь щелкнет ссылку — и после проверки подлинности в службе может запускать передачу данных.

При работе над проектом, как рассказывает Уиллард, все участники уделяют особое внимание конфиденциальности и безопасности данных. Все данные, как пересылаемые, так и неактивные, шифруются с использованием уникального ключа, а учетные данные уничтожаются сразу после завершения пересылки. Кроме того, службы должны согласовать передачу данных между собой и потребуют независимой проверки подлинности каждой учетной записи. DTP также будет отслеживать количество и частоту пересылок для каждого пользователя и отзывать токены в случае их утечки.

После того как система вступит в действие, что, по словам Уилларда, займет некоторое время, существует целый ряд способов использовать ее с пользой как для компаний, так и для отдельных пользователей. Например, пользователи могут без проблем опробовать новые службы с собственными данными или архивировать данные в «облачном» хранилище.

Уиллард отметил, что опытные пользователи получат дополнительные возможности (https://github.com/google/data-transfer-project/blob/master/Documentation/Integration.md). Поскольку проект открытый, каждый может исследовать программный код и убедиться, что данные не собираются и не используются для профилирования. Технически грамотные пользователи могут самостоятельно загрузить и запустить экземпляр инфраструктуры. Среди прочих применений технологии может быть следующее: небольшая компания, которая стремится развиваться и привлекает новых клиентов, может спроектировать адаптер и получить доступ к данным потребителей, предварительно получив их согласие.

Дальнейшие шаги

Уиллард надеется привлечь к участию в проекте DTP другие крупные компании, что критически важно для расширения базы адаптеров. В проекте уже имеются адаптеры Google, Microsoft, Twitter, Instagram, Flickr, Remember the Milk и SmugMug и обрабатываются данные пяти типов: почта, контакты, календарь, фотографии и задачи. В настоящее время компания Google планирует встроить свои адаптеры в пользовательский интерфейс Google.

Предстоит принять и другие решения, в частности как управлять системой. Например, будет ли существовать «магазин адаптеров»? Каким образом группа будет разрешать или запрещать адаптеры? Есть ли у них право запрещать на открытой платформе?

Уиллард полагает, что со временем удастся реализовать потенциал DTP как открытой платформы для переноса данных, одновременно защищая данные и сохраняя контроль над ними.

Открытый исходный код проекта DTP опубликован по адресу: datatransferproject.dev.