Перейти к основному содержимому
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-го дня, чтобы кто-то мог вмешаться до истечения срока.

Часть, которую мы рассматриваем наиболее серьёзно, — это то, что не публикуется. Исходная фотография остаётся частным доказательством; публично попадает только отредактированная версия, с применёнными областями и явным одобрением модератора — и тот, кто редактирует, не тот, кто утверждает. Сроки хранения — не обещание политики: они находятся в базе данных, каждый с опубликованным текстом слово в слово и правовым основанием рядом, а функция очистки по умолчанию сообщает, что бы она удалила; реальное удаление требует явного аргумента.

О межоперабельности с государственными сервисами мы говорим точно, где находимся, потому что это зона с наибольшим количеством пустых обещаний на рынке. Федеративную аутентификацию и электронную подпись мы написали с нуля, с тестами, по публичной документации органа — и отключили переключателем. Чего не хватает, так это не кода: договора, системного сертификата, выданного оператором инфраструктуры, и регистрации production-адреса. Для платёжной платформы, шины интероперабельности и кабинета гражданина у нас нет ни одной строки кода, и мы не заявляем ничего другого.

Что входит

Работа, по составляющим

Приём обращения и направление его в компетентный орган

Определение получателя выполняется по четырём уровням специфичности — правило по сектору, правило по населённому пункту, правило по категории, затем общее отнесение категории — с приоритетом при равенстве, а назначение выбирается по порядку: назначение правила, затем адрес приёма органа, затем его общий адрес. В продакшене каталог содержит 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 месяцев. Каждая строка хранит в той же таблице опубликованный текст дословно и правовое основание. Функция очистки по умолчанию сообщает, что бы она удалила; фактическое удаление требует явного аргумента, а ежедневный таймер её запускает.
Права субъекта данных, как маршруты, а не как адрес e-mail
Экспорт, удаление и учёт запросов существуют как функции платформы. Учреждение, которое получает запрос на доступ, должно уметь его выполнить, не открывая базу данных вручную.
Журнал аудита, с отдельной видимостью
События по делу сохраняют актёра, его роль, тип события и то, является ли событие внутренним или публичным. Путь передачи отдельно сохраняет назначение, тему, текст, путь документа, что было запрошено и что было отвечено, регистрационный номер, полученный от учреждения, и моменты отправки, регистрации и ответа.
Где хранятся данные и как публикуется
PostgreSQL, на собственной инфраструктуре, без контейнера: публикация — это символическая ссылка, заменяемая атомарно, с проверкой состояния и автоматическим возвратом к предыдущей версии, если проверка не проходит. Размещение на государственной инфраструктуре, где это обязательно по постановлению правительства, — это требование проекта, которое мы так и рассматриваем, а не опыт, который мы заявляем.

Случай

Каталог органов, заполненный вручную, поле за полем

Ситуация

Чтобы направить запрос, вам нужен правильный адрес компетентного учреждения. Сводные источники в интернете полны старых адресов, от реорганизованных или ликвидированных учреждений. Запрос, отправленный на мёртвый адрес, выглядит точно так же, как отправленный правильно, — пока никто не ответит в срок.

Что мы построили

Мы заполнили каталог, открывая официальный сайт каждого учреждения и копируя оттуда e-mail, телефон и адрес. Там, где адрес не удалось подтвердить на официальной странице, поле осталось пустым, с указанной рядом причиной. Над каталогом мы поставили решатель с четырьмя уровнями специфичности — сектор, населённый пункт, категория, общее назначение — с приоритетом при равенстве и явным порядком выбора назначения.

Что получилось

В production — 102 учреждения, из которых 95 имеют заполненный адрес, и 36 правил маршрутизации. Те семь без адреса видны как таковые, поэтому известно, куда платформа не может отправить, — вместо того чтобы отправить куда-то неправильно и казалось бы, что она сработала.

Чего этот случай не говорит

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

Вопросы

О чём нас спрашивают перед тем, как позвонить

Вы интегрированы с государственными службами MPass, MSign, MPay или MConnect?

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

Тогда чего вам не хватает, чтобы их активировать?

Четырёх вещей, все вне кода, и мы перечисляем их, чтобы их можно было спланировать: производственный адрес сервиса, который не публичен; техническое описание интерфейса, требующее аккредитаций; системный сертификат, выданный оператором государственной инфраструктуры; и регистрацию нашего производственного адреса в органе электронного правительства, плюс соответствующий договор и ежегодный сбор. В реальном проекте эти шаги — этап со своей длительностью, а не галочка при запуске.

Что вы делаете до тех пор, если гражданин должен подписать?

Вариант самообслуживания, который работает сегодня: гражданин подписывает документ на официальном портале государства и загружает его обратно в платформу. Это не так удобно, как подписание в потоке, и мы это говорим, но это реальный путь, без контракта и без сертификата — а когда интеграция активируется, форма дела не меняется.

Ваша гражданская платформа фактически отправляла обращения властям?

Нет, до 6 сентября 2026. Конвейер построен, протестирован и сознательно пропущен через человеческие ворота — дело переходит в состояние «отправлено» только после того, как конверт действительно ушел, транспорт имеет повторные попытки, возрастающие паузы, журнал по каждой попытке, сохраненный идентификатор сообщения и различие между постоянным отказом и временной ошибкой. Но в production были 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 из них — код и файлы из наших репозиториев. Мы не публикуем их название и строку: вместе, на одной странице, они слишком точно описали бы, как устроены системы, которые принадлежат не только нам. Мы разбираем их вместе с тобой, в репозитории, по запросу — проверка остаётся возможной, просто она проходит в разговоре.

Что вы хотели бы наладить?

Расскажите о своём процессе. Вместе определим, что стоит построить, что можно подключить и как проверим результат.

Давайте обсудим