Добро пожаловать, demo_nika!
Панель управления сотрудника
Установить приложение
Откройте персональную ссылку и установите приложение через меню браузера.
Shark Bests V4.5 — полный список изменений
Все изменения с усиления безопасности 25.09.2026 по 01.10.2026
Безопасность и защита сессий
- Проверка версии авторизации, роли, увольнения и виртуального статуса выполняется на каждом защищённом запросе.
- Смена/сброс пароля отзывает старые сессии, remember-токены, биометрические токены и центральные доступы.
- Закрыты повтор Pay SSO, вход через старые login-token/PWA URL, открытые redirect, XSS/inline HTML и доступ к скрытым медиа.
- Добавлены одноразовые nonce/code, CSRF, rate limit, idempotency и строгая проверка владельца для поддержки, upload, архивов, превью и платежей.
- Усилены cookie/HTTP-заголовки, журналирование и шифрование: новые чувствительные данные используют AES-GCM, прежние CBC только читаются.
Единый SSO, вход и биометрия
- Shark, Cloud и D‑MASH Pay переведены на отдельный SSO с Authorization Code + PKCE и точным возвратом на исходную страницу.
- Добавлены центральные logout/logout-all, восстановление отозванного grant и 30-дневные revocable remember-сессии без прежнего лимита 30 минут / 8 часов.
- Существующий ключ WebAuthn предлагается сразу; после входа пользователь немедленно возвращается в запрошенный клиент.
- PRF используется там, где доступен; Samsung/non-PRF устройства используют WebAuthn-gated non-extractable Web Crypto key.
- Биометрия/private key не хранятся на сервере; доступны управление ключами, отзыв, кнопка назад и «Больше не предлагать».
- Регистрация и Telegram-bound одноразовые ссылки перенесены в SSO; сброс пароля подтверждается через привязанный Telegram.
- Исправлены post-logout маршруты, повторный вход после выхода и совместимые redirect со старых Shark URL.
Поддержка галереи
- В клиентской галерее появился чат поддержки с текстом и фотографиями вместо передачи телефона/Telegram.
- На один ФО действует один активный тикет; закрытые диалоги и вся история сохраняются.
- Новое сообщение клиента в закрытом тикете продолжает тот же диалог и снова открывает его для поддержки.
- Исправлена двойная отправка ответов; формы с собственным JS больше не перехватываются общим обработчиком.
- Фото читаются из приватного Cloud S3, открываются внутри страницы и не показывают клиенту XML-ошибки хранилища.
- JPEG/PNG/WebP до 25 МБ готовятся в браузере до 2560 px; сервер сохраняет нормализованный JPEG до 8 МБ с memory/pixel limit.
- Сохранены квоты 100 фото / 64 МБ, хэши, защищённая выдача и durable outbox уведомлений администраторам.
- Центр поддержки и тикет переработаны под телефон/desktop; добавлена карточка фотографов и активных оплат.
Evidence, оферты и аудит
- Cloud и Pay сохраняют bounded device fingerprint, серверный HMAC, IP/User-Agent и события акцепта.
- Evidence связывается по ФО, заказу и платежу; delivery snapshots и хэши неизменяемы.
- У заказа есть общий UUID, у каждого платежа — свой номер/UUID; сумма, назначение, профиль и оферта фиксируются отдельно.
- Cloud Evidence schema 2 включает чат, авторов, даты и SHA-256 приложенных фотографий.
- HTML/PDF показывают читаемые данные вместо сырого JSON; JSON-кнопка удалена.
- PDF проверяет каждое вложение и не выдаёт неполный пакет при отсутствии фото или несовпадении хэша.
- Pay использует общий Cloud-reference evidence и собирает пакет как с Cloud, так и для внешнего заказа.
Архитектура Cloud / Pay / Shark
- Cloud стал владельцем S3 upload, превью, клиентской галереи, поддержки, удаления медиа и админских экранов ФО.
- D‑MASH Pay стал владельцем merchant-профилей, ЮKassa, QR, оферт, evidence, чеков и платёжных операций.
- Shark использует подписанный HTTPS sync Pay → Shark вместо cross-site PHP include; повтор идемпотентен.
- Старые writable Shark-маршруты перенаправляют либо возвращают 409/410; совместимые cron-пути делегируют работу владельцу.
- Standalone FileX перенесён в Cloud с сохранением файлов, object keys, галерей, соглашений, архива и Telegram webhook.
- Приватные конфиги и S3-контуры разделены; неиспользуемые legacy-реализации удалены.
Загрузка, очередь и медиа
- Обычная загрузка любого допустимого размера выполняется одним Browser → S3 PUT; multipart — только fallback после ошибок.
- Очередь держит три файла одновременно и общий сетевой лимит; следующий файл стартует сразу после освобождения слота.
- Карточки выбранных файлов появляются сразу, а первый подготовленный файл передаётся без ожидания всего набора.
- «Повторить все ошибки (N)» вместе запускает retryable failed; expired перезапускаются отдельно с новым client key.
- Работают resume после обновления, свежие signed URL, HEAD/size-контроль, byte progress, wake lock и тихие уведомления.
- RAW DNG/CR2/CR3/NEF/ARW/RAF/RW2 получили типы, badge, постоянные JPEG-превью и скачивание нетронутого оригинала.
- Превью учитывают EXIF; удаление originals/previews/multipart синхронизировано с upload и сохраняет audit metadata.
Файлообменник и клиентская галерея
- Создание ФО, подключение фотографа по QR, клиентская ссылка, upload, просмотр, скачивание и архив собраны в Cloud.
- Галерея обновляется без перезагрузки, имеет мобильный viewer, сохранение отдельных файлов и всей выдачи.
- Файлы имеют явную клиентскую видимость; gallery capability не выдаёт себя за сотрудника.
- «Оплатить» открывает основные merchant-профили создателя и employee-участников именно этого ФО.
- Выбранный profile повторно проверяется сервером; профиль постороннего сотрудника через URL отклоняется.
- QR ФО лежит на белой подложке с 12 px safe zone; белая область не перекрывает модули кода.
- Уведомления о неактивном ФО перенесены в Cloud и ведут на актуальные страницы.
D‑MASH Pay, QR и ЮKassa
- Один сотрудник может иметь несколько merchant-профилей/аккаунтов ЮKassa; для ФО выбирается основной профиль.
- Regular и D‑MASH Pay QR управляются из Pay с сохранением ID, ставок, ссылок и истории.
- Добавлены «Мои QR», админское управление и три фирменных шаблона обоев 1080×1920 с проверяемым QR.
- Merchant может существовать без API ЮKassa, но оплата заблокирована до активного Shop ID/API key.
- Direct создаёт карточный платёж Shark, organizer — QR; классификация сохраняется в заказе и не меняется задним числом.
- Успешная ЮKassa-оплата автоматически и один раз создаёт платёж/прокат Shark; ручной дубль не нужен.
- Комиссия клиента удалена: введённая сумма равна списанию; income и полная налоговая база хранятся отдельно.
Налоги, чеки и выплаты
- Добавлены НПД, ИП НПД и ИП УСН с редактируемыми ставками; новые настройки не переписывают историю.
- Налоговые/комиссионные параметры фиксируются на платеже и держателе суммы и сохраняются при split.
- QR компании не создаёт ложный налоговый долг; direct/card может быть освобождён от повторной компенсации.
- «Налог / 2», собственный налог, удержания, компенсации и исторические snapshots отражаются в кассе.
- Авточеки «Мой налог» изолированы по сотруднику/юрлицу; manual отметки сохраняются, ambiguous ответы идут в review.
- Добавлены FNS entities/products и привязки к аккаунтам ЮKassa, QR и картам.
- Выплаты используют отдельные gateway; сотрудник сам привязывает карту, хранится только encrypted synonym и маска.
Прокаты и распределение оплаты
- Прокат поддерживает несколько оплат, валюту/курс, исходную сумму, реального получателя и владельца кассы.
- Split доступен при создании и для существующего платежа: исходная строка сохраняется, меняются держатели и доли.
- Разделение сохраняет сумму, историю налога и даёт каждому держателю доступ к прокату.
- Добавлены отмена, частичный возврат отдельной отрицательной строкой и полный audit причин/операций.
- После split, отмены и возврата кассы за дату пересобираются без потери статуса расчёта.
- Управляющему доступны мобильные просмотр/редактирование; на добавлении таблицу заменила кнопка «Прокаты».
- Правило закреплено явно: прокат вбивает тот, чей это прокат; доля коллеги оформляется split.
Кассы, долги и взаиморасчёты
- Исправлено направление: владелец «Забирает у» получателя, получатель зеркально «Отдаёт» владельцу.
- Карты показывают «Банк (у Получатель) — сумма»; погашение долга не удаляет card snapshot.
- Распределение показывает полную сумму входящих/исходящих долгов и нетто по каждому человеку.
- «Должен сдать/получить» показывает сумму до долгов и итог после формулы «до − должны ему + должен он».
- Signed-расчёт работает при отрицательной сдаче: долг сотруднику увеличивает сумму к получению.
- «Сдаст за [сотрудника]» меняет исходные сдачи обоих и закрывает долг; отдельный блок показывает исполнителя.
- «Должники сдадут всё» транзакционно применяет все положительные нетто-долги владельца.
- Исправлены исторические долги и отсутствовавшие card snapshots без перестройки остальных данных дня.
Интерфейс, PWA и руководство
- Shark, Cloud и Pay получили согласованную PWA-навигацию и cross-app ссылки с запуском установленного приложения.
- Профили дополнены контактами и приватными аватарами; таблицы показывают безопасные thumbnails с initials fallback.
- Таблицы, формы, галерея, поддержка, медиа и рабочие панели адаптированы под телефон.
- Добавлено руководство 1.2: 10 разделов, поиск, роли, якоря, deep-links и admin-only QA appendix.
- Руководство содержит реальные скриншоты со стрелками для Cloud, создания/редактирования прокатов, split, отмены и возврата.
- Ссылки на руководство добавлены в Shark, Cloud и Pay; версия приложения обновлена до Shark Bests V4.5.
Как заключить договор с ЮKassa
Пошаговая инструкция: от регистрации самозанятости в «Мой налог» до создания магазина, получения Shop ID и подключения API к D‑MASH Pay.
Открыть инструкциюКасса за сегодня
0 руб.
Текущая точка
Demo Point A
ЗП за день
0 руб.