История обновлений

v1.9 10.11.2026
  • Сайт снова работает после аварии у хостинг-провайдера: 1–2 ноября инфраструктура прежнего хостера была уничтожена вирусом-вайпером. Сайт восстановлен из собственной резервной копии базы от 27 октября и перенесён на нового провайдера в российский дата-центр
  • На главной появилось оповещение о случившемся: что произошло, что сохранилось, какие заявки утрачены и куда написать, если ответ не пришёл. Оповещение ведёт на подробный разбор
  • Новая статья «Почему сайт лежал три дня»: что случилось с Beget, почему резервные копии провайдера не спасли, что именно уцелело и что мы изменили в работе с бэкапами. В конце — чек-лист для тех, у кого свой сервер
  • Аккаунты, визитки и NFC-метки работают как раньше: адреса вида nfcrafter.ru/u/имя не изменились, перезаписывать метки не нужно. Фотографии, кнопки и настройки визиток сохранены — они хранились в базе и приехали вместе с ней
  • Трафик и статистика просмотров за 27 октября — 2 ноября утрачены: данные этого периода были только на погибшем сервере
  • Инфраструктура переехала с общего сервера на отдельный: теперь у проекта свой VPS, один набор контейнеров и собственный Caddy для HTTPS. Платный SSL не понадобился — сертификаты Let's Encrypt выпускаются автоматически
  • Резервное копирование переделано: база дампится каждую ночь по расписанию, хранится 14 копий, а скрипт проверяет размер файла — если дамп подозрительно маленький, приходит предупреждение вместо тихого «всё в порядке». Свежая копия регулярно скачивается вне сервера
  • Политика обработки персональных данных обновлена до редакции 2.1: сведения о хостинг-провайдере и месте размещения базы данных приведены в соответствие с новой инфраструктурой
  • Новая страница «Статус сервисов»: видно, работают ли сайт, API и база, и есть история инцидентов — чтобы при сбое не приходилось гадать, что происходит
  • RSS-лента новостей и статей: /rss.xml. На неё можно подписаться в любом агрегаторе, браузер находит её сам
  • Страница 404 перестала быть тупиком: кнопки в инструкции, статьи, инструменты, магазин и статус сервисов — вместо одной ссылки на главную
  • Появилась картинка превью для соцсетей: раньше при отправке ссылки на сайт в Telegram или ВКонтакте превью приходило без изображения
  • В личном кабинете можно скачать свою визитку файлом JSON — это ваша копия, независимая от сайта. Данные должны быть выгружаемыми
  • В админке появилась вкладка «Бэкапы»: размер базы, свежесть данных по таблицам и предупреждения, если данные давно не обновлялись
v1.8 21.10.2026
  • Конструктор визитки стал сама визитка: справа живой предпросмотр в рамке телефона, слева — шаги настройки. Сверху вниз: тема, адрес, короткая справка, «Шапка визитки», «Кнопки визитки». Обе секции свёрнуты, но в заголовке видно, что внутри: какие поля заполнены и какие кнопки активны
  • Пять новых тем оформления: «Стекло» (матовое стекло на бирюзовом фоне), «Строгий бизнес» (бланк с антиквой и кнопками в рамке), «Объём» (выпуклые кнопки и рамка у шапки), «Неон» (свечение текста и рамок), «Clay» (тёплый крафт с фактурой). Прежние «Фирменная», «Светлая» и «Тёмная» остались как были
  • Экран «Моя визитка»: визитка показана так, как её увидит гость на телефоне, рядом — статус «Опубликована» или «Черновик», адрес с кнопкой копирования, число кнопок, запись на метку и действия
  • «Снять с публикации» — одна кнопка на экране визитки: ссылка перестаёт открываться, но визитка, фото и кнопки остаются на месте. Публикацию можно включить снова
  • Сохраняем двумя кнопками: «Сохранить» оставляет визитку черновиком, «Сохранить и опубликовать» открывает её по ссылке. Согласие на распространение данных — отдельная галочка, без неё публикация не пройдёт. У опубликованной визитки «Сохранить» правки применяет, но с публикации не снимает
  • Из редактора можно выйти без сохранения кнопкой «Назад» — она стоит сверху и на телефоне, и на компьютере
  • Кнопок стало 26, и они разложены по категориям: связь, мессенджеры (Telegram, WhatsApp, МАКС, Skype, Discord, WeChat), соцсети и блоги (ВКонтакте, Одноклассники, Instagram, Facebook, X, TikTok, Pinterest, Дзен), видео (YouTube, RuTube, VK Видео, Twitch), карты (Яндекс Карты, 2ГИС, Apple Maps), музыка (Яндекс Музыка, Звук)
  • Добавление кнопки — через выезжающее меню с коротким списком: выбираете тип, вписываете только данные (имя, номер или адрес), домен подставляется сам. Плитка «Добавить кнопку» всегда последняя в списке
  • У каждой кнопки на визитке свой логотип, а настройки открываются по клику на плитку: короткое описание, поле, подсказка формата и действия. Иконки одноцветные и подстраиваются под тему визитки — и в предпросмотре, и на самой странице
  • «Сохранить контакт» теперь можно выключить тумблером: кнопка появляется сама, когда есть имя в шапке и телефон, а данные остаются на визитке в любом случае. В счётчике кнопок она учитывается — цифра совпадает с тем, что видит гость
  • Справка — один аккордеон вверху редактора и шесть шагов внутри: адрес, шапка, фото, кнопки, публикация, «Сохранить контакт». Всё свёрнуто по умолчанию, раскрывается по нужному шагу
  • На бесплатной визитке блок статистики убран совсем: вместо заглушки с предложением тарифа там теперь ничего нет
  • Ссылки-кнопки в статьях стали компактнее: тонкая рамка и небольшой размер, чтобы не выбиваться из текста. В светлой и тёмной теме — свои цвета
  • Новая статья: «Почему NFC Tools бесполезен для Mifare Classic и какие метки на самом деле существуют» — форматы NDEF и Mifare, виды меток (F08, Magic Gen1 и Gen2, FM11RF32, EV1), таблица выбора и разбор «костыля» с NDEF на Mifare
  • Новая инструкция: «Mifare Classic Tool: как клонировать ключ от домофона по шагам» — дамп, проверка секторов, запись на F08 или Gen2, отдельный режим для Gen1, финальная проверка и три частые ошибки
