Перейти до основного вмісту
megapromotingПоговорімо

Експертиза · Інституції та державні компанії

Три списки, не один: що ми вже побудували, що інтегруємо на запит і на яких умовах, і чого ми не робимо.

Ми будуємо платформи для взаємодії установи з публікою: приймання й спрямування звернень до компетентного органу, справа з згенерованим документом, відстежувані законні строки, модерація з людським шлюзом, доступний публічний архів і строки зберігання, застосовані кодом. Інтероперабельність із урядовими сервісами ми розглядаємо окремо, з реальним станом кожного з них.

Вже збудованоDouă platforme proprii, ambele publice și verificabile azi. Prima e o platformă civică în producție, cu 65 de rute de interfață de programare, peste 50 de migrări versionate, 103 fișiere de test pe partea de server și 59 de scenarii capăt-la-capăt, cu catalogul de autorități completat manual de pe site-urile oficiale ale instituțiilor. A doua e o platformă informațională construită pentru o instituție de stat: 573 de comunicate migrate dintr-un sistem vechi, opt categorii reale în locul uneia care ținea 545 din 573, căutare fără server, generator scris în Python fără nicio dependență externă. Pentru interoperabilitatea cu serviciile de stat am ales să nu folosim „livrat”: codul de autentificare federată și de semnătură electronică e scris și testat, dar oprit — lipsesc contractul cu autoritatea și certificatul de sistem, nu codul. Îl trecem la lista a doua, nu la prima.

Установа купує не програмне забезпечення, а здатність відповісти в строк, встановлений законом. Тому перше запитання, яке ми ставимо, не яке функції ви хочете, а: який правовий строк, від коли він починає спливати, хто відповідає за кожен етап і що станеться в день, коли строк наближається, а ніхто не подивився.

Ми побудували відповідь на це запитання у власній платформі. Звернення стає справою з визначеним компетентним органом через чотири рівні специфічності — сектор, населений пункт, категорія, потім загальне визначення — з пріоритетом у разі рівності. Строк у 30 днів обчислюється під час читання, від дати надсилання, тож не існує індикатора, який відстає; черга модерації попереджає з 25-го дня, щоб хтось міг наполягти до спливу строку.

Те, до чого ми ставимося найсерйозніше, — це те, що не публікується. Сире фото залишається приватним доказом; у публіку потрапляє лише відредагована версія, із застосованими регіонами та явним схваленням модератора — і той, хто редагує, не є тим, хто схвалює. Строки зберігання — це не обіцянка політики: вони лежать у базі даних, кожен із опублікованим дослівним текстом і правовою підставою поруч, а функція очищення неявно звітує, що вона б видалила; реальне видалення потребує явного аргументу.

Про взаємодію з урядовими сервісами ми кажемо точно, де ми є, бо це зона з найбільшою кількістю порожніх обіцянок на ринку. Федеративну автентифікацію та електронний підпис ми маємо написаними з нуля, з тестами, за публічною документацією органу влади — і вимкненими перемикачем. Чого бракує, так це не коду: це договір, системний сертифікат, виданий оператором інфраструктури, і реєстрація виробничої адреси. Для платіжної платформи, шини взаємодії та кабінету громадянина в нас немає жодного рядка коду, і ми не стверджуємо нічого іншого.

Що входить

Робота, за складовими

Приймання звернення та спрямування до компетентного органу

Визначення адресата відбувається на чотирьох рівнях специфічності — правило для сектору, правило для населеного пункту, правило для категорії, потім загальне визначення категорії — з пріоритетом у разі рівності, а призначення обирається в порядку: призначення правила, потім адреса приймання органу, потім його загальна адреса. У продукції каталог має 102 установи, з яких 95 із заповненою адресою.

Каталог органів влади, доповнений вручну, з порожніми полями, залишеними порожніми

Кожну адресу електронної пошти, телефон і місцезнаходження було скопійовано з офіційного сайту установи. Там, де адресу не вдалося підтвердити на офіційній сторінці, поле залишилося порожнім, із зазначеною причиною. Нічого не було заповнено з пам’яті або з агрегаторів — бо звернення, надіслане на вигадану адресу, гірше за ненадіслане.

Справа з документом, згенерованим без зовнішніх залежностей під час виконання

Документ будується в застосунку, із шрифтами, вбудованими в репозиторій — жодного запиту до сервісу шрифтів під час генерації. Поруч генерується текст звернення та повідомлення, вимагаяне статтею 19 Закону 195/2024, як окремий модуль без залежностей, тож це можна перевіряти по частинах.

