What this methodology covers

Short answer: ColorNote’s free web test does not perform face recognition or send the whole image to generative AI. The current browser reads image pixels locally, the user identifies three regions, and the service applies a rules-based calculation to three color values.

Covered here

The free web test

This is the public, no-login four-season test at colornote.top/color-test-en.html. We checked the page script, request contract, and server route on August 25, 2026.

Not covered here

The complete ColorNote app analysis

The app has a separate capture guide, account flow, history, and photo-retention choices. Those are governed by the Privacy Policy and the notice shown before app analysis.

Terminology matters: “Skin color” here means the RGB representation of selected photo pixels. It is not a physical skin measurement under standardized illumination and must not be used to infer race, health, or identity.

What the browser does from photo to three RGB samples

STEP 01Read a local file

After you choose a photo, FileReader reads it as a Data URL inside the browser.

STEP 02Draw to Canvas

The longest side is reduced to at most 1,500 pixels, then drawn to an offscreen canvas.

STEP 03Select regions

You tap representative cheek skin, natural hair, and the colored part of the iris.

STEP 04Average pixels

Each tap reads a 3×3 neighborhood and averages RGB values to reduce single-pixel noise.

STEP 05Request analysis

The browser submits three RGB objects—not the image file or its Data URL—to the season endpoint.

Analysis request contract
skin
{ r: 0–255, g: 0–255, b: 0–255 }
hair
{ r: 0–255, g: 0–255, b: 0–255 }
eye
{ r: 0–255, g: 0–255, b: 0–255 }

The field names are skin, hair, and eye. The server validates every channel as an integer from 0 through 255. The analysis body has no file, image URL, EXIF, name, email, or account-identifier field.

How the server chooses a basic four-season direction

The public endpoint reuses ColorNote’s deterministic rule algorithm; it does not call a large language model. The algorithm derives undertone, depth, clarity, and color contrast from the three samples. The public web result exposes only the base season.

Undertone

It compares normalized red–blue relationships across the regions. Current weights are 50% skin, 30% iris, and 20% hair. Normalization reduces the influence of simple exposure shifts on raw channel differences.

Depth

It combines mean brightness across skin, iris, and hair rather than using skin alone. The algorithm also calculates clarity and the largest brightness contrast among the three pairs.

Public output

The endpoint returns a base season, localized names, a short description, an icon, and a fixed starter palette. It deliberately omits internal sub-season and evidence fields.

Undertone directionDepth directionBasic web result
WarmLightSpring
CoolLightSummer
WarmDeepAutumn
CoolDeepWinter

These thresholds are current ColorNote product rules, not a medical standard or a universal personal-color industry standard. A material rule change should trigger a new implementation review and modification date.

How the photo, request, and result are handled

The photo stays in the browser

The file and Data URL are used for preview and Canvas sampling on the current page. The analysis request has no photo field.

No personal analysis record

The public analysis route uses no account authentication or database session. It does not save the photo or create a retrievable personal analysis record.

Short-window rate limiting

The service uses the request IP for an in-memory anti-abuse window. The analysis route itself does not write that rate-limit bucket to the application database.

Separate usage events

The page separately reports account-unlinked view, start, result-view, and App Store click events for aggregate product-funnel measurement.

“The analysis route does not persist a report” does not mean “the page has no metrics.”

The result-view event includes the basic season, interface language, and source label. It contains neither the photo nor the three RGB samples, and the web quiz does not attach an authenticated account token. It is not a retrievable personal color report. See the ColorNote Privacy Policy for the broader data rules.

Known limits: the algorithm sees photo pixels

  • Illumination changes pixels. Warm lamps, cool daylight, colored-wall reflections, and screen fill light can change samples from the same person.
  • White balance and camera processing change color. Device, capture mode, exposure, Photographic Styles, filters, and edits may shift tone, temperature, or saturation.
  • Manual taps introduce location error. Cheek highlights or redness, shadows, dyed-hair reflections, colored contacts, and the iris–pupil boundary all affect values.
  • Three local averages cannot represent a complete appearance. There is no physical draping sequence, controlled light, full skin-color distribution, or consultant observing continuous changes.
  • A season label is a simplified direction. People near a boundary may move between adjacent seasons as conditions change. Treat the result as a starting point for comparison, not an identity.
Why there is no percentage claim: the current web test has no published independently controlled validation set and no calibrated probability of correctness. ColorNote therefore does not present an internal rule score as “the probability this result is right.”

For more comparable inputs, face a window in soft daylight, turn off filters and beauty effects, and use the same device at a similar time. Then check the direction with real garments or drapes under the same light. This test cannot replace a professional consultation under controlled lighting and must never be used for medical, skin-health, or identity decisions.

How anyone can inspect the behavior

  1. Open the browser’s Network panelClear it before testing and filter for the POST request to /api/quiz/analyze.
  2. Select a photo and complete all three tapsInspect the analysis payload. It should contain only the skin, hair, and eye RGB objects.
  3. Separate analysis from metrics/api/metrics/events is a different product-use request. It should not contain the photo or the three RGB samples.
  4. Test input sensitivityRepeat nearby taps under the same conditions, then use a photo under different light. The change makes sampling and lighting limits visible.

Official and primary sources that directly support this page

External sources explain the browser APIs and camera color processing. ColorNote’s exact data flow comes from the product implementation and its first-party public policies.

Sources and implementation last checked: .