v1.7 09.10.2026
  • Новая страница «Оплата и доставка»: как оплатить заказ (карты, СБП), как приходит посылка через пункты выдачи и курьером, сроки и стоимость доставки, условия возврата и обмена, а также меры безопасности платежей. Ссылка на страницу добавлена в подвал и в боковое меню
  • В публичную оферту добавлены разделы об оплате (онлайн-оплата картой и через СБП, электронный чек) и доставке (пункты выдачи, постаматы, курьер; срок и стоимость считаются при оформлении). Отдельно указано: если заказ уже передан в доставку и вы от него отказываетесь, стоимость доставки не возвращается
  • Обращения в поддержку теперь можно создавать только после входа — так ответ всегда приходит в ваш личный кабинет и не теряется. Гостям, которые уже начинали переписку, она остаётся доступной для чтения
  • Счётчик непрочитанного больше не «висит» зря: раньше у вас горел красный счётчик сразу после собственного сообщения, хотя отвечать было нечего. Теперь он появляется только когда администрация действительно ответила, а после прочтения переписки сразу гаснет — и в меню, и в личном кабинете
  • Статус обращения теперь видно прямо в переписке: когда мы принимаем вопрос в работу, в диалоге появляется сообщение «Мы приняли ваше обращение в работу», а при закрытии — «Обращение закрыто». Раньше менялся только цвет ярлыка, и понять, что происходит, было нельзя
  • Если при закрытии обращения мы написали комментарий, он приходит вам в переписку, а следом — стандартное «Обращение закрыто»
  • Исправлено закрытие обращений: раньше при закрытии не записывалась дата закрытия, и обращения выглядели как незавершённые
  • Починена кнопка «Обратная связь» на телефоне: баннер с согласием на cookie перекрывал нижние пункты выезжающего меню, и нажатие по ним не срабатывало. Теперь, пока меню открыто, баннер скрывается
  • Телефон +7 919 491-56-83 перенесён на страницу «Контакты» (раньше дублировался в подвале каждой страницы). В подвале и меню оставлены только используемые соцсети — Telegram, VK и YouTube
  • В реквизитах продавца указаны страна (Россия) и виды деятельности: торговля и разработка ПО
  • Открыт каталог магазина: NFC-метки разложены по чипам (NTAG213, NTAG215, NTAG216, Mifare Classic 1K, Mifare Ultralight), а внутри — по форме, размеру, цвету и количеству в упаковке. Наклейки, коины, карты, брелоки и тэйбл-тенты для кафе — с фильтром по чипу. Каталог готов к наполнению ценами
  • Карточки товаров стали как на маркетплейсе: фото, краткие характеристики, выбор количества кнопками «плюс/минус» с учётом кратности заказа, кнопка «В корзину» и «Подробнее» с переходом на отдельную страницу товара с полным описанием и возвратом назад
  • Появилась корзина: значок в шапке и пункт «Корзина» в меню профиля со счётчиком товаров и суммой. В корзине можно менять количество и удалять позиции, а оформить заказ можно, только если сумма достигла минимальной (1000 ₽). После успешной оплаты корзина очищается сама
  • На страницах «Магазин» и «Бизнесу» боковые панели плавно уезжают за экран — контент занимает всю ширину, а при возврате на обычную страницу панели въезжают обратно
  • Страница товара тоже открывается на всю ширину — без боковых панелей, как и каталог
  • Каталог стал как на маркетплейсе: карточки идут ровной сеткой без разделов по чипам, а сверху появились два фильтра — по чипу и по виду (наклейка, коин, карта, брелок, тэйбл-тент, антиметалл). Раньше товары прятались в разделы, и выбрать нужное было дольше
  • На странице товара — расширенные характеристики: UID (идентификатор, только чтение или перезаписываемый), объём памяти, рабочая частота, протокол (NFC Forum Type 2, ISO/IEC 14443-A), возможность перезаписи и защита паролем. Теперь видно, подойдёт ли метка под задачу
  • У товаров появилось SEO-описание для поисковиков: страница товара попадает в поиск по запросам вроде «NFC-метка NTAG215 купить» с описанием чипа, памяти и частоты
  • Страница товара стала удобнее: фото в формате 3×4, а характеристики, применение и описание — отдельными плитками, а не сплошным полотном на всю ширину
  • У каждого товара появилась плитка «Применение» — подробно, для чего подходит чип: электронная визитка, умный дом, Amiibo, контроль доступа, маркировка металла и т.д. Теперь проще выбрать метку под свою задачу
  • На странице товара можно вписать своё количество вручную — оно само подстроится под кратность заказа (например, при кратности 5 число 7 станет 10)
  • Фильтры в магазине стали компактнее и удобнее: вместо ряда кнопок — два выпадающих меню в одну строку («Чип» и «Вид») с галочками. Можно выбрать сразу несколько чипов или видов, рядом — кнопка «Сбросить» и счётчик «Найдено». На телефоне меню занимают строку пополам и раскрываются аккуратно
  • В личном кабинете появилась статистика визитки: сколько раз её открыли, по каким кнопкам нажимали и сколько раз сохранили контакт. Можно смотреть за 7, 30 или 90 дней — с графиком по дням и списком самых нажимаемых кнопок. Цифры обновляются сразу, как только визитку открыли по ссылке или NFC-метке
  • Статистика — бесплатная и работает у всех визиток. Видно только числа: кто именно заходил и откуда, не показывается и не хранится
v1.6 03.10.2026
  • Шрифт на сайте стал одинаковым на всех устройствах. Раньше браузер подставлял системный шрифт — на компьютере и телефоне текст выглядел по-разному, а заголовки «плыли». Теперь используется Inter: он скачивается с нашего сайта, поэтому не пропадёт и загружается быстрее
  • На главной странице карточки материалов стоят ровными рядами: раньше на широком экране последний ряд оставался почти пустым — одна карточка и пустое место справа. Теперь карточки крупнее, а сетка всегда заполнена целиком
  • Личный кабинет стал аккуратнее: заголовки разделов больше не слипаются с текстом, у подписей и подсказок читаемый размер. Раньше в кабинете не работали отступы между заголовком, текстом и полями — всё шло сплошным блоком
  • Таблицы в статьях и инструкциях снова выглядят аккуратно: раньше шапка была короче строк — справа оставалась пустая серая полоса. Теперь шапка и строки совпадают по ширине, а длинная таблица прокручивается сама, не растягивая страницу
  • Кнопка «Сохранить контакт» снова работает: раньше она пропадала при сохранении визитки, и на странице её не было вовсе. Теперь контакт собирается сам из данных визитки — как только есть имя и телефон, кнопка появляется на странице без ваших действий
  • Выбирать «Сохранить контакт» в списке кнопок больше не нужно: этот тип убран из редактора, потому что настраивать в нём нечего. Остальные семь кнопок (Telegram, ВКонтакте, почта, сайт, звонок, Яндекс Карты, 2ГИС) на месте
  • На iPhone файл контакта открывается карточкой с кнопкой «Добавить», а не уезжает в «Файлы»: телефон и почта попадают в контакты одним касанием. На Android файл открывается в «Контактах»
  • Убрана лишняя кнопка «Добавить в контакты» под визиткой — она дублировала основную и нужна была только из-за прежней поломки
v1.5 01.10.2026
  • Письма с кодами подтверждения снова доходят на Яндекс.Почту: настроена DMARC-запись у домена — раньше без неё письма отбрасывались, хотя отправка шла успешно
  • Регистрация больше не говорит «код отправлен», если отправить письмо не удалось: человек видит честное сообщение и понимает, что делать дальше, а не ждёт письмо, которого нет
  • В журнал сервера теперь пишется и успешная отправка писем, и ошибка с причиной отказа: раньше сбой доставки никак не проявлялся, и поиск причины занимал часы
  • Сервер больше не представляется почтовым серверам как 127.0.0.1: такое имя выглядит подозрительно и добавляет балл к спам-оценке — теперь представляемся доменом
  • Добавлены таймауты отправки: раньше при недоступности почтового сервера отправка могла висеть неопределённо долго, и ошибка терялась
  • Контакты на визитке стали кнопками: каждая ссылка — это выбор типа (Telegram, VK, Почта, Сайт, Телефон, Яндекс.Карты, 2ГИС, Сохранить контакт), понятная иконка и подпись. Отдельного поля «название» больше нет — подпись подставляется сама по выбранному типу, а поле «Контакты текстом» убрано, чтобы не дублировать кнопки
  • Контакты пользователя больше не собираются из текста: раньше телефон и почта вытаскивались из свободного поля, и в файл контактов мог попасть мусор — теперь данные берутся только из кнопок, которые вы добавили сами
  • Убрана кнопка-ссылка «Ссылка»: непонятный тип без своей иконки и подписи. Вместо него для обычной ссылки подойдёт «Сайт»
  • Лимиты визитки приведены к разумным: имя, должность и компания — 40/60/60 символов, описание — 200 символов. Раньше описание допускало длинный текст, и визитка на телефоне превращалась в полотно со скроллом
  • Если выбран тип «Сохранить контакт» (vCard), но телефона среди кнопок нет, сервер не даст сохранить: файл контактов без телефона бесполезен, и теперь такая ошибка видна сразу, а не всплывает у получателя
