Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# TRUSCA
<p align="center">
<img src="docs-site/static/img/logo.png" width="72" height="72" alt="TRUSCA" />
</p>

<h1 align="center">TRUSCA</h1>

<p align="center"><em>TrustedOSS SCA — open-source software composition analysis</em></p>

[![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE)
[![Release](https://img.shields.io/badge/release-v0.10.0-2563eb.svg)](CHANGELOG.md)
Expand Down
5 changes: 5 additions & 0 deletions apps/frontend/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Favicons: modern browsers pick the SVG; .ico (16/32/48) is the legacy
fallback; apple-touch-icon is the iOS home-screen icon. -->
<link rel="icon" href="/favicon.ico" sizes="32x32" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<meta name="theme-color" content="#0f172a" />
<title>TRUSCA</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
Expand Down
Binary file added apps/frontend/public/apple-touch-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/frontend/public/favicon.ico
Binary file not shown.
5 changes: 2 additions & 3 deletions apps/frontend/public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 6 additions & 15 deletions apps/frontend/src/components/BrandMark.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,12 @@
* the symbol is needed instead of re-inlining the paths.
*
* Palette is fixed brand colour (not theme tokens) so the tile reads
* identically on any surface: a teal gradient tile (#2dd4bf → #0f766e) with
* the hexagon + check in paper (#fafafa). Teal is the TRUSCA brand colour;
* the wordmark (BrandWordmark) uses the same teal. The gradient id is
* per-instance (useId) so multiple marks on one page never collide.
* identically on any surface: a dark-slate tile (#0f172a) with the hexagon
* in paper (#fafafa) and the check in teal (#2dd4bf) as the brand accent.
* Clean dark base + a teal pop — not a flat black, not a loud gradient.
*/
import { useId } from "react";

export function BrandMark({ size = 24 }: { size?: number }) {
const gradId = useId();
return (
<svg
xmlns="http://www.w3.org/2000/svg"
Expand All @@ -26,13 +23,7 @@ export function BrandMark({ size = 24 }: { size?: number }) {
aria-hidden
focusable="false"
>
<defs>
<linearGradient id={gradId} x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stopColor="#2dd4bf" />
<stop offset="1" stopColor="#0f766e" />
</linearGradient>
</defs>
<rect width="32" height="32" rx="8" fill={`url(#${gradId})`} />
<rect width="32" height="32" rx="8" fill="#0f172a" />
<path
d="M16 6.5 L24.2 11.25 V20.75 L16 25.5 L7.8 20.75 V11.25 Z"
fill="none"
Expand All @@ -43,8 +34,8 @@ export function BrandMark({ size = 24 }: { size?: number }) {
<path
d="M12.6 16.2 L15.1 18.7 L19.6 13.4"
fill="none"
stroke="#fafafa"
strokeWidth="2.2"
stroke="#2dd4bf"
strokeWidth="2.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
Expand Down
14 changes: 7 additions & 7 deletions apps/frontend/src/components/BrandWordmark.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
/**
* BrandWordmark — the "TRUSCA" lettering in a single brand-teal colour
* (#0f766e), matching the mark tile. Weight / size inherit from the
* surrounding context (e.g. the sidebar header is semibold-sm; the auth
* lockup sizes it up). See docs/brand-trusca.md and BrandLockup.
* BrandWordmark — the "TRUSCA" lettering in ink (inherits the surrounding
* text colour / foreground). Weight and size come from context (the sidebar
* header is semibold-sm; the auth lockup sizes it up). The brand colour lives
* in the mark (BrandMark) and the teal check; the wordmark stays neutral ink
* so the lockup reads clean. See docs/brand-trusca.md and BrandLockup.
*
* "TRUSCA" is the product name, identical in every locale, so it is not
* translated. Colour is a fixed hex (not a theme token) to match the mark,
* which renders identically on any surface.
* translated.
*/

export function BrandWordmark() {
return <span style={{ color: "#0f766e" }}>TRUSCA</span>;
return <span>TRUSCA</span>;
}
2 changes: 1 addition & 1 deletion charts/trustedoss/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ sources:
- https://github.com/trustedoss/trusca
maintainers:
- name: TrustedOSS
icon: https://raw.githubusercontent.com/trustedoss/trusca/main/docs/static/img/logo.png
icon: https://raw.githubusercontent.com/trustedoss/trusca/main/docs-site/static/img/logo.png

# ArtifactHub metadata (https://artifacthub.io/docs/topics/annotations/helm/).
# Surfaced on the ArtifactHub package page once the OCI repo is registered (a
Expand Down
5 changes: 2 additions & 3 deletions docs-site/static/img/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs-site/static/img/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 2 additions & 3 deletions docs-site/static/img/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs-site/static/img/social-card.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 12 additions & 11 deletions docs/brand-trusca.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,21 +50,22 @@
- **C Stacked SBOM** — 구성요소 목록 막대 + 최상단 검증
- **선정안**: **A Hex Check** (2026-06-12 확정) — 패키지 육각 + 검증 체크.
16px 가독성이 가장 좋고 보안 도구 관례에 부합.
- **팔레트**(2026-06-13 갱신): 브랜드 컬러 = **틸**, paper `#fafafa`, ink `#18181b`.
단색 near-black 타일이 "너무 검다"는 피드백 + BomLens 레퍼런스(그라데이션 타일·
단색 굵은 워드마크·태그라인) 검토를 거쳐, **마크 타일은 틸 그라데이션
`#2dd4bf → #0f766e`**(대각, top-left→bottom-right)로, 육각+체크는 paper로 칠한다.
(기존 계획의 블루 `#2563eb`에서 틸로 변경, 리스크 Low의 블루와도 분리.)
틸 `#0f766e`는 흰 배경 5.47:1로 WCAG AA 통과.
- **워드마크**: Inter, 굵게(extrabold), tracking-tight, **"TRUSCA" 단색 틸 `#0f766e`**.
단어 중간 색 분리(구 `TRU`+`SCA`)는 폐기 — 싸구려로 읽혀 BomLens식 단색으로 통일.
- **팔레트**(2026-06-13 안 E 확정): ink `#18181b`, paper `#fafafa`, 브랜드 accent = **틸**.
로고 색은 여러 번 바뀜 — near-black 단색("너무 검다") → 틸 그라데이션("촌스럽다") →
**안 E: 다크 슬레이트 타일 + 틸 체크 포인트**(절충 — 깔끔한 다크 + 색 정체성).
- **마크 타일**: `#0f172a`(다크 슬레이트) **flat**, rx 8.
- **육각**: paper `#fafafa` stroke. **체크**: 틸 `#2dd4bf` stroke(다크 위 포인트).
- **워드마크**: Inter 굵게(extrabold) tracking-tight, **"TRUSCA" 잉크**(= foreground 상속).
색은 마크의 틸 체크가 담당, 워드마크는 중립 잉크로 깔끔하게. 단어 중간 색 분리(구
`TRU`+`SCA`)는 폐기.
- **태그라인**: "TrustedOSS SCA"(= TrustedOSS 이니셔티브의 SCA 도구). muted gray,
대문자 변환 안 함(우산명 "TrustedOSS" 카멜표기 보존). 단어 색 분리 대신 이
태그라인이 SCA·우산 관계를 담당.
대문자 변환 안 함(우산명 "TrustedOSS" 카멜표기 보존).
- **락업**: 풀 락업(마크+워드마크+태그라인)은 여유 있는 곳(로그인 게이트웨이·브랜드
쇼케이스)에 — `apps/frontend/src/components/BrandLockup.tsx`. 좁은 48px
사이드바/헤더는 축약 락업(마크+워드마크, 태그라인 생략).
구현: `BrandMark.tsx`(그라데이션 타일)·`BrandWordmark.tsx`(틸 워드마크).
구현: `BrandMark.tsx`(다크 슬레이트 타일+틸 체크)·`BrandWordmark.tsx`(잉크 워드마크).
- **래스터 자산**: `docs-site/static/img/logo.png`(256×256, 마크 — Helm 아이콘·README 헤더
공용)·`social-card.png`(1200×630 OG). 로고 변경 시 둘 다 재생성(HTML+Playwright).
로그인 카드 타이틀 등 문장 속 "TRUSCA"는 평문 유지(로케일별 어순 상이).
- **적용 자산**: 타일 틸 = `apps/frontend/src/components/BrandMark.tsx`,
`apps/frontend/public/favicon.svg`, `docs-site/static/img/{logo,favicon}.svg`.
Expand Down
Loading