Два окремі шляхи, з різними правовими наслідками

Анонімне повідомлення і підписане звернення — це не одне й те саме, і платформа їх не змішує. Підписане звернення ідентифікує громадянина перед органом влади, і лише тоді починає спливати 30-денний строк із Адміністративного кодексу; анонімні звернення не розглядаються, і платформа каже це замість того, щоб залишати протилежну ілюзію. Анонімний шлях має окрему згоду, бо позначка про передання органу влади була б там хибним твердженням.

Модерація з ворітами, закритими за замовчуванням, і розділення ролей

Нічого не потрапляє в публіку без людського підтвердження. Сире фото залишається приватним доказом; у публіку потрапляє лише відредагований похідний матеріал, із збереженим походженням і явним схваленням модератора, а той, хто редагує, не є тим, хто схвалює. Якщо стан медіа стає небезпечним, справа автоматично вилучається з публіки.

Правові строки, що обчислюються, а не позначаються

Ці 30 днів обчислюються під час читання, від дати надсилання, тож не існує індикатора, який відстає від реальності. Попередження в черзі модерації починається з 25-го дня. Передання має журнал із спробою, збереженим ідентифікатором повідомлення та класифікацією між постійною відмовою і тимчасовою помилкою.

Доступність, перевірена автоматично під час кожної поставки

Перевірка запускається в автоматизованих тестах за критеріями WCAG 2.0 A і AA плюс 2.1 A і AA. Лише критичні та серйозні проблеми зупиняють поставку, але є базова лінія для кожної сторінки, що означає: будь-яка нова проблема зупиняє поставку, навіть якщо загальний рівень не змінився. Контраст було виправлено шляхом виведення виправленого кольору, щоб інструмент міг оцінити його фактично, а не лише зовні.

Міграція старого інституційного сайту з перекатегоризацією контенту

Для державної установи ми перенесли 573 повідомлення зі старої системи через її публічний інтерфейс і перебудували таксономію: вісім реальних категорій замість однієї категорії, яка містила 545 із 573. Результат статичний — 697 файлів, 14 MB, пошук без сервера через індекс із зіставленням за префіксом, поданий у стисненому вигляді — з 33.497 внутрішніми посиланнями, перевіреними, і нульом битих.

Сторінки, які вимагає закон, розглянуті як вимога, а не як додаток

Заява про доступність, інформація про обробку даних відповідно до Закону 195/2024, розділ відкритих даних, карта сайту. Ми будуємо їх разом з рештою, тому що додані наприкінці вони виходять формальними й марними.

Як це виглядає

Шлях, крок за кроком.

01

Починаємо з юридичного строку та відповідального, а не з функцій

Який строк, від коли він обчислюється, хто відповідає на кожному етапі, що відбувається у разі перевищення. Ми постачаємо: карту етапів із відповідальним за кожен і розрахованими строками, плюс список юридичних підстав, процитованих на статтю.

02

Будуємо каталог одержувачів, перевірений за офіційними джерелами

Кожну адресу копіюють зі офіційної сторінки установи. Те, що не можна підтвердити, залишається порожнім, із зазначеною причиною. Ми постачаємо: каталог із джерелом кожного поля та явний список полів, що залишилися незаповненими.

03

Ставимо людську перевірку та розділення ролей перед відкриттям

Ніщо не виходить і ніщо не публікується без людської дії, а той, хто готує, не є тим, хто затверджує. Ми постачаємо: процедуру модерації, ролі на платформі та автоматичну поведінку щодо контенту, що став небезпечним.

04

Перевіряємо доступність і захист даних як частину поставки

Автоматична перевірка доступності входить до поставки, з базовою лінією для кожної сторінки. Реєстр обробок заповнюється паралельно з кодом. Ми постачаємо: звіт про доступність із тим, що було виправлено і що залишилося, плюс реєстр із заповненою колонкою «де впроваджено».

05

Передаємо з відпрацьованою процедурою повернення

Публікацію, повернення до попередньої версії та процедуру очищення відпрацьовують щонайменше один раз перед передачею. Ми постачаємо: процедури, облікові записи персоналу з двофакторною автентифікацією та список рішень, що залишилися в компетенції установи.

Straturile peste teritoriu1solicitările depuse cu locațierotunjită la publicare2catalogul de autoritățicompetente pe sector, localitateși categorie3dosarul intern, care poartăelementele de identificare ce nuajung niciodată public4arhiva publică, cu mediaredactată și aprobată de un om
Straturile peste teritoriu

Дані

Чого торкаємося, де воно лежить і скільки лишається