v1.4 29.09.2026
  • Новая статья в блоге: «NFC-визитка в 2026» — как физически работает тап (пассивный чип, 13.56 МГц, NDEF-запись), почему NTAG 215 стал стандартом визиток и причём тут Nintendo Amiibo, где у технологии пределы (дальность 1–3 см, разные правила iOS и Android, запись с ПК невозможна) и что делать, если метка перестала читаться
  • Статья и инструкция по NFC-визитке честно объясняют выбор: запись контакта vCard прямо на чип устарела. На iPhone она работает непредсказуемо (iOS читает только первую NDEF-запись), данные после записи не обновить, для соцсетей есть лишь одно поле, фото не влезает в NTAG 215. Ссылка на страницу-визитку решает всё это: контакт правится на сервере, менять метки не нужно
  • Инструкция «NFC-визитка» переработана: способ со ссылкой на страницу-визитку стал рекомендуемым и поставлен первым, vCard прямо на чип описан со списком проблем и таблицей сравнения, добавлены разделы про iPhone и переписаны чек-лист и блок «частые проблемы»
  • В статью собрана статистика рынка: 60% бумажных визиток теряются за неделю, до 88% отправляются в мусор, цена обмена 0.18 $ против 0.03 $ за показ профиля, NFC-визитки дают на 58% больше вовлечённости, а цифровые визитки уже используют 42–56% профессионалов
  • Обложка статьи — картинка цифровой визитки на смартфоне и NFC-карты с волнами связи (1.4 МБ PNG сжата до 65 КБ WebP, экономия 95%)
  • Материалов на сайте стало 37: добавлена новая статья про NFC-визитки (сайт «О нас» в цифрах обновлён)
  • Личный кабинет стал проще: теперь это один раздел «Моя визитка» вместо двух. Нет визитки — показываем экран «Визитки пока нет» с одной кнопкой «Создать визитку»; есть — экран самой визитки: имя, должность, статус (опубликована или черновик), адрес в виде nfcrafter.ru/u/имя и кнопки «Редактировать», «Копировать ссылку», «Открыть», «Удалить»
  • Исправлено название кнопки «Сохранить контакт» в списке типов: вместо непонятного «vcard» теперь русская подпись, как и у остальных кнопок
  • Разделы «Профиль» и «Безопасность» объединены в один — «Профиль и безопасность»: имя, почта, пароль, выход и удаление аккаунта в одном месте. Логично искать смену пароля в профиле, а не в отдельной вкладке
  • Смена почты теперь в два подтверждения: код приходит сначала на ваш текущий адрес, потом на новый. Так аккаунт нельзя увести с чужой открытой вкладки, а опечатка в новом адресе сразу видна — раньше подтверждалась только новая почта
  • Смена имени теперь подтверждается кодом из письма — код приходит на вашу текущую почту. Имя попадает на визитку и в файл контактов, который люди сохраняют себе, поэтому молча переименовать вас из чужой вкладки больше нельзя
  • Смена пароля стала проще: можно ввести текущий пароль (сработает сразу) или не вводить его — тогда придёт код на почту. Второй способ выручает, если пароль забыт или в него закралась опечатка — раньше в такой ситуации войти было нельзя
  • Меню профиля приведено в порядок: осталось только нужное — «Личный кабинет», «Настройки», «Обратная связь» и «Выйти». Пункты теперь одной высоты, с ровными иконками и отступами в обеих темах; раньше ссылки и кнопки были оформлены по-разному и выглядели криво, а в мобильном меню кнопки выбивались рамками и свечением. Заодно починено имя в раскрытом меню: раньше в шапке оно оставалось пустым, показывался только email
  • Раздел «Обращения» в кабинете: вместо одной кнопки появилась история — тема, статус (новое / в работе / есть ответ / закрыто), дата и число сообщений. Ответ администрации помечается точкой, по клику сразу открывается переписка по этому обращению
  • Письма с кодами стали понятнее: в теме и тексте письма указано, что именно подтверждается — регистрация, смена email, имени или пароля. Для подтверждения смены почты в письме отдельная пометка с советом, что делать, если запрос делали не вы
  • Личный кабинет и редактор визитки адаптированы под телефоны: разделы выстраиваются в горизонтальную прокрутку, кнопки занимают всю ширину, предпросмотр визитки встаёт под формой — раньше на узком экране всё сжималось в две тесные колонки
  • Цифровая визитка: у каждого аккаунта теперь есть страница-визитка по адресу /u/имя — фото, имя, должность, компания, описание, контакты текстом и кнопки-ссылки (до 10). Адрес можно записать на NFC-метку или отправить ссылкой
  • На аккаунт доступна ровно одна визитка: её создают в личном кабинете, там же редактируют и удаляют. При удалении адрес снова становится свободным
  • Появился личный кабинет (/cabinet.html) с разделами: «Моя визитка», «Профиль», «Безопасность», «Настройки», «Избранное», «Обращения». Ссылка на кабинет добавлена в меню профиля (в том числе в мобильное меню)
  • Смена email прямо в кабинете: указываете новый адрес и текущий пароль, на новый email приходит код из 6 цифр — пока код не введён, почта не меняется. Чужой email привязать нельзя (он должен быть свободен), ошибки ввода и попытки ограничены
  • В кабинете сохранили и настройку темы: галочка «Запоминать тему оформления в аккаунте» синхронизирует светлую или тёмную тему между устройствами, без галочки тема хранится только в браузере
  • Редактор визитки с живым предпросмотром: фото, оформление (фирменное, светлое, тёмное), порядок ссылок стрелками, счётчик ссылок и «осталось символов». Большие фото автоматически уменьшаются до 1200 px по длинной стороне
  • Фото визитки хранится в базе данных и отдаётся отдельным запросом с кешированием (ETag) — страница визитки открывается быстро даже на слабой связи, что важно для NFC-метки
  • Версионирование визитки: если открыть редактор в двух вкладках, сохранение из устаревшей не перезапишет новые правки — придёт предупреждение обновиться
  • Админ-панель: появился раздел «Визитки» — список с поиском и фильтром, сводка (всего, опубликовано, черновики, ссылки, с фото) и кнопка «Снять с публикации» для жалоб и нарушений
  • 152-ФЗ, ст. 10.1: публикация визитки возможна только с отдельным согласием на распространение персональных данных (имя, фото, должность, компания, описание, ссылки); согласие фиксируется в базе с редакцией документа. Отзыв согласия (снятие с публикации) сразу закрывает страницу, повторная публикация требует нового согласия
  • Неопубликованная визитка недоступна по ссылке и не отдаёт фото: ответ такой же, как для несуществующего адреса, поэтому перебором нельзя узнать, занят адрес или нет
  • Ограничения ссылок: принимаются только адреса http:// и https://, страницы с javascript: и подобными схемами отклоняются и в редакторе, и на сервере
  • Публичная страница визитки с водяным знаком «Создано на NFCrafter» и кнопкой «Сделать свою визитку». Страница показывает только данные владельца и его кнопки — никаких служебных действий на ней нет. Для поисковых систем страницы визиток закрыты (noindex, Disallow: /u/) — это персональные данные
  • Тесты и документация: scripts/test_cards_api.js (19 проверок API визитки и смены email), scripts/diag_card_ui.py (браузерный сценарий кабинета и публичной страницы), новый скилл skills/business-cards.md
  • Появилась защита от ботов и сквоттинга: визитку может создать только аккаунт с подтверждённой почтой, не раньше чем через 10 минут после регистрации; с одного IP создаётся не больше 3 визиток в сутки. Удалённый адрес визитки резервируется на 30 дней, поэтому перехватить чужое имя сразу после удаления нельзя
  • Кнопка «Сделать свою визитку» на странице визитки ведёт в личный кабинет (раньше — в конструктор vCard-файла, это другой инструмент). Самому владельцу эта кнопка не показывается — всё, что нужно владельцу, живёт в кабинете
  • Кнопки визитки получили аккуратные SVG-иконки вместо текстовых значков: Telegram, ВКонтакте, конверт, глобус, телефонная трубка, метка на карте, знак 2ГИС и звено ссылки. Иконка наследует цвет кнопки и видна в любой теме, а в редакторе сразу отражается в предпросмотре
  • CSS и скрипт визитки теперь подключаются с версией по содержимому файла: после обновления стилей браузер сам подгружает новую версию, а не показывает старую из кеша — больше не нужно просить посетителей «обновить страницу»
  • Новая кнопка «Сохранить контакт»: визитку можно сохранить в телефон одним нажатием. Телефон, почта, имя и компания берутся из визитки, на iPhone файл открывается в «Контактах», на Android скачивается. Обязательны имя и телефон — без них сохранять нечего, почта добавляется, если указана
  • Вместо адресов теперь можно вводить только имя: в кнопке Telegram достаточно написать «nfcrafter» — система сама сделает ссылку t.me/nfcrafter. Так же для ВКонтакте (имя страницы или числовой id), телефона (номер в любом виде) и почты — домен и схему подставляем сами
  • Кнопка «Позвонить» сразу открывает набор номера на телефоне, «Написать на почту» — почтовое приложение: на iPhone и Android эти кнопки работают как системные, а не как обычные ссылки
  • Редактор визитки подсказывает, что вводить: у каждой кнопки своя подсказка и пример поля, а в свёрнутой памятке — как взять ссылку на точку в Яндекс Картах и 2ГИС. Название кнопки ограничено 40 символами, чтобы влезало в одну строку на телефоне, кнопок — до 9
  • Кнопка 2ГИС получила узнаваемую иконку: скруглённая метка на подложке вместо прежнего круга
  • Состав кнопок бесплатной визитки приведён к делу: Telegram, ВКонтакте, «Написать на почту», «Сайт», «Позвонить», «Яндекс Карты», «2ГИС» и обычная ссылка — всего 8 типов. Карты получили свои цвета: у Яндекса красный, у 2ГИС фирменный зелёный. Лишние типы (WhatsApp, Instagram, YouTube) убраны
  • На странице визитки появилась кнопка «Пожаловаться»: причина из списка и комментарий, жалобу можно отправить без входа. Частые жалобы с одного IP и на одну визитку ограничены, владелец не может жаловаться на себя
  • Админ-панель: в разделе «Визитки» появился блок жалоб — видно причину, комментарий и владельца, можно сразу снять визитку с публикации либо принять или отклонить жалобу. В Telegram уходит только номер визитки и причина, без персональных данных
  • Тесты и документация: scripts/test_cards_antibot.js (лимиты, резерв адресов и пересоздание), scripts/diag_card_ui.py (кабинет, редактор и публичная страница), скилл skills/business-cards.md
  • Технически: единая точка определения адреса API (assets/js/api-base.js) — убрали дублирующее автоопределение в разных скриптах, модули визитки вынесены в assets/js/card/, стили — в assets/css/modules/21-card.css, копирование папки /u/ добавлено в сборщик, а выкладка на хостинг теперь передаёт .htaccess (dot-файлы)
  • Публичная визитка очищена от служебных действий: убраны «Копировать ссылку», «Записать на метку», «Как записать метку» и строка с адресом страницы под кнопками. Человек открывает визитку, чтобы увидеть контакты, а не служебные кнопки — они переехали в личный кабинет
  • «Записать на метку» убрана и из кабинета: запись через браузер работает только в Chrome на Android одновременно. На компьютере и iPhone кнопка не появлялась вовсе, а в остальных случаях вводила в заблуждение
  • Редактор визитки больше не открывается сам: человек идёт посмотреть, что у него есть, а получал простыню полей. Теперь сначала экран визитки, а форма открывается кнопкой «Редактировать»
  • После сохранения визитки видно подтверждение: раньше сообщение выводилось в форму, а потом она закрывалась вместе с ним — было непонятно, сохранилось ли вообще
  • Новая кнопка создаётся сразу как Telegram — раньше стояла «Обычная ссылка», и человек вводил имя без https, получал ошибку про формат ссылки и бросал задачу
  • Исправлена ошибка «укажите undefined»: если оставить поле адреса пустым, вместо подсказки показывался текст без самой подсказки. Теперь видно, что нужен полный адрес с https:// в начале
  • Визитку можно сохранить 2 раза в час: этого хватает на «сохранил, перечитал, поправил». Если лимит исчерпан, в ответе написано, сколько ждать («через 1 час», «через 2 часа 15 минут») и что делать, если нужно срочно
  • Удалить визитку и создать новую можно раз в сутки — так нельзя перебирать адреса, занимая красивые имена и оставляя их пустыми. Имя, должность и кнопки при этом правятся в редакторе без удаления
  • Убран лимит «2 создания в сутки», который считал все создания подряд, включая первое. Человек, исправлявший опечатку в своем же имени, упирался в стену и ждал сутки — при том, что вторая визитка на аккаунт всё равно невозможна
  • Создание визитки больше не ограничено: если визитки нет, её всегда можно создать — иначе удаление оставило бы человека и без визитки, и без выхода из ситуации
