К содержимому
Granularity
  • Документация
  • Компоненты
  • Основы
  • Паттерны
  • Playground
⌘KПоиск
  • enEnglishПолный
  • ruРусский
Исходники на GitHubВерсия ядраv0.41.0
  • Документация
  • Компоненты
  • Основы
  • Паттерны
  • Playground
  • enEnglishПолный
  • ruРусский
v0.41.0

Правовая информация

  • Правовая информация
  • Лицензия
  • Комплаенс
  • Приватность
  • Условия
  • Cookie
  • Декларация о доступности
  • Безопасность
  1. Правовая информация
  2. Комплаенс

Комплаенс

Что уходит в браузер и по каким лицензиям: состав поставки портала, SBOM, права на материалы сайта и готовые ответы для опросника поставщика.

Черновик до запуска: текст написан, юристом не проверялся.

Короткий ответ

Ядро Granularity объявляет 0 runtime-зависимостей. Это не фигура речи и не округление: в манифесте установленного пакета 0.41.0 раздел dependencies пуст, и аудит зависимостей у вас сводится к одному пакету.

Сам портал — статические HTML, CSS и шрифты. Ни один запрос не уходит на сторонний хост: ни за шрифтом, ни за стилем, ни за аналитикой. Полный состав того, из чего он собран, отдаётся машине одним запросом — CycloneDX.

Что уходит в браузер

Разница между «зависимость проекта» и «код на устройстве пользователя» здесь принципиальна, и почти весь список ниже — первое. На устройство приезжает вот что.

  • Шрифт Inter — SIL Open Font License 1.1. Отдаются 3 подмножества: inter-cyrillic.woff2, inter-latin-ext.woff2, inter-latin.woff2. Ещё 4 файла читает генератор карточек Open Graph — они не покидают сборку. Копия лицензии лежит в репозитории рядом со шрифтом, и её отпечаток сторожит гейт: замена шрифта роняет сборку.
  • Иконки lucide — ISC. Пакет @iconify-json/lucide сборочный, но его данные запекаются в CSS масками — то есть приезжают к пользователю и попадают под свою лицензию. Отдельного запроса за иконкой нет ни одного.
  • JavaScript островов — Vue и компоненты Granularity. Прозаическая страница не грузит ни байта: скрипт появляется там, где есть живое демо, playground или поиск.
  • Индекс поиска — Pagefind, MIT. Индекс и его WebAssembly отдаются с того же адреса и загружаются только по запросу пользователя.

Ни одного стороннего хоста

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

Практическое следствие: ни один сторонний обработчик не получает IP-адрес вашего сотрудника от того, что он открыл документацию. Обработчиков персональных данных у сайта нет вовсе — приватность.

Одна оговорка, и она названа здесь, а не спрятана в исключении гейта. Демо GrFilePreview показывает состояние «картинка не загрузилась» и берёт для этого адрес в домене .invalid. Такие имена зарезервированы RFC 2606 и не резолвятся нигде и никогда — это и есть их назначение, — поэтому запросом к стороннему хосту он не становится и никаких данных никуда не отправляет.

Состав поставки портала

Замыкание production-зависимостей портала — 396 пакетов на 12 лицензиях, из них 14 прямых. Читается дерево, установленное на диск, а не список из манифеста: в реестре лицензий важно то, что доехало, включая транзитивное, и версия берётся оттуда же — диапазон «^0.41.0» это не версия, а обещание.

Почти всё в этом списке — сборочный инструмент. Он превращает исходники в статические файлы и в браузер не едет никогда. Не читайте таблицу как «пользователю приезжает четыреста пакетов»: ему не приезжает ни одного.