Запитання, які ставить кожен, у кого є відповідальний за захист даних, — поставлені тут раніше, ніж їх поставить він.

Що публікується і що ні
Ідентифікаційні елементи — наприклад номер реєстрації — ідуть у внутрішню справу до органу й ніколи не з’являються публічно. Публічна позиція округлюється. Жодне фото не потрапляє на сайт без розмиття, схваленого людиною. Правила є обмеженнями в базі даних і в заголовках сайту, які може перевірити будь-хто, а не заявами про наміри.
Строки зберігання, з опублікованим текстом поруч
Сира медіа — 90 днів, відредагована медіа — 3 роки, ідентичність того, хто повідомляє, — 3 роки, сканування етикетки — 12 місяців. Кожен рядок містить в одній таблиці опублікований текст дослівно та правову підставу. Функція очищення за замовчуванням повідомляє, що саме вона видалить; реальне видалення потребує явного аргументу, а щоденний таймер її запускає.
Права суб’єкта даних, як маршрути, а не як адреса електронної пошти
Експорт, видалення та облік запитів існують як функції платформи. Установа, яка отримує запит на доступ, має змогти його виконати, не відкриваючи базу даних вручну.
Журнал аудиту, з окремою видимістю
Події у справі зберігають актора, його роль, тип події та те, чи подія є внутрішньою або публічною. Маршрут передавання окремо зберігає адресу призначення, тему, тіло, шлях документа, що було запитано і що було відповідано, номер реєстрації, отриманий від установи, та моменти надсилання, реєстрації й відповіді.
Де зберігаються дані і як вони публікуються
PostgreSQL, на власній інфраструктурі, без контейнера: публікація — це символічне посилання, змінене атомарно, з перевіркою стану й автоматичним поверненням до попередньої версії, якщо перевірка не проходить. Розміщення на державній інфраструктурі, де це обов’язково за постановою уряду, — це вимога до проєкту, яку ми так і трактуємо, а не досвід, який ми приписуємо собі.

Випадок

Каталог органів влади, заповнений вручну, поле за полем

Ситуація

Щоб можна було спрямувати звернення, вам потрібна правильна адреса компетентної установи. Зведені джерела в інтернеті переповнені старими адресами, від реорганізованих або ліквідованих установ. Звернення, надіслане на мертву адресу, виглядає точно так само, як надіслане правильно — доки ніхто не відповідає в строк.

Що ми збудували

Ми заповнили каталог, відкриваючи офіційний сайт кожної установи й копіюючи звідти адресу електронної пошти, телефон і місцезнаходження. Там, де адресу не вдалося підтвердити на офіційній сторінці, поле залишилося порожнім, із записаною поруч причиною. Над каталогом ми додали розв’язувач із чотирма рівнями специфічності — сектор, населений пункт, категорія, загальне призначення — з пріоритетом при рівності, і явний порядок вибору адресата.

Що вийшло

У production є 102 установи, з яких 95 мають заповнену адресу, і 36 правил спрямування. Сім без адреси видно саме так, тож зрозуміло, куди платформа не може надіслати — замість того щоб надіслати кудись неправильно й здаватися, ніби все спрацювало.

Чого цей випадок не каже

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

Питання

Про що нас питають, перш ніж зателефонувати

Ви інтегровані з урядовими сервісами MPass, MSign, MPay або MConnect?

Ні, жоден не активний у production, і ми робимо розрізнення для кожного окремо. Для федеративної автентифікації ми написали з нуля постачальника послуг, із впровадженими специфічними захистами та автоматичними тестами; він вимикається перемикачем, а типовий тест перевіряє саме те, що вимкнений стан нічого не витікає. Для електронного підпису ми маємо повноцінний клієнт із транспортом на взаємному сертифікаті; наш внутрішній документ дослівно каже: «вимкнено, але повноцінно». Для платіжної платформи, магістралі інтероперабельності та кабінету громадянина ми не маємо жодного рядка коду й не пропонуємо нічого іншого.

Тоді чого вам бракує, щоб їх активувати?

Чотирьох речей, усіх поза кодом, і ми перелічуємо їх, щоб це можна було запланувати: адреси production сервісу, яка не є публічною; технічного опису інтерфейсу, що потребує акредитацій; системного сертифіката, виданого оператором інфраструктури держави; і реєстрації нашої production-адреси в органі e-урядування, плюс відповідного договору та щорічного збору. У реальному проєкті ці кроки — це етап із власною тривалістю, а не галочка під час запуску.

Що ви робите тим часом, якщо громадянину потрібно підписати?

