{
  "concerns": [
    {
      "id": "gluten",
      "title": "Глютен",
      "active": true,
      "planned": false,
      "why": "Проект человека с целиакией. Цена ошибки — испорченное здоровье, а не сбитый блендер."
    },
    {
      "id": "lactose",
      "title": "Лактоза",
      "active": false,
      "planned": true,
      "why": "Сухое молоко и сливки есть почти в каждом рецепте проекта."
    },
    {
      "id": "nuts",
      "title": "Орехи",
      "active": false,
      "planned": true,
      "why": "Аллерген, а не непереносимость: орех в молотом виде означает аллергию."
    },
    {
      "id": "sugar",
      "title": "Сахар",
      "active": false,
      "planned": true,
      "why": "Плитка и литр газировки — разные количества. Нужно уметь считать."
    },
    {
      "id": "spicy",
      "title": "Острое",
      "active": false,
      "planned": true,
      "why": "Перец, имбирь, корица в карамели и кофе. Переносится плохо и незаметно."
    }
  ],
  "statuses": [
    {
      "id": "no",
      "title": "содержит",
      "short": "содержит",
      "color": "no",
      "means": "Глютен в составе. Не вариант."
    },
    {
      "id": "traces",
      "title": "может содержать следы",
      "short": "следы",
      "color": "traces",
      "means": "В составе чисто, но производство, упаковка или склад общие с пшеницей. Глютена в составе нет, конкретная цифра не указана."
    },
    {
      "id": "check",
      "title": "не указано",
      "short": "не указано",
      "color": "check",
      "means": "Зависит от состава и конкретного производителя: маркировка добровольная, и отсутствие упоминания глютена не гарантирует его отсутствия."
    },
    {
      "id": "certified",
      "title": "без глютена",
      "short": "без глютена",
      "color": "certified",
      "means": "Знак сертификации или маркировка «без глютена»: производитель отвечает за содержание ниже 20 мг/кг. Это порог маркировки, а не ноль."
    },
    {
      "id": "clean",
      "title": "не содержит",
      "short": "не содержит",
      "color": "clean",
      "means": "Глютен по составу невозможен: сахар, молоко, масло, какао из бобов, соль."
    },
    {
      "id": "unknown",
      "title": "не проверено",
      "short": "не проверено",
      "color": "unknown",
      "means": "Пачка не попадалась в руки. Это не «не содержит»."
    }
  ],
  "items": [
    {
      "id": "cocoa-mass",
      "name": "Какао-тертое",
      "also": [
        "Какао-тертое неалкализированное"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Бобы. Муки быть не может. Неалкализированное — тот же продукт, просто без обработки щёлочью"
    },
    {
      "id": "cocoa-butter",
      "name": "Какао-масло",
      "flags": {
        "gluten": "clean"
      },
      "note": "Отжим из бобов, отдельный продукт: в тёртом масла непостоянное количество"
    },
    {
      "id": "cocoa-powder",
      "name": "Какао-порошок",
      "flags": {
        "gluten": "check"
      },
      "note": "Бывает с добавками: крахмал, ароматизатор, «натуральное какао» разного качества"
    },
    {
      "id": "sugar",
      "name": "Сахар",
      "also": [
        "Сахарная пудра"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Из сахарного тростника или свёклы. Пудра — та же сахарная пудра, но в магазине с наполнителями"
    },
    {
      "id": "corn-starch",
      "name": "Кукурузный крахмал",
      "also": [
        "Картофельный крахмал"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Кукуруза или картофель. Пшеничный крахмал — это уже нет"
    },
    {
      "id": "xanthan",
      "name": "Ксантановая камедь",
      "flags": {
        "gluten": "clean"
      },
      "note": "Продукт брожения на среде с глюкозой, выращивается из сои или кукурузы"
    },
    {
      "id": "salt",
      "name": "Соль",
      "also": [
        "Морская соль, хлопья"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Минерал. Хлопья и морская — тот же минерал"
    },
    {
      "id": "vinegar",
      "name": "Уксус",
      "also": [
        "Уксус столовый",
        "Уксус спиртовой",
        "Уксус яблочный"
      ],
      "flags": {
        "gluten": "check"
      },
      "note": "Солодовый уксус делают из ячменя, и это глютен. Спиртовой и синтетический (9 % в бутылке) — из уксусной кислоты, пшеницы в них нет. Читай состав: «солодовый» и «из ячменя» — нет, «уксусная кислота» — да"
    },
    {
      "id": "water",
      "name": "Вода",
      "flags": {
        "gluten": "clean"
      },
      "note": ""
    },
    {
      "id": "milk-powder",
      "name": "Сухое молоко",
      "flags": {
        "gluten": "check"
      },
      "note": "Сухие смеси для кофе с наполнителями. В состав идёт сухое обезжиренное, а рядом бывают добавки"
    },
    {
      "id": "dry-cream",
      "name": "Сухие сливки",
      "flags": {
        "gluten": "check"
      },
      "note": "Тот же случай, что у сухого молока: сухая смесь, а не продукт"
    },
    {
      "id": "cream",
      "name": "Сливки 20-33 %",
      "flags": {
        "gluten": "clean"
      },
      "note": "Жидкие сливки: производство на молоке, пшеница не участвует"
    },
    {
      "id": "butter",
      "name": "Масло сливочное",
      "flags": {
        "gluten": "clean"
      },
      "note": "Жидкое сливочное масло всегда"
    },
    {
      "id": "coconut-fat",
      "name": "Кокосовое масло",
      "also": [
        "Масло кокосовое или подсолнечное"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Кокос или подсолнечник — оба чистые"
    },
    {
      "id": "coconut-flour",
      "name": "Кокосовая мука",
      "flags": {
        "gluten": "clean"
      },
      "note": "Кокосовая стружка, размолотая в пыль"
    },
    {
      "id": "honey",
      "name": "Мёд",
      "flags": {
        "gluten": "clean"
      },
      "note": ""
    },
    {
      "id": "invert-syrup",
      "name": "Инвертный сироп",
      "flags": {
        "gluten": "check"
      },
      "note": "Декстроза и мальтодекстрин. Источник не всегда указан на пакете"
    },
    {
      "id": "lecitin",
      "name": "Лецитин",
      "flags": {
        "gluten": "check"
      },
      "note": "Порошок. У соевого бывает своя мука в составе как носитель"
    },
    {
      "id": "vanilla",
      "name": "Ваниль",
      "also": [
        "Ванильный стручок"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Сама ягода, даже настоянная на спирте"
    },
    {
      "id": "vanilla-powder",
      "name": "Ванильный порошок",
      "flags": {
        "gluten": "check"
      },
      "note": "Сухая смесь: сахар, специи, иногда загуститель. Не путать с ванилью"
    },
    {
      "id": "citric-acid",
      "name": "Лимонная кислота",
      "flags": {
        "gluten": "clean"
      },
      "note": ""
    },
    {
      "id": "egg",
      "name": "Яйцо",
      "also": [
        "Белки яичные",
        "Желток"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Белок и желток по отдельности — то же яйцо"
    },
    {
      "id": "kefir",
      "name": "Кефир",
      "also": [
        "Кефир или вода"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Кисломолочный продукт из молока"
    },
    {
      "id": "leaveners",
      "name": "Разрыхлитель",
      "flags": {
        "gluten": "check"
      },
      "note": "Бывают пекарские смеси с мукой. Смотри, что именно в составе"
    },
    {
      "id": "flour-garnec",
      "name": "Мука GARNEC универсальная",
      "flags": {
        "gluten": "unknown"
      },
      "note": "Конкретная пачка не проверена. Безглютеновая по названию бренда — не подтверждение"
    },
    {
      "id": "vanillin",
      "name": "Ванилин",
      "flags": {
        "gluten": "clean"
      },
      "note": "Одна молекула, C8H8O3. По составу муки быть не может. На пачке пишут «подходит для безглютеновой продукции» — это подсказка производителям, а не маркировка «без глютена»"
    },
    {
      "id": "vanilla-paste",
      "name": "Ванильная паста",
      "also": [
        "Паста ванильная"
      ],
      "flags": {
        "gluten": "check"
      },
      "note": "Сахар, загуститель, экстракт и семена ванили, и почти половина массы — вода. В шоколад не идёт: вода засевает"
    },
    {
      "id": "vanilla-sugar",
      "name": "Ванильный сахар",
      "also": [
        "Сахар с ароматом ванили"
      ],
      "flags": {
        "gluten": "check"
      },
      "note": "Сахар с ароматизатором, а не с ягодой. По сути тот же сахар из рецепта, только с ванилином"
    },
    {
      "id": "glazed-curd-cheese",
      "name": "Сырок глазированный",
      "also": [
        "Творожный сыр",
        "Сыр глазированный",
        "Сырный продукт"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Пастеризованный творожный сыр: молоко, молочный жир, соль. Муки быть не может по составу, поэтому зелёный, а не жёлтый как у сухого молока"
    },
    {
      "id": "cottage-cheese",
      "name": "Творог",
      "also": [
        "Творог пастеризованный"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Кисломолочный продукт из молока. Мука не участвует в приготовлении"
    },
    {
      "id": "potato",
      "name": "Картофель",
      "also": [
        "Картофель молодой"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Клубень: пшеницы по составу быть не может. Глютен приходит не из картошки, а из общего фритюра и из приправы к готовым чипсам"
    },
    {
      "id": "frying-oil",
      "name": "Масло растительное рафинированное",
      "also": [
        "Масло подсолнечное рафинированное"
      ],
      "flags": {
        "gluten": "clean"
      },
      "note": "Отжим семечек, муки в нём быть не может. Глютен приходит из фритюра, где жарили панировку, а не из масла"
    },
    {
      "id": "cashew",
      "name": "Кешью",
      "flags": {
        "gluten": "clean"
      },
      "note": "Орех: в нём самом муки быть не может. Глютен приходит не из ореха, а из обжарки и приправы — солёный кешью из пакета бывает с общей линией. Проверять надо не глютен, а состав посыпки"
    }
  ],
  "products": [
    {
      "id": "arubio-cocoa-mass-200",
      "ing": "cocoa-mass",
      "brand": "AruBio",
      "title": "Какао тертое натуральное, 200 гр.",
      "size_g": 200,
      "ozon": "166127706",
      "price": 592,
      "price_with_card": 657,
      "on_pack": "100% шоколад без сахара, без сахарозаменителей, алкализованный",
      "seen": "2026-10-05",
      "checked": false,
      "note": "2960 ₽ за кг. Рецепт просит негорький алкализованный, на пачке «алкализованный» есть, но негорьчесть не подтверждена",
      "per_g": 2.96
    },
    {
      "id": "aliva-cocoa-butter-100",
      "ing": "cocoa-butter",
      "brand": "Алива",
      "title": "Натуральное нерафинированное какао-масло, Мексика (100 г)",
      "size_g": 100,
      "ozon": "4519007220",
      "price": 371,
      "price_with_card": 413,
      "seen": "2026-10-05",
      "checked": false,
      "bulk": [
        {
          "size_g": 200,
          "price_per_100g": 358
        },
        {
          "size_g": 500,
          "price_per_100g": 280
        },
        {
          "size_g": 1000,
          "price_per_100g": 242
        },
        {
          "size_g": 2000,
          "price_per_100g": 192
        }
      ],
      "note": "3710 ₽ за кг в маленькой фасовке. Опт дешевле втрое, но нужно 55 г",
      "per_g": 3.71
    },
    {
      "id": "bzmzhk-milk-powder-201",
      "ing": "milk-powder",
      "brand": "БЗМЖК",
      "title": "Молоко сухое цельное ГОСТ, короб 200 грамм",
      "size_g": 201,
      "fat_pct": 26,
      "ozon": "700955392",
      "price": 326,
      "price_with_card": 362,
      "on_pack": "ГОСТ Р 52791-2007, БЗМЖК",
      "seen": "2026-10-05",
      "checked": false,
      "note": "ГОСТ к жирности и составу, а не к глютену: в России норм по содержанию клейковины нет",
      "per_g": 1.622
    },
    {
      "id": "vkusny-vybor-cream-500",
      "ing": "dry-cream",
      "brand": "Вкусный выбор",
      "title": "Сухие сливки 500 гр",
      "size_g": 500,
      "fat_pct": 35,
      "ozon": "4578237468",
      "price": 235,
      "price_with_card": 261,
      "on_pack": "заменитель, без лактозы, 35% жирности, 500 г",
      "seen": "2026-10-05",
      "checked": false,
      "note": "Самый дешёвый по грамму: 0,47 ₽/г",
      "per_g": 0.47
    },
    {
      "id": "mr-slivkin-cream-200",
      "ing": "dry-cream",
      "brand": "Mr. Сливкин",
      "title": "Заменитель сухих сливок 200 гр",
      "size_g": 200,
      "ozon": "1596789961",
      "price": 127,
      "price_with_card": 142,
      "on_pack": "заменитель, 1 упаковка × 200 г",
      "seen": "2026-10-05",
      "checked": false,
      "note": "0,64 ₽/г, но самый дешёвый вход: нужно 10 г",
      "per_g": 0.635
    },
    {
      "id": "dobry-udon-cream-1000",
      "ing": "dry-cream",
      "brand": "Добрый Удон",
      "title": "Сухие сливки Новогородские №1, 20%, 1 кг",
      "size_g": 1000,
      "fat_pct": 20,
      "ozon": "2157865240",
      "price": 488,
      "price_with_card": 542,
      "on_pack": "без лактозы, 0% химии, на молочной сыворотке и кокосовом масле",
      "seen": "2026-10-05",
      "checked": false,
      "note": "Жирность 20% против 35% у Вкусного выбора. Заменитель на сыворотке и кокосовом масле, а не сухие сливки",
      "per_g": 0.488
    },
    {
      "id": "parfe-vanillin-5x1",
      "ing": "vanillin",
      "brand": "Парфэ Декор",
      "title": "Ароматизатор пищевой «Ванилин», 5 пак. по 1 г",
      "size_g": 5,
      "pack": "5 пакетиков по 1 г",
      "ozon": "2256519194",
      "price": 174,
      "price_with_card": 159,
      "seen": "2026-10-06",
      "checked": true,
      "gluten": "clean",
      "on_pack": "Состав: ароматизатор «Ванилин». Один компонент",
      "note": "На пачке 1 г на 1 кг продукта, и это для выпечки, где аромат уходит с жаром. В шоколад не печётся, поэтому на 415 г берут меньше",
      "per_g": 34.8
    },
    {
      "id": "parfe-vanilla-paste-60",
      "ing": "vanilla-paste",
      "brand": "Парфэ Декор",
      "title": "Паста с натуральной ванилью без глютена",
      "size_g": 60,
      "ozon": "2256512028",
      "price": 281,
      "price_with_card": 253,
      "seen": "2026-10-06",
      "checked": true,
      "gluten": "certified",
      "on_pack": "Состав: сахар, патка, загуститель (трагакант камедь), экстракт ванили, семена ванили. Без глютена",
      "note": "На 100 г углеводов 66 г, жиров и белков нет: остальное — вода. В шоколад такая паста не идёт, масса засеивается. Для тортов и выпечки — да",
      "per_g": 4.683
    },
    {
      "id": "parfe-vanilla-sugar-60",
      "ing": "vanilla-sugar",
      "brand": "Парфэ Декор",
      "title": "Ванильный сахар без глютена",
      "size_g": 60,
      "pack": "12 пакетиков по 5 г",
      "ozon": "2256522461",
      "price": 255,
      "price_with_card": 235,
      "seen": "2026-10-06",
      "checked": true,
      "gluten": "certified",
      "on_pack": "Состав: сахар, ароматизатор. Без глютена",
      "note": "Сахар с ароматизатором, ягоды в составе нет. Лицевая надпись «натуральный состав» про это молчит: ванилин в сахаре тот же синтетический, что и в отдельном пакете",
      "per_g": 4.25
    }
  ]
}