ЛицензияПакетовИз них прямые зависимости портала
MIT360@astrojs/markdown-remark, @astrojs/vue, @feugene/fint-i18n, @feugene/unocss-preset-granular, @floating-ui/dom, @unocss/astro, astro, remark-directive, unocss, vue
ISC10—
BSD-2-Clause8—
Apache-2.04—
BlueOak-1.0.03—
BSD-3-Clause3—
SEE LICENSE IN LICENSE3@feugene/astro-granularity, @feugene/granularity, @feugene/granularity-code
CC-BY-4.01—
CC0-1.01—
MPL-2.01—
OFL-1.11@fontsource-variable/inter
Python-2.01—

Строка SEE LICENSE IN LICENSE — это собственные пакеты Granularity: в манифесте npm идентификатора для такой лицензии нет, и он живёт в файле. Разбор — на странице лицензии. Лицензия.

SBOM и машиночитаемые ответы

  • /api/v1/sbom.json — CycloneDX 1.6 с purl на каждый пакет.
  • /api/v1/licenses.json — та же поставка сводкой по лицензиям.

Граница названа прямо, потому что подменять её выгодно и потому нечестно: это состав портала. Полный SBOM по каждому из пакетов библиотеки собирается в её релизном процессе, и выдавать одно за другое — тот род неточности, который корпоративная проверка не прощает.

Права на материалы сайта

ЧтоНа каких условиях
Код библиотекиLicenseRef-Granularity-EUC-1.0
Примеры кода на сайтеCC0 1.0 — общественное достояние. Копируйте без указания источника: пример для того и нужен.
Проза документацииCC BY 4.0 — переиспользуемо с указанием источника.
Логотип и знакВсе права защищены; правила — на странице бренда.
Шрифты и иконкиПо лицензиям правообладателей — перечислены ниже.

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

VPAT и ACR

Отчёта о соответствии (VPAT 2.5 / ACR) пока нет. Он запланирован и требует не только прогонов, но и ручной проверки со скринридером, которой ещё не было, — заполнить его по одной автоматике значило бы выдать документ, чья первая же строка неверна.

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

Готовые ответы для опросника поставщика

ВопросОтвет
Идентификатор лицензии для реестраLicenseRef-Granularity-EUC-1.0
SBOM в машиночитаемом видеCycloneDX 1.6 — /api/v1/sbom.json
Runtime-зависимости ядраНет ни одной.
Запросы к сторонним хостам с сайтаНет. Шрифты, стили и скрипты отдаются с собственного адреса сайта.
Cookie и трекерыCookie нет вовсе; аналитика не развёрнута. См. страницу про cookie.
Соответствие по доступностиWCAG 2.2 AA, соответствует частично — исключения перечислены в декларации.
VPAT / ACRЕщё не опубликован. Что есть вместо него — ниже.

Контакт

Вопросы юротдела и запросы на документы — legal@granularity.tech. Отвечаем в течение пяти рабочих дней. Об уязвимостях — безопасность.

Редакция действует с: 2026-09-02

Последняя ревизия: 2026-09-02

На этой странице

  • Короткий ответ
  • Что уходит в браузер
  • Состав поставки портала
  • SBOM и машиночитаемые ответы
  • Права на материалы сайта
  • VPAT и ACR
  • Готовые ответы для опросника поставщика
  • Контакт

Разделы

  • Документация
  • Компоненты
  • Основы
  • Паттерны
  • Примеры интерфейсов

Ресурсы

  • Архитектура
  • Изменения
  • Роадмап
  • Блог
  • Дизайн
  • Как внести вклад
  • О проекте

Право

  • Лицензия
  • Комплаенс
  • Приватность
  • Условия
  • Cookie
  • Декларация о доступности
  • Безопасность

Экосистема

  • Ядро
  • Charts
  • Chrono
  • Code
  • Dashboard
  • Datasource
  • Devtools
  • Editor
  • Forms Schema
  • Media
  • Test Kit
  • Unplugin

Портал собран на самой Granularity.

Apache-2.0 с оговоркой об этичном использовании — это не OSI-лицензия.

Версия ядра: 0.41.0