Софтуерен инженер обяснява защо прегледът на декларацията за поверителност на мобилна библиотека е само началото на разбирането на нейните практики за данни.
Apple предупреди, че код на трети страни може да изложи на риск поверителността на потребителите на приложения, понякога дори без разработчиците да знаят. За екипите, които разработват iOS приложения, това създава трудна задача: да проверят какво правят външните компоненти с потребителските данни, отвъд това, което е посочено в техните декларации за поверителност.
Работата на Томаш Кубяк предлага детайлен преглед на начините, по които българските мобилни разработчици могат да оценят компонентите, които използват. Като софтуерен инженер, старши член на IEEEи съдия на AITEX Summit, той има десетилетие опит в инженерството и разработката на софтуер в Полша и Съединените щати. Разработвал е iOS приложения в Talixo, а сега работи като старши iOS софтуерен разработчик по приложението WalkFit в Welltech. Разгледахме практическия му опит и неговия четирислоен модел за разделяне на заявените практики за поверителност на библиотеката от това, което разработчиците могат да проверят независимо.
Какво казва една библиотека за данните
В първата стъпка от подхода, описан в неговото изследване „От декларацията за поверителност до оценката на надеждността на веригата за доставки на софтуер: Многослоен аналитичен модел за Swiftпакети с отворен код, предназначени за iOS“ в International Journal of Computer, Томаш предлага да се прегледа декларацията за поверителност за конкретната версия на разглежданата библиотека на трета страна. Тя описва заявените практики за данни на библиотеката, включително каква информация събира и защо използва определени функции на устройството. Разработчиците могат да поискат разяснения от екипа, който поддържа библиотеката, ако е необходимо.
„Декларацията дава на разработчиците отправна точка. Разбирането как библиотеката всъщност се държи изисква по-нататъшно проучване“, отбелязва Кубяк.
Отвъд файловете на проекта
Файловете на проекта на библиотеката може да съдържат декларация за поверителност, която е пропусната във версията, използвана от приложението. Във втората стъпка на Кубяк се проверява дали готовият компонент включва декларацията.
Фокусът му върху финалната версия също идва от практическия опит в предоставянето на актуализации на приложения. В Talixo, платформа за резервации на таксита и шофьорски услуги, Кубяк разработва iOSприложения за шофьори и клиенти от 2024 до 2025 г. Той играе ключова роля в модулното структуриране на приложенията и автоматизирането на изданията. Стратегията за кеширане, която той въвежда, намалява почти наполовина времето за непрекъсната интеграция (CI), докато автоматизацията на изданията намалява риска от ръчни грешки. По-предсказуемите издания помагат да се гарантира, че подобренията достигат до потребителите, както е планирано.
Правилно ли е подготвена декларацията?
Дори когато в библиотеката е включена декларация за поверителност, системата трябва да я разбере. В третия етап от своя модел Кубяк проверява дали документът отговаря на изискванията за форматиране на Apple. Автоматизираните проверки могат да помогнат за идентифициране на грешки, преди да бъде пуснат актуализиран компонент.
Вниманието към това дали техническите решения работят по предназначение се простира отвъд документацията за поверителност. Кубяк беше поканен за член на журито на AITEX Summit Summer 2026, „От идеи до въздействие“. Организирано от Асоциацията на експертите по информационни технологии, събитието събра участници от 11 държави. Журито му е съставено от изключителни инженери и технически архитекти, които изграждат и поддържат софтуерни системи в реална експлоатация в големи технологични компании и в целия корпоративен сектор.
„Като член на журито оценявах дали техническите решения в проектите позволяват да се изпълни обещаното“, казва Кубяк. „Например, една услуга превърна снимка на храна в запис в дневника за храна, който потребителите можеха да коригират, преди да запазят. Проверих дали имплементацията поддържа всяка стъпка от този процес и дали функцията работи по предназначение.“
„Изходният код не може да ни каже всичко“
Последният етап от оригиналния модел на Томаш сравнява декларацията за поверителност на библиотеката с наличния изходен код. Разработчиците проверяват дали заявената информация е в съответствие с това, което кодът разкрива за използването на определени функции на устройството. Всякакви несъответствия може да изискват изясняване, преди библиотеката да стане част от приложение.
Изследването на това как софтуерът се държи на практика е редовна част от работата на Кубяк в Welltech, компания, която разработва приложения за здраве и фитнес. От 2025 г. той е старши разработчик на iOSсофтуер, работещ по WalkFit, приложение за благополучие, фокусирано върху ходенето, с над 23 милиона изтегляния. Той ръководи големи iOS инициативи от продуктови експерименти до пускането на нови версии на приложението, като отговорностите му обхващат интеграция на здравни данни, готовност на платформата и споделени технически възможности.
При последователните версии на iOS приложението Томаш разрешава голям обем проблеми при реалната работа на приложението, обработва случаи, ескалирани от екипа за клиентска поддръжка, и отстранява критични сривове, маркирани от Crashlytics, инструмент за наблюдение на сривове в приложенията.
Кубяк прави приложението по-надеждно и създава A/B-тествана актуализация, която стартира по целия свят. Това води до двуцифрено процентно увеличение на ранната активация и конверсия на потребителите по време на ключови моменти за изграждане на навици, заедно с по-малко увеличение на ранното задържане. Той също така добавя функция за ръчно въвеждане на стъпки, която помага на повечето потребители да запазят своите серии. В резултат на това заявките за поддръжка на клиенти за свързани функции намаляват с около една трета, а негативните отзиви за проследяване на стъпки намаляват.
Дори внимателното съпоставяне на дадена декларация с наличния код си има своите граници. Това, което разработчиците виждат в кода, невинаги разкрива какво се случва, когато приложението реално работи.
„Изходният код не може да ни каже всичко“, обяснява Кубяк. „Едно извикване на API може да присъства в кода, без никога да бъде изпълнено, а при компонент със затворен код може изобщо да нямаме възможност да проверим реализацията. Манифест, който съответства на кода, който виждаме, ни предоставя полезни доказателства, но въпреки това са необходими тестове по време на изпълнение, за да разберем как реално се държи библиотеката.“
Тъй като дигиталните обществени услуги достигат до все повече хора в България, общественото доверие все повече зависи от това как разработчиците оценяват кода, който стои зад тях, включително компонентите на трети страни. Опитът на Томаш Кубяк може да помогне на нашите екипи за разработка да погледнат отвъд декларациите за поверителност, да оценят наличните доказателства и да определят къде е необходима допълнителна проверка.