v1.3 23.09.2026
  • Единый релиз за день: версии 1.25.0, 1.26.0 и 1.27.0 объединены в одну запись 1.3 — чат обратной связи, переработанная админка, доставка писем, три новых материала и SEO-вычитка всего контента
  • Чат «Обратная связь»: двусторонняя переписка с администрацией. Кнопка в выезжающем меню (доступна и гостям) и в меню профиля открывает окно-мессенджер: сообщения, вложения (фото и файлы до 5 МБ, до 5 штук), правка и удаление своих сообщений, статусы обращения, автопродолжение диалога после перезагрузки страницы
  • Гость пишет без регистрации (имя, email, согласие на обработку ПДн) — переписка восстанавливается по личной ссылке-токену; авторизованный пользователь видит все свои обращения списком
  • Админ-панель расширена: раздел «Обращения» (два окна — список с поиском и фильтрами по статусу и непрочитанным, переписка справа), ответ с вложениями, смена статуса и приоритета, правка и удаление сообщений, удаление обращения целиком, бейдж непрочитанных на вкладке
  • Админ-панель разбита на модули (assets/js/admin/: core, tabs, files, tickets) вместо одного inline-скрипта — проще развивать разделы
  • Письма пользователю по обращению: автоответ при создании, уведомление об ответе администратора и о смене статуса (SMTP, шаблоны в backend/mailer.js)
  • 152-ФЗ: переписка и вложения хранятся только в БД на территории РФ (срок хранения 365 дней), в Telegram уходят обезличенные факты («новое сообщение в обращении #N») без текста и ПДн; без согласия обращение не создаётся; удаление по требованию субъекта — одной кнопкой
  • Безопасность вложений: разрешены только изображения, PDF, txt/csv, zip, doc(x), xls(x) до 5 МБ; исполняемые файлы и SVG отклоняются и на клиенте, и на сервере; файлы отдаются с защитой от подмены типа (nosniff)
  • Тесты: scripts/test_support_api.py (API гостя и админа, вложения, правка, статусы), scripts/diag_support.py (браузерный сценарий пользователя), scripts/diag_admin_chat.py (сценарий админа) — все три создают и удаляют тестовое обращение
  • Новый скилл skills/support-chat.md: схема таблиц, состав API, правила 152-ФЗ и лимиты вложений
  • Админ-панель открывается во всю ширину страницы (без боковых сайдбаров) — таблицы больше не распирают вёрстку
  • Раздел «Пользователи» переделан: сортировка кликом по заголовку любого столбца (email/имя, способ входа, город, регистрация, последний вход, входы, инструменты, геоточки), стрелка направления, липкая шапка
  • Поиск по email, нику, имени, городу и номеру пользователя — без перезагрузки страницы; фильтры: все, администраторы, email не подтверждён, подписаны на рассылку, заходили за 7 дней, с таймером удаления
  • Пагинация (25/50/100 на странице) вместо жёсткого лимита в 500 строк, счётчик «показано N–M из K»
  • Кнопка «Детали» раскрывает строку: анкета (пол, возраст, город), согласие на обработку ПДн и его версия, таймер удаления, избранное и обращения, последние координаты и часовой пояс
  • Прямо из таблицы можно включить/выключить рассылку, выдать или снять права администратора (свои снять нельзя), удалить пользователя и выгрузить текущую страницу в CSV
  • Мобильный вид: строки таблицы превращаются в карточки, горизонтального скролла нет ни на одной вкладке админки (проверено на 1440, 1024 и 390 px)
  • Админка: выпадающие списки (статус и приоритет обращения, фильтры, размер страницы) и шапка таблицы пользователей читаются в обеих темах — раньше при переключении темы текст сливался с фоном; теперь у селектов явные цвета опций и правильная схема оформления, шапка в светлой теме светлая, отсортированный столбец — синий (контраст от 6:1 до 16:1)
  • Превью партнёра Eibery на странице «Партнёры» заменено на фирменную надпись: оранжевый вордмарк EIBERY с NFC-волнами на тёмном фоне вместо фотографии (генератор scripts/make_partner_cover.py, весит 16 КБ)
  • Тесты отправки писем: scripts/test_email.py поднимает локальный SMTP-приёмник и проверяет 33 письма на адреса mail.ru, yandex.ru и gmail.com — все шаблоны (код, ответ по обращению, статус, автоответ, предупреждение об удалении), повторную отправку на тот же ящик, отправителя, темы и код в письме
  • Диагностика почты на сервере: backend/scripts/mailer-probe.js показывает ответы SMTP по каждому ящику (accepted/rejected) и проверяет соединение с логином; тест дополнительно печатает MX/SPF/DMARC наших и клиентских почтовых доменов — сейчас у nfcrafter.ru нет записи DMARC, без неё Gmail кладёт письма в спам
  • Почта: переменная SMTP_TLS=0 отключает шифрование (для внутреннего релея и локальных тестов), поведение по умолчанию не изменилось — 465 неявный TLS, 587/25 принудительный STARTTLS
  • Новый скилл skills/emails.md: шаблоны писем, env-настройки, доставляемость (SPF/DKIM/DMARC) и команды проверки отправки
  • Новая новость: «Осторожно, NFCGate: как защитить метки от клонирования» — как клонируют метки через NFCGate и Mifare Classic Tool, 5 уровней защиты (WRITE LOCK, пароль + ACK, оригинальные чипы NXP, защита от relay, эпоксидная заливка), чек-лист безопасности и таблица подбора чипа под задачу
  • Новая статья в блоге: «Пароль на NFC-метку: что защищает, а что клонируют» — как устроен пароль PWD/PACK и AUTH0 на NTAG 213/215/216, почему у MIFARE Ultralight пароля нет, ключи Crypto-1 и нулевой блок MIFARE Classic, поколения magic-карт, чем копируют пропуска и как защищены настоящие СКУД; перелинкована с новостью про NFCGate, гидом по выбору меток и инструкциями по NFC Tools, TagWriter и контролю доступа
  • Новая новость: «NFC Release 15 и DPP: цифровые паспорта товаров в ритейле» — что реально изменил Release 15 (рабочий диапазон вырос с 0,5 до 2 см, сертификация CR15), чем отличается формат NDPP, который NFC Forum только готовит, и когда цифровой паспорт становится обязательным (аккумуляторы — с 18 февраля 2027 года); архитектура паспорта с привязкой UID к артикулу, учёт возвратов в схемах FBO и FBS, защита метки на NTAG 215 и 424 DNA, чек-лист для бренда. На сайте 36 материалов
  • Перелинковка: на новость о DPP ведут ссылки из материалов про Digital Product Passport, дорожную карту NFC Forum 2026 и клонирование меток через NFCGate, а также из гида по выбору NFC-меток
  • SEO-вычитка предыдущего контента: у 14 материалов заголовки и описания приведены к комфортной длине в выдаче (title до 60 символов, description до 160), у новостей без тегов добавлено поле tags — из него теперь собираются метатег keywords и разметка keywords в JSON-LD
  • SEO сборщика: заголовок страницы и og/twitter-заголовки получили бренд «— NFCrafter», обложки в Open Graph и JSON-LD отдаются абсолютными URL, в разметку статей и новостей добавлены articleSection, keywords, inLanguage, dateModified, isAccessibleForFree и mainEntityOfPage, в статьи — дата публикации
  • Чистка контента: из таблиц совместимости (гайды по NFC на iPhone и по NFC Tools) убраны пиктограммы-галочки и крестики — вместо них обычные «да», «нет» и «ограниченно»; scripts/check_content.py снова показывает ВСЁ ЧИСТО (было 58 замечаний)
v1.21.0 30.08.2026
  • Новый раздел «Партнёры»: общая страница partners.html с превью-карточками и подраздел контента content/partners/. В меню сайта, поиске, бегущей строке и перекрёстных ссылках — материалы с меткой «Партнёр». Первый партнёр — Eibery (ООО «Эйбери», Казань): статья о 3D-стикерах и NFC-метках из эпоксидной смолы с кейсами (отель Azimut, производство), характеристиками NTAG213/216, условиями заказа и контактами (Telegram @eiberystore). Добавлена пометка, что материал размещён с разрешения и согласия компании
  • Страница «Партнёры» дополнена блоком «Сотрудничество» с формой обратной связи (имя, контакт, тема, сообщение); в футер добавлена ссылка «Сотрудничество». Форма «Контакты» починена: кнопка «Отправить» больше не блокируется
  • Исправлена светлая тема: блок «Сотрудничество» и поля форм обратной связи теперь читаемы в светлой теме (раньше текст сливался с фоном)
  • Избранное: на всех контентных страницах (статьи, инструкции, новости, партнёры) появилась кнопка «Добавить в избранное» — только для зарегистрированных. В меню профиля добавлена вкладка «Избранное» для быстрого доступа
  • Единый лог действий пользователей: регистрации, входы, смены пароля, заявки и избранное пишутся в таблицу events. В админ-панели добавлена вкладка «События» с полной лентой
  • Telegram-уведомления: о новых регистрациях (после подтверждения email), заявках, сменах пароля и избранном бот шлёт обезличенные уведомления — без персональных данных (152-ФЗ). Полный лог с деталями хранится в БД на территории РФ
  • Регистрация завершается только после ввода кода подтверждения с email: до подтверждения аккаунт не считается активным
  • Отправка писем с кодом переведена на переменную SMTP_FROM + принудительный STARTTLS для портов 587/25 — выше доставляемость до Яндекс.Почты. Ченджлог разделён на свежий (changelog.json) и архив (changelog_archive.json)
  • Добавили подтверждение почты. После регистрации на email приходит код из 6 цифр — вводите его на сайте, и аккаунт становится активным. Это защищает от фейковых регистраций и позволяет связаться с вами, если что-то случилось с аккаунтом
  • Кто не подтвердит почту, теряет аккаунт через 90 дней: при входе показываем окно с кодом и просим заново подтвердить согласие на обработку данных. За неделю до удаления приходит предупреждающее письмо — ничего не удаляется молча
  • В окне регистрации появилась необязательная анкета: пол, возраст (только интервалом, без точной даты) и город — выбором из списка, вручную ничего вводить не нужно. Так мы понимаем, кто наша аудитория, и не собираем лишнего
  • Заработала админ-панель: видно, кто и когда регистрировался и заходил, подтвердил ли почту, какие приходили заявки, откуда посетители и что они смотрят. Открывается из меню профиля, доступ есть только у администратора
  • Вход теперь работает и по нику, и по email. В меню профиля появились смена пароля, настройки (запоминание темы) и выход. Заодно починили имя пользователя, которое пропадало в тёмной шапке при светлой теме
  • Начали собирать примерную геолокацию посетителей — только с явного согласия и с точностью до района (~110 м), чтобы понимать, откуда аудитория. Данные хранятся 180 дней и никуда не передаются
  • Подключили настоящую отправку писем через SMTP Beget: коды подтверждения теперь реально доходят до почты. Перед этим вычистили персональные данные из старых php-скриптов — всё личное хранится только в нашей базе в России (152-ФЗ)
  • Обновили юридические документы: Политику обработки персональных данных переписали по актуальным требованиям, добавили страницу с текстами согласий и комплект документов для Роскомнадзора на случай проверки
  • Переделали окно входа и регистрации: аккуратно выглядит и в тёмной, и в светлой теме, выпадающие списки и галочка согласия хорошо видны, вместо эмодзи — иконки в стиле сайта
v1.20.0 28.08.2026
  • 152-ФЗ: полностью переписана Политика обработки персональных данных (privacy.html) — реквизиты ИП (ИНН 590504770698, ОГРНИП 323595800118436, реестр операторов ПДн 59-26-042158), локализация БД в РФ (Beget, Москва), раздел «Трансграничная передача не осуществляется» (ст. 12)
  • Новая страница «Согласие на обработку персональных данных» (consent.html): тексты согласий для регистрации, заявок, заказов, публикации материалов и рекламной рассылки (ст. 9 152-ФЗ)
  • Формы на «Контактах», в магазине и «Бизнесу»: явное согласие со ссылками на политику и текст согласия, фиксация версии текста (pdn-consent-v2.0); заявки уходят в API (POST /api/leads) — хранение в БД в РФ
  • Безопасность: из send_form.php удалены персональные данные и захардкоженный токен Telegram-бота; send_form.php теперь прокси на API, уведомления в Telegram отправляет API без ПДн (только номер, тема, страница), токен — через переменные окружения
  • Backend: миграция 004 (таблица leads, users.is_admin, users.consent_at), POST /api/leads с серверной проверкой согласия, GET/DELETE /api/leads только для администратора
  • Новая служебная страница «Панель заявок» (leads.html, noindex) — просмотр и удаление заявок администратором
  • Регистрация пользователей включена: обязательная галочка согласия со ссылками на consent.html и privacy.html, факт согласия пишется в users.consent_at, сервер отклоняет регистрацию без consent:true
  • Футер: добавлены ссылки «Политика ПДн» и «Согласие на обработку»; sitemap дополнен consent.html; PAGE_LABELS дополнены юридическими страницами
  • Организационные документы для Роскомнадзора в docs/pdn/: приказ об ответственном за обработку ПДн, регламент действий при утечке (ПП РФ № 1813), шаблон поручения обработки для тарифа Pro, чек-лист внедрения
  • Cookie-баннер: уведомление об использовании cookie с кнопкой согласия (фиксация в localStorage), стили в новом модуле css/modules/18-cookie.css — в дополнение к разделу 4.6 правовой информации
  • instructionAI.md: правила работы с репозиторием — запрет коммитить секреты, лимит 400 строк на файл, локальное тестирование пранков перед деплоем
v1.19.0 27.08.2026
  • Удалена анимированная фоновая заставка FlowField (Canvas с частицами): убран assets/js/flow-field.js, CSS-модуль 18-flowfield и инжект скрипта в билдере и шаблонах — сайт перестаёт тормозить
  • Новая статья: «Почему записать NFC-метку через сайт можно только на Android в Chrome?» — простые объяснения для владельцев iPhone, шпаргалка и заказ меток с готовой записью. Добавлена в PAGE_LABELS, на сайте теперь 32 материала
  • Статистика на странице «О нас»: график посещаемости читаемее — числа просмотров над каждым столбцом, даты крупнее и без обрезания; добавлены человекочитаемые названия страниц iOS 27 Tap to Share и «Великобритания: NFC Apple/Google» в PAGE_LABELS
v1.18.0 24.08.2026
  • Рефакторинг: исходники разложены по модульным папкам (pages/, assets/, docker/, scripts/, skills/, builder/)
  • Сборщик обновлён: пути в constants.py/static.py теперь указывают на assets/ (css/js/img) и pages/root/
  • Статические HTML перенесены в pages/root/, партиалы — pages/partials/, ассеты (css/js/img) — в assets/
  • Добавлены AI-скиллы в skills/ (замена монолитного instructionAI.md)
  • docker-compose в docker/, nginx.conf и Caddyfile — в docker/
  • Деплой-воркфлоу обновлён под новую структуру; пути синхронизированы с GitHub Actions
  • CSS разбит на модули: style.css — точка входа (@import), 17 модулей в assets/css/modules/ (base, header, layout, article, search, responsive, stats и др.)
  • Новый анимированный фон на главной — FlowField (Canvas, vanilla JS): светящиеся частицы в потоке, темы aurora/ember/ocean, модуль assets/js/flow-field.js + CSS-модуль 18-flowfield
  • FlowField-фон теперь на всех страницах: скрипт сам находит main-content и оборачивает контент (шапка, футер и сайдбары не тронуты)
  • Документация и скиллы: памятка про PAGE_LABELS в backend/routes/stats.js при добавлении нового контента
  • Новая статья: «Анатомия силиконового браслета» — физика антенны, RFID/NFC, микросхемы Mifare/NTAG, безналичные системы, 152-ФЗ/54-ФЗ. Добавлена в PAGE_LABELS, на сайте теперь 30 материалов
  • Новая статья: «L-образные table tents с NFC» — конструкция подставок, выбор чипа NTAG215, крепление метки, 10 сценариев (меню, отзывы, Wi-Fi, лояльность, промо), технические нюансы и типичные ошибки
  • Страницы «Магазин» и «Бизнесу»: вместо заглушек добавлена рабочая форма обратной связи (send_form.php), блоки «в разработке» сохранены
  • Новая инструкция: NXP TagWriter — запись NFC-меток (10 типов NDEF-данных, блокировка, проверка, устранение неисправностей). На сайте 31 материал
  • Глоссарий расширен с 139 до 163 терминов: DESFire EV2/EV3, Crypto-1, Darkside, AES-128, ISO 15693/18092, EM4100, HID, 152-ФЗ/54-ФЗ, Tap to Pay, vCard, WPA/WEP/SSID, NPS, 3M VHB/300LSE, NXP, Mifare Ultralight, URI, Bluetooth
v1.17.0 22.08.2026
  • Новый NFC-пранк «Входящий вызов»: полная имитация системного звонка — интерфейс определяется под iOS, Pixel/stock Android или Samsung One UI, вибрация, синтезированные рингтоны, автодозвон при сбросе (до 4 раундов), воздухорн и этичная развязка
  • В пранке «Входящий вызов» — фейковый локскрин с уведомлением для Android, полноэкранный режим, блокировка выхода и малозаметная ссылка «Завершить пранк»
  • Кнопка «На метку» в каталоге пранков теперь корректно отключается вне Chrome на Android — в других браузерах она серая с подсказкой про NFC Tools
  • Собственное превью для пранка «Входящий вызов» — своя обложка вместо общей
  • Глоссарий расширен на 7 терминов из свежих новостей: Tap to Share, DMA, CMA, NDPP, Wayfinding Mark, iTAP, FlexIC
  • Исправлен пранк «Разбитый экран»: добавлен недостающий метод playShutdown в звуковой модуль — режим «Выключение питания» больше не падает
  • Пранк «Входящий вызов» разбит на модули: стили вынесены в call/style.css, логика — в call/app.js (файл сокращён с 830 до 119 строк)
  • В instructionAI.md добавлен раздел «Строгие правила»: не коммитить ключи, файлы до 400 строк, тестировать пранки перед деплоем
v1.16.0 22.08.2026
  • Две новые новости: iOS 27 Tap to Share — NFC-тап между магазином и клиентом, и Великобритания требует открыть NFC от Apple и Google
  • Чтение меток стало информативнее: при сканировании показывается тип чипа (NTAG, MIFARE и др.), свободный объём памяти и UID
  • У UID появилась кнопка «Копировать» — можно быстро скопировать серийный номер метки в буфер обмена
  • Инструмент «Действия с метками» получил собственную картинку-превью
  • Инструменты теперь отображаются в бегущей строке на главной
  • Статистика на странице «О нас»: карточки складываются в одну колонку на мобильных, таблицы скроллятся внутри, график посещаемости с датами, диаграмма устройств в процентах
  • Исправлена колонка «Поисковые запросы» в статистике — больше не уезжает за экран на мобильных
  • Исправлены тултипы глоссария внутри таблиц — больше не обрезаются границами
  • Исправлена подсветка термина «Nintendo» в глоссарии
v1.15.2 19.08.2026
  • Обновлена документация: README и инструкция для AI — новый инструмент «Действия с метками», как деплоить, как смотреть логи GitHub Actions через токен
v1.15.1 19.08.2026
  • Исправлена очистка меток в Chrome: теперь метка корректно стирается и остаётся перезаписываемой
  • Честный детект браузера: Mi Browser, Samsung Internet и другие больше не показывают ложный баннер «запись доступна»
  • В сторонних браузерах — жёлтое предупреждение и кнопка «Открыть в Chrome»
  • Понятные сообщения об ошибках NFC: подсказка про замочек в адресной строке для Chrome
v1.15.0 19.08.2026
  • Новый инструмент «Действия с метками»: чтение, запись и очистка NFC-меток прямо в браузере Chrome на Android
  • Запись на метку: ссылка, текст, Wi-Fi, звонок, SMS, e-mail — без сторонних приложений
  • На главной — умный баннер: если вы зашли с Android + Chrome, сайт сам предлагает записать или очистить метку
  • Инструмент добавлен в список инструментов и поиск по сайту
v1.14.1 19.08.2026
  • Исправлена запись приколов на NFC-метку в Chrome на Android — раньше браузер отклонял запись из-за ошибки в коде
  • Проведена чистка репозитория: удалены устаревшие файлы старых версий пранков, лишние картинки и временные файлы
v1.14.0 17.08.2026
  • NFC-пранк полностью переработан: вместо 8 звуковых ловушек — 4 прикола для меток (Сирена, Разбитый экран, Перегрев, Сенсор сошёл с ума)
  • Новые пранки «Перегрев» и «Сенсор сошёл с ума» с громкими непрерывными звуками-сиренами, современными иконками и полной русской клавиатурой
  • Запись на метку прямо из браузера на Android (Web NFC API) — кнопка «На метку» работает без сторонних приложений
  • На iPhone и десктопе — понятные подсказки с инструкцией записи через NFC Tools
  • Описания пранков переписаны человеческим языком без технических подробностей, убран десктопный BSOD
  • Обновлена картинка инструмента и добавлена мини-инструкция + юридический блок на странице пранков
  • Убраны возвраты на сайт из пранков — вместо этого кнопка «Повторить»
v1.13.0 17.08.2026
  • Статистика стала подробнее: источники трафика (поисковики, соцсети, прямой заход, QR/NFC-метки), устройства, график посещаемости по дням
  • Собираются поисковые запросы — видно, по каким ключам находят сайт (Яндекс, Google, Mail.ru)
  • Топ-20 популярных страниц с читаемыми русскими названиями
  • Исправлена SEO-оптимизация: добавлены description, canonical и JSON-LD на главную, блог и статьи
v1.12.0 17.08.2026
  • Новый вид контента: интерактивная инструкция — с бейджем на карточках и отдельной секцией на странице инструкций
  • Универсальный шаблон интерактивных инструкций: скриншоты приложений с кликабельными зонами, тур по экранам и мобильный полноэкранный режим
  • Полный гайд по NFC Tools 9.5: все вкладки, память чипов, совместимость и сервисные операции
  • Актуальная инструкция NFC Tasks: связка NFC Tools + NFC Tasks, установка, права, десять сценариев автоматизации
  • Amiibo на NFC-метке: инструкция 2026 — TagMo и PlaiiBoo, перезапись меток, дампы и решение проблем
  • Полное руководство по NFC на iPhone: режим разработчика, фоновое чтение, совместимость чипов, автоматизации через Команды
  • Новая статья: NFC на iPhone и Android — почему Apple всё усложнила и как обойти через браузер
  • Исправлена читаемость интерактивной инструкции в тёмной теме: текст на экране телефона виден и в веб-, и в мобильной версии
v1.11.0 16.08.2026
  • Интерактивная инструкция NFC Tools полностью переработана: виджет встроен прямо в сетку статьи (два ряда: обложка с заголовком + телефон с панелью описаний), убран серый контейнер и iframe
  • Мобильная версия: в статье карточка-вход, по кнопке открывается полноэкранный режим «как приложение» — вкладки, экраны-описания с навигацией «Назад», тур по интерфейсу и сброс
  • Регистрация на сайте временно отключена: вместо формы — уведомление о направлении информации в Роскомнадзор
v1.10.1 16.08.2026
  • Исправлена веб-версия интерактивной инструкции NFC Tools: панель описаний теперь прилипает при прокрутке и остаётся на уровне телефона, мобильная версия не затронута
v1.10.0 08.08.2026
  • Рефакторинг: backend разбит на модули (config, db, middleware, routes), сборщик вынесен в пакет builder/
  • Шаблоны статей и новостей разделены: новости с JSON-LD NewsArticle для SEO
  • Исправлены тултипы глоссария на мобильных: не вылезают за край экрана, повторный тап закрывает
  • Убраны вложенные термины из тултипов глоссария (38 пар), контент стал чище
  • Исправлены одиночные звёздочки в таблицах и списках — жирный текст теперь корректно конвертируется везде
  • Добавлены viewport-мета на страницы совместимости и дампов — мобильная версия работает на всех страницах
  • Автоматическая проверка контента (check_content.py) и мобильное тестирование (test_mobile.py)
v1.9.1 08.08.2026
  • Деплой ускорен: фронт собирается только при реальных изменениях, rsync вместо полного копирования, Docker-кеш слоёв на VPS
  • Git-репозиторий почищен: убраны дубликаты автогенерируемых файлов (index.html, blog.html, instructions.html, js/news.js, js/search-data.js)
  • Защита данных: дампы БД и автогенерируемые файлы добавлены в .gitignore
v1.9.0 04.08.2026
  • Собственный счётчик статистики: перенесён с PHP на Node.js + PostgreSQL (таблицы page_views и visitors)
  • Новые эндпоинты: POST /api/stats/pageview (регистрация просмотра) и GET /api/stats (агрегированная статистика)
  • IP-адреса посетителей хранятся только в виде SHA-256 хешей — безопасно и анонимно
  • Удалены мёртвые PHP-скрипты счётчика (counter.php, stats.php), которые не работали в Docker-архитектуре
  • Удалены все эмодзи из контента: статьи, инструкции, новости, инструменты, перекрёстные ссылки
  • Унифицирован шрифт: страницы-ловушки NFC-пранка переведены на Inter (был системный шрифт)
  • Исправлены косяки контента: сбитая нумерация в инструкции iPhone NFC, мусорный фрагмент в новости о рынке NFC
v1.8.2 27.07.2026
  • Исправлено мобильное меню (гамбургер): переписан initMobileUI — убран cloneNode, прямые addEventListener с защитой от повторной инициализации
  • Исправлен fixTheme: больше не падает с Cannot read properties of null при загрузке скриптов в head (ожидание DOMContentLoaded)
  • CSS: sidebar-overlay и mobile-sidebar — visibility + pointer-events вместо display: none/block для корректной CSS-анимации
v1.8.1 26.07.2026
  • Обновлены превью инструментов: сгенерированы новые изображения через Stable Diffusion
  • Обновлён README: добавлена документация по AI-генерации (SD, TTS, Bark)
  • Чистка старых файлов инструментов в content/tools/ (не используются)
v1.8.0 26.07.2026
  • Бэкенд: своя система авторизации — регистрация и вход по email/паролю (JWT + bcrypt)
  • Профиль пользователя: настройки темы и данных сохраняются на сервере
  • Автономный бэкенд-сервер на Node.js/Express + PostgreSQL 16 в Docker
  • Автоматический HTTPS через Caddy для api.nfcrafter.ru
  • Чистка репозитория: удалены устаревшие скрипты деплоя и SSH-ключи
  • В шапку сайта добавлена вкладка «Магазин»
  • Обновлено превью инструмента NFC-пранк на tools.html
  • Исправлен переключатель темы (обработчики вешаются после загрузки шапки)
v1.7.2 22.07.2026
  • Генеральная уборка проекта: удалены дублирующиеся файлы в корне и templates, неиспользуемые JS-скрипты, папки yandex metrik, sounds, dumps
  • Шрифты унифицированы: Inter для всех текстов и заголовков, Consolas для кода
  • Правило бэкапа добавлено в instructionAI.md — перед любыми изменениями создавать git tag backup
  • Сборка build.py успешно проходит
v1.7.1 14.07.2026
  • Исправлены битые перекрёстные ссылки: блоки «Читайте также» больше не ведут в 404 от инструментов
  • Тултипы глоссария на мобильных: теперь не вылезают за границы экрана, текст переносится
  • Улучшено позиционирование всплывающих подсказок на маленьких экранах
v1.7.0 07.07.2026
  • Своя система статистики: вместо Яндекс.Метрики — собственный PHP-счётчик просмотров с уникальными посетителями по IP
  • Бегущая строка: исправлены битые ссылки на инструменты (вели в 404)
  • Чистка кода: удалён весь код Яндекс.Метрики (счётчик, API-прокси, OAuth-токен)
  • Страница О нас: статистика теперь работает от своего API, все упоминания Метрики удалены
v1.6.1 06.07.2026
  • Обновлена документация: README и instructionAI приведены в соответствие с реальной структурой проекта
  • Страница О нас: глоссарий 126 терминов, 3 инструмента для работы
  • Исправлены устаревшие описания в README: количество терминов, список инструментов, структура папок
v1.6.0 05.07.2026
  • Новая статья: Простые NFC-решения — от крышки бензобака до умного дома
  • Глоссарий расширен до 126 терминов: автомобильные сценарии, умный дом, автоматизация
  • Страница О нас: блок статистики посещаемости с разбивкой по инструментам
  • Поиск: теперь находит инструменты (калькулятор, генератор, пранк)
  • Исправлена ошибка сборки build.py на Python 3.14
v1.5.0 04.07.2026
  • Новый инструмент: NFC-пранк — 8 звуковых ловушек (сирена, BSOD, тревога, стекло, смех, рожок, полиция, ядерная тревога)
  • Каждая ловушка: автоплей через Web Audio API, убегающая кнопка, fullscreen, блокировка выхода, вибрация
  • Инструкция по NFC-пранку: как записать ловушку на метку, юридическая защита
  • Новая страница: Бизнесу (заглушка)
v1.4.2 24.06.2026
  • Новая статья: ТОП-5 компаний в мире NFC — NXP, Infineon, Broadcom, Thales, Identiv
  • Новая новость: NFC Forum Roadmap 2026 — 6 направлений развития стандарта
  • Новая инструкция: как найти телефон в беззвучном режиме через NFC и Tasker
  • Глоссарий расширен до 112 терминов: компании, стандарты безопасности, технологии зарядки, автоматизация
v1.4.1 24.06.2026
  • Форма обратной связи: отправка в Telegram через PHP-прокси (работает без VPN)
  • Все соцсети кликабельны: Telegram, VK, YouTube, Rutube, Дзен, Likee
  • Правовая страница: дисклеймер, ссылки на статьи УК, информация о кастомизации
  • Исправлена читаемость всех блоков в светлой теме
v1.4.0 24.06.2026
  • Полная переработка мобильной адаптации: компактная шапка, выезжающее меню
  • Все эмодзи заменены на SVG-иконки
  • Глоссарий: кастомные тултипы с авто-позиционированием
  • Новые страницы: Контакты, Правовая информация, О нас
v1.3.0 24.06.2026
  • Новость: рынок NFC 2024-2030 — $21.69 млрд → $60+ млрд
  • Полная мобильная адаптация: карточки в 1 колонку, полноэкранный поиск, фильтры
  • Глоссарий расширен до 90 терминов
  • Исправлены все кракозябры в контенте и битые ссылки
v1.2.0 23.06.2026
  • Новые инструкции: NFC-визитка, NFC в машине, NFC + 3D-принтер, умный замок, NFC-меню, NFC-самокат, проездной
  • Новая статья: NFC-капсула времени — послание в будущее
  • Автоматические перекрёстные ссылки: блок «Читайте также» под каждым материалом
  • Markdown-таблицы теперь красиво конвертируются в HTML
v1.1.0 08.06.2026
  • Новые статьи: крипто-кошельки, NFC-метки, цифровой паспорт товара
  • Новые инструкции: NFC Tools, Amiibo, iPhone NFC
  • Поддержка нумерованных списков и цитат в контенте
v1.0.1 06.06.2026
  • Главная: приветствие и лента обновлений
  • Исправлены пути к картинкам на всех страницах
  • Обновлён глоссарий, переписаны инструкции
v1.0.0 01.06.2026
  • Запуск сайта NFCrafter — гида в мире NFC-технологий
  • Статьи, новости, инструкции по NFC-меткам
  • Инструменты: генератор дампов, калькулятор памяти, таблица совместимости
  • Тёмная тема, автодеплой через GitHub Actions