Why this page exists
The cheap way to break trust is to publish a strong promise, then quietly water it down on the same URL six months later. Customers reading the page today see a different commitment than the one they relied on when they signed.
This page commits us to the opposite. Every substantive change to SLA, Bill of Rights, Warranty, Trust Scorecard, Complaint Handling, or any other dated public commitment lands here within 7 days of being made, with: what changed · which direction (tighter, looser, expanded, edited) · why · the affected page. The git commit hash, when we publish a versioned mirror, will go in the right column.
Direction labels — what each tag means for you:
As of this publication date, every change in this log is EXPAND, TIGHTEN, or LAUNCH — we have never reduced a published commitment. If that ever changes, the LOOSEN row goes here, on this same page, with the explanation.
The log
Published 6-rule AI / bot reply pre-commitment on /contact §ai-policy + /trust hub cross-link
Pre-commitment published before we have built or deployed any chatbot. Right now every WhatsApp / email / phone reply is human; if we ever add an AI assistant for first-touch FAQs, six rules bind us: (1) AI self-identifies in the first message of every conversation — never "guess if it's a bot," (2) never quotes a final price (only ranges from /pricing), (3) never makes scheduling, lead-time, availability, or stock commitments, (4) hands off to a human immediately on request — no upsell first, (5) the deployment date will be logged on this changelog as a dated LAUNCH entry, (6) we will never disable the AI label or claim a bot reply was from a human. Any reply violating these six rules is a /transparency-report §4 corrections-receipt event. Why pre-commitment: publishing the constraint before we acquire the capability is the standard play — it binds future-us in a way that is auditable. It also guards against the silent-bot-rollout attack surface (a vendor adds AI replies without disclosure and customers never know). Cross-linked from /trust verification-resources grid as the 10th item. Why now: bot-build conversation surfaced; we wanted the policy on record before any code exists.
Published /continuity-plan.html + 繁中 sibling — 7 forward commitments for shutdown / sale / successor
Most HK furniture vendors with 10-year warranties have no public continuity plan. We published 7 specific commitments — 1 FORMAL (mechanism parts globally sourceable), 4 COMMITTED (install record export · 30-day deposit refund priority · 60-day public shutdown notice · successor disclosure), 2 PENDING (warranty-document escrow at 50+ active warranties · HK SBLM-trained-fitter list). The status tagging is honest: COMMITTED means we said it publicly without an instrument yet; PENDING means we're working on it. The page also names what we cannot promise — bankruptcy law overrides moral commitments; SBLM may discontinue the specific mechanism generation past 20 years; force-majeure may compress the 60-day notice. Why now: iter-133 logged the gap publicly on /known-issues; iter-134 closes part of it with a public address rather than a private intention. Site now 41 of 41 EN/ZH pairs symmetric. [2026-04-30 retroactive note: this "41 of 41" claim was off by 1 — actual count was 40. iter-146 caught the error and updated current claims; this historical entry is retained as a snapshot-of-when-written. See correction receipt #1.]
Published /buyer-risk-disclosure.html + 繁中 sibling — 10 honest pre-purchase risks beyond the warranty
Most furniture sites quote benefits and bury caveats in fine print. We published the caveats as the headline. The page enumerates 10 specific pre-deposit considerations: wall composition uncertainty (1 in 30 installs reveals incompatible wall) · tenancy-fixture restoration cost · future renovation lock-in · ~zero mechanism resale value · neighbour sound transmission in pre-1985 buildings · showroom-vs-home performance gap from floor slope · specialist removal labour HKD 4–6K · mechanism parts supply chain dependency · mortgage / home-insurance disclosure considerations · tenancy-bound product fit (≥3yr break-even). Item 10 explicitly tells short-tenancy buyers to consider a sofa bed instead — anti-selling as a trust signal. Why: the warranty page lists what we won't cover; this page lists what the warranty can't cover because the consideration isn't a manufacturing defect at all. Buyers deserve both lists before deposit. Cross-linked from /warranty.html and listed in the /trust.html toolkit. Site now 40 of 40 EN/ZH pairs symmetric. [2026-04-30 retroactive note: this "40 of 40" claim was off by 1 — actual count was 39. See iter-146 receipt #1.]
Shipped 5 missing 繁中 page ports — site is now 39 of 39 EN/ZH pairs symmetric
Five EN-only pages had been declared with hreflang="en-hk" but had no 繁中 sibling — Cantonese-speaking buyers landing on those pages mostly bounced. All 5 shipped on 2026-04-29 in priority order (highest revenue first): salvage-rescue-zh (wall-bed repair · captures "翻床維修" search intent) · how-to-read-a-quote-zh (7-point quote-reading checklist · "報價單" intent) · press-zh (HK Cantonese media kit + boilerplate) · inspiration-zh (6 install moodboards translated) · about-zh (founder open letter, translated with extra tone-care, marked for founder review). Why: publishing pages with hreflang declarations to non-existent siblings is itself a Bill-of-Rights-adjacent honesty issue (the page promises bilingual UX it doesn't deliver). The gap was disclosed publicly on /known-issues for 1 day before being closed. Future drift caught by D7 hreflang-symmetry gate. [2026-04-30 retroactive note: this "39 of 39" claim was off by 1 — actual count after iter-100's 5-port sprint was 38 pairs. Same off-by-one error pattern as iter-119/iter-134 (see correction receipt #1). The pattern goes back at least to this iter-100 entry. Retained as snapshot-of-when-written.]
Removed 4 synthetic Review + 4 synthetic Quotation JSON-LD blocks from homepage
Sister change to the aggregateRating removal above. The homepage previously emitted 4 Review objects (each with a fictional "Person" — Mr W., Ms L., Dr C., Mrs T. — a 5-star rating, a date, and a HK location) plus 4 Quotation objects with the same fake-attributed quotes. Search engines and AI crawlers were treating these as real customer reviews. We deleted both blocks. The visible testimonial cards stay on the page (they're marked "illustrative initial-and-neighborhood" in the visible UI), but no synthetic structured data goes to crawlers. Real Review schema returns once ≥10 verified Google reviews exist.
Removed synthetic aggregateRating from homepage FurnitureStore schema
Previously the homepage emitted "aggregateRating": {"ratingValue":"4.9","reviewCount":"50"} backed by 4 illustrative testimonials. We deleted the field entirely — no synthetic structured data is emitted at all. Trade-off: we lose the gold-stars rich result in Google search until real Google reviews exist. Why: a SEO-positive but accuracy-negative element directly contradicts the Trust Scorecard's "every claim has a source" framing. Better no rating than a fake one. Real numbers go back in once we have 10+ verified reviews from real customers via the /reviews-collection.html outreach toolkit.
Published /how-to-make-a-complaint.html — buyer-facing version of internal SOP
A plain-language 5-step guide buyers can read before they ever need it. Mirrors the 5 internal triage buckets and timelines exactly. Why: a published complaint pathway is the cheapest insurance a customer has — and the absence of one is a red flag they should learn to spot.
Internal complaint-handling SOP committed to writing (5-bucket triage, 24-hour ack, written-closure standard)
Previously we handled complaints by ad-hoc improvisation. Now there is a written procedure with named owners and target dates. Why: a "median complaint resolution time" in the transparency report is meaningless if there's no process behind it.
Added SOP NOT FOLLOWED escalation pathway directly to the founder
If a customer believes the documented complaint SOP itself was not followed, they can email the founder directly with that subject line. Why: published procedures need a recourse path of their own; otherwise the procedure is un-enforceable from the buyer's side.
Published first annual /transparency-report.html — 10 metrics, audit roadmap to 2027
10 metrics committed for annual publication: install volume, mechanism-failure rate, refund rate, complaint resolution time, Consumer Council escalations, Small Claims cases, jobs we refused, customer-reference list size, photo consent %, quote-to-deposit funnel. Methodology + caveats published alongside.
Published /sla.html — first time we attached automatic credits to our timing pledges
Pre-2026 we made timing promises ("4-week production", "5-day install window") with no consequence for missing them. The SLA attaches HKD-denominated automatic credits when we miss any of them, paid without the customer needing to ask. Why: published consequences make commitments real.
Published /customer-bill-of-rights.html — 10 enumerated buyer protections
No high-pressure sales · honest measurement-first quotes · written warranty · refund pathway · no NDA-as-condition-of-resolution · no retaliation against reviews · venue-of-choice for disputes · no unilateral contract changes · accessibility commitments · privacy basics. Why: enumerating buyer rights is a higher trust bar than vague "customer first" marketing.
Published /trust.html Trust Scorecard with sources for every claim
Every numerical claim about the business or mechanism (load rating, failure rate, install count range, etc) lists its source — datasheet, internal log, public registry. Why: claims without sources are advertising; claims with sources are evidence.
Published 3-step dispute pathway with named external venues (Consumer Council, Small Claims Tribunal, Customs & Excise)
Pre-2026 we'd have asked customers to "talk to us first" and offered no specified escalation. Now the published pathway names the venues and commits us to participating in good faith if a customer goes to them. Why: hidden dispute pathways hide buyer leverage.
Published /known-issues.html — public list of weaknesses on our own site/business
Generic OG image · email form is a placeholder · AggregateRating is illustrative not from a third-party verified pool · customer reference list is small. Why: a vendor that names their own weaknesses publicly is more credible than one that pretends none exist.
Removed all stock images from homepage gallery; required signed photo-release for every image
A buyer flagged that 2 placeholder images on the gallery were stock photos. We thanked them and replaced both within 48 hours. New rule: every image on /index.html gallery is from a real install with a written photo-release on file. Why: showing real installs is a basic credibility floor; it took an outside flag for us to enforce it without exception.
Warranty paragraph rewritten — explicit hardware re-tightening for first 5 years free, annual checkup includes torque check
A 2024 customer disputed whether a slightly loosened bolt was a warranty item under "manufacturing defect" wording. We honoured it as a warranty fix anyway — but the customer was right that the language was ambiguous. New paragraph closes the gap explicitly. Why: ambiguous warranty wording is a tax on customers who don't push back; clarifying it removes the tax.
Refused to issue any quote without a verified lift dimension on file
A 2023 install required mid-job re-engineering when the panel didn't fit through the residential lift. The customer paid for a problem we should have caught at quote stage. New rule since 2024: every quote includes a separate "lift access" line; if we can't get the lift dimension, we don't quote. Why: quote speed at the cost of quote accuracy is a buyer-tax we won't impose.
Published full materials-provenance disclosure (mechanism · steel · panel · finish · hardware origin)
Most HK furniture vendors say "European mechanism" or "imported steel" without naming the source. We named everything: SBLM (Italy), specific steel grade, panel manufacturer, finish supplier. Why: opaque sourcing is the most common scam tell in HK custom furniture; opening our own books answers the question before the buyer has to ask.
10-year mechanism warranty — first introduced as written policy
Pre-2019 we offered a 1-year defect period (HK convention). The mechanism's actual SBLM lifespan is 20+ years; offering 1 year understated reality and let cheaper competitors hide their own short lifespans behind "industry standard". 10 years is honest about what the mechanism is rated for. Why: under-warranting a long-life product to match competitors is a form of hiding behind the market.
Founded with the policy: every install starts with on-site measurement, not a quote
From day one, we refused to quote without seeing the wall. This was unusual in 2018 HK and remains unusual in 2026 — most vendors quote from photos and adjust later. Why: quoting before measurement transfers risk to the customer. We hold the risk on our side from the start.
Our process commitment
- Every substantive policy change is logged here within 7 days of going live.
- If we ever LOOSEN a commitment, the change must be explained on this page and announced to existing customers via email — silent rollbacks are a Bill-of-Rights violation.
- If you spot a discrepancy between an active page and this log (e.g. SLA changed but no row here), email hello@ with subject
POLICY CHANGELOG GAP— we treat it as a Bill-of-Rights issue and the founder reviews directly. - The 2027 transparency report will publish the count of LOOSEN entries (we expect zero, but the metric is committed regardless).
Source-of-truth pages
- SLA
Timing pledges + automatic credits.
- Customer Bill of Rights
10 enumerated buyer protections.
- Warranty
10-year coverage paragraph.
- Trust Scorecard
Every claim with its source.
- Transparency Report
Annual de-personalised metrics.
- How to make a complaint
Plain-language buyer guide.
A vendor whose published policies match across years.
If you're comparing us to another HK seller, ask them for their policy changelog. Ours is here. Theirs probably doesn't exist — and that absence is itself the answer.