Варіант самообслуговування, який працює сьогодні: громадянин підписує документ на офіційному порталі держави й завантажує його назад у платформу. Це не так зручно, як підпис у потоці, і ми це говоримо, але це реальний шлях, без контракту й без сертифіката — а коли інтеграцію буде активовано, форма справи не зміниться.

Ваша громадянська платформа фактично надсилала звернення до органів влади?

Ні, станом на 6 вересня 2026 року. Конвеєр побудовано, протестовано й свідомо пропущено через людську браму — справа переходить у стан «надіслано» лише після того, як лист фактично вирушив, передбачено повторні спроби, зростаючі паузи, журнал для кожної спроби, збереження ідентифікатора повідомлення та розрізнення між постійною відмовою й тимчасовою помилкою. Але на продакшені було 14 підготовлених справ і нуль надсилань. Не існує жодного автоматичного процесу, який би запускав перше надсилання: це рішення людини, а не наслідок публікації.

Чи працює інституційний сайт, який ви побудували, в установі?

Ні. Це функціональний макет, опублікований публічно й позначений як такий на кожній сторінці, з інструкцією не індексувати його для пошукових систем. Реальний контент перенесено й перекатегоризовано — 573 повідомлення, вісім категорій — але зображення все ще пов’язані з вихідним сайтом, жодне з 2.464 не має альтернативного тексту, англомовна версія архіву не перекладена, панель адміністрування не побудована, а кольори й символіка тимчасові. Ми перелічуємо це, бо різниця між переконливим макетом і запуском — це саме цей список.

Як ви обробляєте персональні дані зі звернення?

Як ризик, а не як деталь. Ідентифікаційні елементи йдуть у внутрішню справу й не з’являються публічно. Публічна позиція є узагальненою. Сире фото лишається приватним доказом, а в публіку потрапляє лише відредагований похідний матеріал, затверджений людиною, відмінною від тієї, що його редагувала. Кожен строк зберігання в базі стоїть із опублікованим текстом і правовою підставою поруч, а реальне видалення потребує явного аргументу — функція, що тихо видаляє, є режимом збою, а не можливістю.

Який у вас досвід із розміщенням на державній інфраструктурі?

Ми проєктували для неї, а не працювали в ній. В одній справі для установи ми написали вимоги до розміщення на державній платформі відповідно до чинної урядової постанови, а репозиторій коду проєкту має ціллю машину на тій інфраструктурі. Але система там не працює: автентифікація в ній — це заміна, прямо позначена в коді як тимчасова, а адаптери до установ — це заглушки першого етапу. Так і правильно сказано.

Чи можете ви будувати національні реєстри, системи керування справами кримінального провадження або кадастрові системи?

Ні. Ми не будували жодної з них, не маємо команди з таким досвідом і не будемо брати участь у тендерах так, ніби маємо. Наша сфера — взаємодія установи з громадськістю: приймання й спрямування запитів, публікація інформації, відстеження строків і захист даних у потоці. Коли установі потрібен базовий реєстр державної бази даних, їй потрібен інший постачальник.

Чи маєте ви статус зареєстрованого постачальника або сертифікації, потрібні в публічних закупівлях?

Ми не маємо сертифікацій із менеджменту якості чи інформаційної безпеки і не зареєстровані як урядовий постачальник у жодній міжнародній програмі. Процедуру закупівлі, вимоги до відповідності та потрібні документи визначають разом з установою, і якщо якась вимога до відповідності нас виключає, краще побачити це на початку. Ми не компенсуємо відсутність сертифіката формулюванням, яке мало б вигляд, ніби він у нас є.

На чому ґрунтуються твердження вище (24 джерел)
  1. Platforma civică răspunde publichttps://sesizari.md · 2026-09-06
  2. Reper de piață pentru structura ofertei de e-guvernare: identitate digitală, infrastructură de semnătură, magistrală de interoperabilitate, registre naționale de date, directoare de e-servicii, notificări, plăți, cadastru și GIS, abordare mobilăhttps://www.dotgovsolutions.net · 2026-09-06

22 з них — це код і файли з наших репозиторіїв. Ми не публікуємо їхні назви чи номери рядків: разом, на одній сторінці, це надто точно описало б, як побудовані системи, які належать не лише нам. Ми проходимо їх разом із вами, у репозиторії, за запитом — перевірка залишається можливою, просто вона відбувається в розмові.

Що вам хотілося б налагодити?

Розкажіть про свій процес. Разом визначимо, що варто збудувати, що можна підключити і як перевіримо результат.

Поговорімо