FibreTrace Scanning App (SAT): features and business logic
LSAT commit 9331d8e3 · updated 2026-09-24 17:18
The FibreTrace Scanning App, also called the Simple Audit Tool (SAT), as Malcolm builds it in the Lovable project SAT Beta FibreTrace Simple Audit Tool (LSAT). Read from LSAT’s code at commit 9331d8e3 on 2026-09-24, together with the BETA FibreTrace functions it calls (sat-auth, sat-config, sat-scans) and Malcolm’s own rulings in the LSAT chat. Behaviour is read from code; only the scanner firmware notes come from real devices, through the logs Malcolm pasted. Our production app apps/sat is ported from LSAT; section 11 lists where it deliberately differs. The Vietnamese version follows this one.
1. What the app is for
SAT does one job: an auditor standing at a facility scans material with a handheld FibreTrace scanner and records the result as a verification. The scanner reads the tracer pigment’s signature; the app checks it against the fibre program the auditor chose and records only the scans that match.
Phone only. A mobile web app that installs on the home screen. On a wide screen it shows at phone width.
Holds no business data of its own. Sign-in, company, facilities, scanners, partners, programs and the saved verifications all live on BETA FibreTrace.
Two modes. Live mode at / uses BETA. Demo mode at /demo runs every screen on built-in sample data and never touches BETA.
2. Who can use it
Rule
Detail
Who may sign in
A FibreTrace account whose company role is admin or auditor, and that is neither blocked nor deleted. Everyone else is refused with “This account can’t use the scanning tool, or it isn’t active.”
How
Email and password, checked by BETA’s sat-auth. After a password sign-in the phone can offer face or fingerprint unlock for next time; the saved session is then released only after the device’s own unlock.
Session
Kept on the device and refreshed silently. A revoked account loses its session on the next check.
Forgot password
Points the user to the FibreTrace site. SAT has no password reset of its own.
No scanner
“Don’t have a scanner?” tells the user to contact FibreTrace.
The same access rule guards every BETA call SAT makes, not only sign-in.
3. What the app loads after sign-in
One configuration download from BETA (sat-config /bootstrap) drives every screen. It is cached on the phone and re-downloaded only when its version changes, or when the user taps Reload data in Settings. If it cannot be loaded, home says so and no verification can start.
Item
What SAT gets
Company
Name and tier (Tier 0 to Tier 4). A company that produces fibre on a program counts as a producer.
Facilities
The company’s active facilities, with coordinates when captured.
Scanners
The active scanners assigned to each facility, with serial, model and Bluetooth settings. A facility with no scanner cannot be scanned at.
Partners
Accepted partner companies, each with its tier and the private reference name the company gave it (for example “Customer”).
Fibre programs
Active programs the company takes part in, each with its pigment: TAU value and tolerance, INT value and tolerance (independent since 2026-09-24). A program with no pigment is left out.
Product types
The live list from BETA’s System Configuration: label, icon and order (Raw fibre, Yarn, Fabric, Finished product).
Geofence
The maximum distance a scan should be from its facility, 5 km by default.
4. Vocabulary
Term
Meaning
Verification
One scanning session at one facility: a direction, a partner, shipping details, a product type, a program and one or more recorded scans. BETA stores it as a session.
Scan / reading
One result from the scanner: TAU and INT values plus the scanner’s serial.
Recorded scan
A reading whose signature matches the chosen program. Only these are saved.
Direction
Inbound: material arriving at the facility. Outbound: material leaving it.
Partner
The sender on an inbound verification, the recipient on an outbound one.
Shipping document ID
Waybill, AWB or bill of lading number. On inbound it is what links the two ends of a shipment.
Signature
The pigment’s TAU value read by the scanner. “Signature not matched” means FibreTrace pigment was found but not the chosen program’s.
Confidence
Moderate, Good or Excellent, from the number of recorded scans.
Unique ID
An optional product or bale ID added to one scan, typed or read by camera.
Matched shipment
An inbound verification linked to the partner’s outbound verification with the same shipping ID: an implied chain of custody.
Verification number
The central number BETA issues on upload, FT- plus eight characters. Before upload the app shows a temporary reference.
5. Before scanning: facility and scanner
Facility. On opening, the app asks for the phone’s location and pre-selects the nearest facility within the geofence radius. If none is close enough, or location is refused, it asks the auditor to pick one. The auditor can always change it. Changing facility disconnects the scanner and asks for that facility’s scanner.
Scanner. Scanners belong to a facility, so the facility comes first. Pairing uses Bluetooth in Chrome, so it works on Android phones and desktop Chrome, not on iPhone. Only the scanners approved for the facility are offered. On connection the app checks the scanner really is the one chosen (by the device name, reported serial or model) and refuses a scanner that is not marked healthy.
The top bar always shows the company on the left and the scanner state on the right:
Top bar
Meaning
Red dot, “No scanner connected”
Nothing paired.
Green dot, “Scanner connected — 00695”
Live link. Battery shows next to it (for example 51%); below 20% it turns red and says Low.
Red dot, “Scanner disconnected — 00695”
The scanner dropped (standby or a reload). Reconnect the same scanner to carry on.
Amber dot, “Demo connection — 00695”
A DEMO scanner (below). No battery.
DEMO scanner. A scanner whose type is DEMO in BETA’s admin connects instantly without Bluetooth and produces random results: a match, a wrong signature or nothing, after 2 to 4 seconds. A banner says results are simulated and can’t be saved. Finish stays off, nothing is uploaded, and the session is not kept after a reload. It exists so the flow can be shown without hardware and without creating false records. It is separate from /demo mode.
6. The verification flow
Step
What happens
Rules
1. Direction
Home shows Inbound and Outbound.
A facility and a connected scanner are needed. Producers (Tier 4) see Outbound marked Recommended; Inbound stays available.
2. Partner
Pick the sender (inbound) or recipient (outbound).
Inbound suggests suppliers (partners of the same or a higher tier number), outbound suggests customers (same or lower). “Show all partners” lists everyone, A to Z, with search. Rows read “Name (Tier n) · reference”. No partners means no way forward.
3. Shipping
Outbound: carrier and shipping document ID. Inbound: shipping document ID.
Outbound: both required; the last carrier used is filled in for next time. Inbound: optional, “Continue without shipping” is allowed. Either field can be read by camera.
4. Match (inbound with a shipping ID)
Shows the partner’s outbound verifications with the same or a similar shipping ID.
Confirm one to record the chain of custody, or continue without. In LSAT this lookup is switched off until BETA offers it, so today it always finds nothing.
5. Product type
Raw fibre, Yarn, Fabric, Finished product, from the configuration.
Required. An empty list blocks the flow.
6. Program
Pick the fibre program, A to Z.
Required. Chosen automatically when there is only one.
7. Scanning
“Awaiting scan…” while the app listens.
See section 7.
8. Result
Shows the recorded scans and the confidence.
Next scan returns to scanning. Each scan can take a Unique ID. Finish needs at least one recorded scan.
9. Reference
Notes for the whole verification.
Optional text, no Skip button; Submit saves.
10. Summary
What was saved.
Section 8. Done returns to home.
Back steps through the flow; X on the first step, Cancel, or back from the first step exits and discards the verification. An unsaved verification is kept on the phone until it is saved or exited, so a reload or closing the app returns to the same step (a scan that was listening returns to the program step, or to the result when scans exist).
7. Scanning rules
Asking for a result. The scanner only publishes a new result after the app sends it a scan command. The app sends one, waits up to 15 seconds, then sends another, and keeps going.
30-second search. If no matching scan arrives within 30 seconds, the app stops and shows “No matching scan found” with Restart search. Wrong-signature readings count towards the same 30 seconds.
Grading. A reading passes when its TAU is within the program pigment’s TAU value ± TAU tolerance. INT does not decide pass or fail in the app.
Match. Recorded, shown on the result screen, confidence updated.
Wrong signature. FibreTrace pigment found but not the program’s: a green ring with a grey warning mark, “FibreTrace detected / Signature not matched”. Not recorded; the app keeps listening.
Nothing found. No FibreTrace in the material: the spinner keeps going.
Values stay hidden. TAU, INT, expected values and tolerances are never shown to auditors, only whether a scan matched (Malcolm’s standing rule, 2026-09-24). The exception is Debug mode, offered only to @fibretrace.io and @yopmail.com accounts, which adds a Show debug chip with the raw scanner stream.
Scanner drops mid-search. The screen switches to “Scanner disconnected” with Reconnect scanner; recorded scans are kept. Reconnecting the same scanner resumes listening. Chrome needs a tap to reconnect; it cannot happen in the background.
Confidence. Up to 3 recorded scans: Moderate. 4 to 9: Good. 10 or more: Excellent.
Scanner firmware. Both firmware versions in the field (0x40a0 on scanner 00695, 0x4120 on 743) mark their results as “old” (result_age 0xff) while carrying a real TAU, and repeat their last result continuously. LSAT accepts any such result.
8. Saving and syncing
Saved on the phone first, then uploaded. Submit keeps the verification on the device, then pushes it to BETA’s sat-scans /submit. Nothing is lost offline.
Upload outcome
What the app does
Accepted, or already received (duplicate)
Marked uploaded. BETA returns the central verification number FT-XXXXXXXX.
Rejected: facility not allowed, or unknown pigment
Marked failed with a red warning in the list and an Activity log line. Never retried. Malcolm expects this to be rare.
Error, or no connection
Stays waiting and is retried.
When it retries. Whenever the verifications list loads, on reconnect, when the app comes back into focus, and every minute while anything is waiting. Uploads go ten at a time, and a resend never creates a duplicate.
Blockchain. FibreTrace writes the blockchain record itself after upload. The app checks back and shows pending until BETA reports it recorded (or a mismatch).
Summary screen. The verification number once uploaded; before that “Temporary verification number: Pending sync — ref 20260924-164553”. Date with time and time zone. Company, facility, auditor, scans, sender or recipient, carrier, shipping document ID, matched shipment, unique IDs and notes. Two chips: “FibreTrace: uploaded / pending sync” and “Blockchain: recorded / pending sync”.
Home list. The last five verifications, with the masked number (or “Pending” and a timestamp), facility, scan count, date and a cloud icon: green uploaded, amber waiting, red rejected. A refresh button re-checks.
What is sent. Facility, scanner serial, time, direction, product type, program and pigment, partner, carrier, shipping document ID, notes, the matched verification, and every recorded scan with its time, TAU, INT, the phone’s latitude and longitude, result and unique ID.
9. Location and risk
Every scan carries the phone’s latitude and longitude. BETA compares them with the facility and its geofence (5 km by default) and flags a wrong scan location to the FibreTrace admin. This is a soft warning: the scan is still recorded, and SAT shows nothing to the auditor (Malcolm, 2026-09-24: a company VPN can place a phone far from the site). A facility that has closed since would reject the upload, which Malcolm also expects to be rare.
10. Settings and support
Item
What it does
Help
Short guides on location, pairing, scanning, confidence, camera codes and syncing.
Personal details
Read-only name, email, phone and company.
Device check
Device, browser, scanner support, Bluetooth, internet, FibreTrace servers and location permission, each with advice when it fails.
Reload data
Downloads the configuration again. Offline, the app keeps using the copy on the phone.
Activity logs
A support log kept only on this phone for 30 days: sign-ins, configuration, facility, scanner, uploads, connection and location events, plus scanner hardware and firmware versions. It never records TAU/INT or personal details. Filter by date and type, download as CSV, send to support@fibretrace.io, or clear.
Language
Eleven languages listed; only English is written so far, the others fall back to English.
Debug mode
Staff accounts only (section 7).
Log out
Ends the session on this phone.
Terms & conditions and the privacy policy are linked from the sign-in screen and from Help.
11. Where our app apps/sat differs from LSAT
apps/sat follows LSAT’s screens and wording, and keeps its own scanner engine, data path and offline queue.
Topic
LSAT
apps/sat
Saving
sat-scans upload; temporary reference until uploaded
Writes the verification directly to BETA’s tables, or queues it offline with its final number; real number shown at once
Why
LSAT’s current upload loses notes, unique IDs and the matched shipment (below)
Kept until sat-scans stores everything SAT collects
Scanner identity
Serial may match by its ending
Exact serial match, on both the device name and the first packet
Firmware “old” results
Any result with a TAU counts, so a repeated previous result can be recorded again
Counts only when TAU/INT differ from the value seen before the scan command
INT
Not used
Sets a High/Low reading confidence with the program’s INT tolerance
Shipment matching
Switched off
Live: the partner’s outbound verifications are looked up directly
12. Open points
Upload drops data. BETA’s sat-scans does not yet store session notes, unique IDs or the matched outbound verification, although LSAT sends them. LSAT’s own agent has asked Malcolm to add them.
Product type key. Malcolm ruled the key (raw_fibre) is what gets submitted and the label (Raw Fibre) is what users see. LSAT currently submits the label.
Shipment matching has no BETA lookup yet, so the chain-of-custody step never finds a match in LSAT.
Repeated firmware results can be recorded twice in LSAT (section 7); LSAT asked Malcolm to test two scans in a row.
iPhone cannot pair a scanner (no Web Bluetooth).
Translations beyond English are empty.
App scan FibreTrace (SAT): tính năng và business logic
LSAT commit 9331d8e3 · cập nhật 2026-09-24 17:18
Tài liệu này mô tả FibreTrace Scanning App, còn gọi là Simple Audit Tool (SAT), theo bản Malcolm đang xây trong project Lovable SAT Beta FibreTrace Simple Audit Tool (LSAT). Nội dung đọc từ code LSAT tại commit 9331d8e3 ngày 2026-09-24, cùng các function của BETA FibreTrace mà app gọi (sat-auth, sat-config, sat-scans) và các quyết định Malcolm đưa ra trong chat của LSAT. Hành vi được đọc từ code; riêng phần firmware máy scan lấy từ thiết bị thật, qua log Malcolm dán vào chat. App production của mình, apps/sat, được port từ LSAT; mục 11 liệt kê những chỗ cố ý khác.
Bản tiếng Anh là bản gốc; nếu hai bản lệch nhau thì theo bản tiếng Anh. Chữ hiển thị trên màn hình (Inbound, Outbound, Finish, Reconnect scanner…) và thuật ngữ sản phẩm được giữ nguyên tiếng Anh.
1. App dùng để làm gì
SAT chỉ làm một việc: auditor đứng tại một cơ sở (facility), dùng máy scan FibreTrace cầm tay scan vật liệu và ghi kết quả thành một verification. Máy scan đọc chữ ký (signature) của pigment đánh dấu; app so với fibre program mà auditor đã chọn và chỉ ghi những lần scan khớp.
Chỉ dùng trên điện thoại. Là web app cài được ra màn hình chính. Mở trên màn hình rộng thì hiển thị theo khổ điện thoại.
Không tự giữ dữ liệu nghiệp vụ. Đăng nhập, công ty, facility, máy scan, partner, program và các verification đã lưu đều nằm trên BETA FibreTrace.
Hai chế độ. Chế độ thật ở / dùng BETA. Chế độ demo ở /demo chạy mọi màn hình bằng dữ liệu mẫu có sẵn và không chạm tới BETA.
2. Ai được dùng
Quy định
Chi tiết
Ai được đăng nhập
Tài khoản FibreTrace có vai trò trong công ty là admin hoặc auditor, không bị khoá và không bị xoá. Mọi tài khoản khác bị từ chối với thông báo “This account can’t use the scanning tool, or it isn’t active.”
Cách đăng nhập
Email và mật khẩu, do sat-auth của BETA kiểm tra. Sau khi đăng nhập bằng mật khẩu, điện thoại có thể đề nghị mở khoá bằng khuôn mặt hoặc vân tay cho lần sau; khi đó phiên đăng nhập đã lưu chỉ được mở sau khi thiết bị tự xác thực.
Phiên đăng nhập
Lưu trên máy và tự làm mới. Tài khoản bị thu hồi quyền sẽ mất phiên ở lần kiểm tra kế tiếp.
Quên mật khẩu
Chỉ người dùng sang trang FibreTrace. SAT không có chức năng đặt lại mật khẩu riêng.
Chưa có máy scan
“Don’t have a scanner?” hướng dẫn liên hệ FibreTrace.
Quy định truy cập này áp dụng cho mọi lần SAT gọi BETA, không chỉ lúc đăng nhập.
3. App tải gì sau khi đăng nhập
Một lần tải cấu hình từ BETA (sat-config /bootstrap) quyết định mọi màn hình. Cấu hình được lưu trên điện thoại và chỉ tải lại khi phiên bản thay đổi, hoặc khi người dùng bấm Reload data trong Settings. Nếu không tải được, trang chủ báo lỗi và không thể bắt đầu verification.
Mục
SAT nhận được gì
Công ty
Tên và tier (Tier 0 đến Tier 4). Công ty sản xuất xơ trong một program được tính là producer.
Facility
Các facility đang hoạt động của công ty, kèm toạ độ nếu đã nhập.
Máy scan
Các máy scan đang hoạt động được gán cho từng facility, kèm serial, model và thông số Bluetooth. Facility chưa có máy scan thì không scan được.
Partner
Các công ty partner đã chấp nhận kết nối, mỗi công ty kèm tier và tên tham chiếu riêng mà công ty mình đặt (ví dụ “Customer”).
Fibre program
Các program đang hoạt động mà công ty tham gia, mỗi program kèm pigment: giá trị TAU và dung sai, giá trị INT và dung sai (hai dung sai tách riêng từ 2026-09-24). Program chưa có pigment bị loại ra.
Loại sản phẩm
Danh sách lấy trực tiếp từ System Configuration của BETA: nhãn, biểu tượng và thứ tự (Raw fibre, Yarn, Fabric, Finished product).
Geofence
Khoảng cách tối đa giữa điểm scan và facility, mặc định 5 km.
4. Thuật ngữ
Thuật ngữ
Nghĩa
Verification
Một phiên scan tại một facility: một chiều hàng, một partner, thông tin vận chuyển, một loại sản phẩm, một program và một hoặc nhiều lần scan được ghi. BETA lưu nó dưới dạng một session.
Scan / reading
Một kết quả từ máy scan: giá trị TAU, INT và serial của máy.
Scan được ghi
Reading có signature khớp program đã chọn. Chỉ những reading này được lưu.
Chiều hàng (direction)
Inbound: vật liệu nhập vào facility. Outbound: vật liệu xuất khỏi facility.
Partner
Là người gửi (sender) với verification inbound, người nhận (recipient) với verification outbound.
Shipping document ID
Số vận đơn (waybill, AWB hoặc bill of lading). Với inbound, đây là thứ nối hai đầu của một lô hàng.
Signature
Giá trị TAU của pigment mà máy scan đọc được. “Signature not matched” nghĩa là có pigment FibreTrace nhưng không phải pigment của program đã chọn.
Confidence
Moderate, Good hoặc Excellent, tính theo số scan được ghi.
Unique ID
Mã sản phẩm hoặc mã kiện, tuỳ chọn, gắn vào một lần scan; nhập tay hoặc đọc bằng camera.
Matched shipment
Verification inbound được nối với verification outbound của partner có cùng shipping ID: chuỗi hành trình (chain of custody) ngầm định.
Verification number
Số định danh trung tâm BETA cấp khi upload, dạng FT- và tám ký tự. Trước khi upload, app hiện một mã tham chiếu tạm.
5. Trước khi scan: facility và máy scan
Facility. Khi mở app, app xin quyền vị trí và tự chọn facility gần nhất trong bán kính geofence. Nếu không có facility nào đủ gần, hoặc người dùng từ chối quyền vị trí, app yêu cầu auditor tự chọn. Auditor luôn đổi được facility. Đổi facility sẽ ngắt máy scan và yêu cầu kết nối máy scan của facility mới.
Máy scan. Máy scan thuộc về một facility, nên phải chọn facility trước. Kết nối qua Bluetooth trên trình duyệt Chrome, nên chạy được trên điện thoại Android và Chrome máy tính, không chạy trên iPhone. App chỉ liệt kê các máy scan đã được duyệt cho facility đó. Khi kết nối, app kiểm tra đúng là máy đã chọn (theo tên thiết bị, serial hoặc model máy báo về) và từ chối máy không ở trạng thái healthy.
Thanh trên cùng luôn hiện tên công ty bên trái và trạng thái máy scan bên phải:
Thanh trên cùng
Ý nghĩa
Chấm đỏ, “No scanner connected”
Chưa kết nối máy nào.
Chấm xanh, “Scanner connected — 00695”
Đang kết nối. Kế bên hiện % pin (ví dụ 51%); dưới 20% chuyển đỏ và thêm chữ Low.
Chấm đỏ, “Scanner disconnected — 00695”
Máy scan bị rớt kết nối (chế độ chờ hoặc tải lại trang). Kết nối lại đúng máy đó để làm tiếp.
Chấm cam, “Demo connection — 00695”
Máy scan DEMO (xem dưới). Không hiện pin.
Máy scan DEMO. Máy scan có loại DEMO trong trang admin của BETA sẽ kết nối ngay, không cần Bluetooth, và tạo kết quả ngẫu nhiên sau 2 đến 4 giây: khớp, sai signature, hoặc không có gì. Một banner báo kết quả là giả lập và không lưu được. Nút Finish luôn tắt, không có gì được upload, và phiên scan không được giữ lại khi tải lại trang. Máy DEMO dùng để trình diễn luồng scan khi không có phần cứng mà không tạo bản ghi giả. Nó khác với chế độ /demo.
6. Luồng verification
Bước
Diễn ra gì
Quy định
1. Direction
Trang chủ hiện Inbound và Outbound.
Cần có facility và máy scan đang kết nối. Producer (Tier 4) thấy Outbound được đánh dấu Recommended; vẫn chọn được Inbound.
2. Partner
Chọn người gửi (inbound) hoặc người nhận (outbound).
Inbound gợi ý nhà cung cấp (partner có số tier bằng hoặc lớn hơn), outbound gợi ý khách hàng (bằng hoặc nhỏ hơn). “Show all partners” hiện tất cả, xếp A đến Z, có ô tìm kiếm. Mỗi dòng dạng “Tên (Tier n) · tên tham chiếu”. Không có partner thì không đi tiếp được.
3. Shipping
Outbound: carrier và shipping document ID. Inbound: shipping document ID.
Outbound: bắt buộc cả hai; carrier dùng lần trước được tự điền sẵn. Inbound: không bắt buộc, cho phép “Continue without shipping”. Cả hai ô đều đọc được bằng camera.
4. Match (inbound có shipping ID)
Hiện các verification outbound của partner có shipping ID trùng hoặc gần giống.
Xác nhận một verification để ghi chain of custody, hoặc tiếp tục không nối. Trong LSAT, bước tra cứu này đang tắt cho tới khi BETA có API, nên hiện luôn không tìm thấy gì.
5. Loại sản phẩm
Raw fibre, Yarn, Fabric, Finished product, lấy từ cấu hình.
Bắt buộc. Danh sách rỗng thì luồng bị chặn.
6. Program
Chọn fibre program, xếp A đến Z.
Bắt buộc. Tự chọn khi chỉ có một program.
7. Scanning
“Awaiting scan…” trong lúc app chờ kết quả.
Xem mục 7.
8. Result
Hiện các scan đã ghi và mức confidence.
Next scan quay lại bước scan. Mỗi scan có thể gắn Unique ID. Finish cần ít nhất một scan được ghi.
9. Reference
Ghi chú (notes) cho cả verification.
Không bắt buộc, không có nút Skip; bấm Submit để lưu.
10. Summary
Những gì đã lưu.
Mục 8. Bấm Done để về trang chủ.
Nút Back lùi từng bước; nút X ở bước đầu, Cancel, hoặc Back từ bước đầu sẽ thoát và bỏ verification. Verification chưa lưu được giữ trên điện thoại cho tới khi lưu hoặc thoát, nên tải lại trang hay đóng app thì mở lại vẫn về đúng bước cũ (nếu lúc đó đang chờ scan thì quay về bước chọn program, hoặc bước kết quả khi đã có scan).
7. Quy định khi scan
Yêu cầu kết quả. Máy scan chỉ trả kết quả mới sau khi app gửi lệnh scan. App gửi một lệnh, chờ tối đa 15 giây, rồi gửi lệnh tiếp, cứ thế lặp lại.
Tìm trong 30 giây. Nếu sau 30 giây không có scan khớp, app dừng và hiện “No matching scan found” kèm nút Restart search. Các reading sai signature cũng tính vào 30 giây này.
Chấm kết quả. Reading đạt khi TAU nằm trong khoảng giá trị TAU của pigment program ± dung sai TAU. INT không quyết định đạt hay không trong app.
Khớp. Được ghi, hiện ở màn hình kết quả, confidence được cập nhật.
Sai signature. Có pigment FibreTrace nhưng không phải của program: vòng xanh với dấu cảnh báo xám, “FibreTrace detected / Signature not matched”. Không được ghi; app tiếp tục chờ.
Không tìm thấy gì. Vật liệu không có FibreTrace: vòng chờ tiếp tục quay.
Giá trị luôn bị ẩn. TAU, INT, giá trị mong đợi và dung sai không bao giờ hiện cho auditor, chỉ hiện có khớp hay không (quy định cố định của Malcolm, 2026-09-24). Ngoại lệ là Debug mode, chỉ dành cho tài khoản @fibretrace.io và @yopmail.com, thêm một chip Show debug để xem dữ liệu thô từ máy scan.
Máy scan rớt kết nối khi đang tìm. Màn hình chuyển sang “Scanner disconnected” kèm nút Reconnect scanner; các scan đã ghi được giữ lại. Kết nối lại đúng máy đó thì app tiếp tục chờ. Chrome cần người dùng bấm để kết nối lại; không tự kết nối ngầm được.
Confidence. Tối đa 3 scan được ghi: Moderate. Từ 4 đến 9: Good. Từ 10 trở lên: Excellent.
Firmware máy scan. Cả hai phiên bản firmware đang dùng thực tế (0x40a0 trên máy 00695, 0x4120 trên máy 743) đều đánh dấu kết quả là “cũ” (result_age 0xff) dù vẫn mang giá trị TAU thật, và phát lại kết quả gần nhất liên tục. LSAT nhận mọi kết quả như vậy.
8. Lưu và đồng bộ
Lưu trên điện thoại trước, rồi mới upload. Bấm Submit thì verification được giữ trên máy, sau đó được đẩy lên sat-scans /submit của BETA. Mất mạng cũng không mất dữ liệu.
Kết quả upload
App xử lý thế nào
Được nhận, hoặc đã nhận trước đó (duplicate)
Đánh dấu đã upload. BETA trả về verification number trung tâm FT-XXXXXXXX.
Bị từ chối: facility không hợp lệ, hoặc pigment không xác định
Đánh dấu lỗi, hiện cảnh báo đỏ trong danh sách và ghi một dòng vào Activity log. Không bao giờ gửi lại. Malcolm cho rằng trường hợp này hiếm.
Lỗi, hoặc không có mạng
Vẫn ở trạng thái chờ và được gửi lại.
Khi nào gửi lại. Mỗi khi danh sách verification được tải, khi có mạng lại, khi quay lại app, và mỗi phút khi còn verification chờ. Mỗi lần gửi tối đa mười verification, và gửi lại không bao giờ tạo bản trùng.
Blockchain. FibreTrace tự ghi bản ghi blockchain sau khi nhận upload. App hỏi lại trạng thái và hiện pending cho tới khi BETA báo đã ghi (hoặc báo lệch).
Màn hình Summary. Hiện verification number sau khi upload; trước đó hiện “Temporary verification number: Pending sync — ref 20260924-164553”. Ngày kèm giờ và múi giờ. Công ty, facility, auditor, số scan, người gửi hoặc người nhận, carrier, shipping document ID, matched shipment, các unique ID và notes. Hai chip: “FibreTrace: uploaded / pending sync” và “Blockchain: recorded / pending sync”.
Danh sách ở trang chủ. Năm verification gần nhất, gồm số đã che bớt (hoặc “Pending” kèm thời điểm), facility, số scan, ngày và biểu tượng đám mây: xanh là đã upload, cam là đang chờ, đỏ là bị từ chối. Nút làm mới để kiểm tra lại.
Những gì được gửi. Facility, serial máy scan, thời điểm, chiều hàng, loại sản phẩm, program và pigment, partner, carrier, shipping document ID, notes, verification đã khớp, và từng scan được ghi kèm thời điểm, TAU, INT, vĩ độ và kinh độ của điện thoại, kết quả và unique ID.
9. Vị trí và rủi ro
Mỗi lần scan mang theo vĩ độ và kinh độ của điện thoại. BETA so với facility và geofence của nó (mặc định 5 km) và báo cho admin FibreTrace khi vị trí scan sai. Đây chỉ là cảnh báo mềm: scan vẫn được ghi, và SAT không hiện gì cho auditor (Malcolm, 2026-09-24: VPN của công ty có thể khiến điện thoại hiện ở rất xa công trường). Facility đã đóng cửa sau đó thì bản upload bị từ chối, trường hợp Malcolm cũng cho là hiếm.
10. Settings và hỗ trợ
Mục
Chức năng
Help
Hướng dẫn ngắn về vị trí, kết nối máy scan, cách scan, confidence, đọc mã bằng camera và đồng bộ.
Personal details
Xem họ tên, email, số điện thoại và công ty, chỉ đọc.
Device check
Kiểm tra thiết bị, trình duyệt, hỗ trợ máy scan, Bluetooth, internet, máy chủ FibreTrace và quyền vị trí; mục nào lỗi thì có hướng dẫn xử lý.
Reload data
Tải lại cấu hình. Khi mất mạng, app tiếp tục dùng bản đã lưu trên máy.
Activity logs
Nhật ký hỗ trợ chỉ lưu trên chính điện thoại này trong 30 ngày: đăng nhập, cấu hình, facility, máy scan, upload, kết nối mạng và vị trí, cùng phiên bản phần cứng và firmware của máy scan. Không bao giờ ghi TAU/INT hay thông tin cá nhân. Lọc theo ngày và loại, tải về dạng CSV, gửi tới support@fibretrace.io, hoặc xoá.
Language
Liệt kê mười một ngôn ngữ; hiện mới có tiếng Anh, các ngôn ngữ khác tạm hiện tiếng Anh.
Debug mode
Chỉ tài khoản nhân viên (mục 7).
Log out
Kết thúc phiên đăng nhập trên điện thoại này.
Điều khoản sử dụng và chính sách quyền riêng tư có liên kết ở màn hình đăng nhập và trong Help.
11. App apps/sat của mình khác LSAT ở đâu
apps/sat theo màn hình và câu chữ của LSAT, nhưng giữ bộ đọc máy scan, đường lưu dữ liệu và hàng đợi offline của riêng mình.
Chủ đề
LSAT
apps/sat
Lưu
Upload qua sat-scans; hiện mã tham chiếu tạm cho tới khi upload xong
Ghi verification thẳng vào các bảng của BETA, hoặc đưa vào hàng đợi offline với số cuối cùng; hiện số thật ngay
Lý do
Bản upload hiện tại của LSAT làm mất notes, unique ID và matched shipment (xem dưới)
Giữ cách này cho tới khi sat-scans lưu đủ mọi thứ SAT thu thập
Xác thực máy scan
Serial có thể khớp theo phần đuôi
Serial phải khớp chính xác, trên cả tên thiết bị lẫn gói dữ liệu đầu tiên
Kết quả firmware “cũ”
Kết quả nào có TAU cũng được tính, nên kết quả trước có thể bị ghi lại lần nữa
Chỉ tính khi TAU/INT khác giá trị thấy được trước lệnh scan
INT
Không dùng
Dùng dung sai INT của program để đánh giá độ tin cậy High/Low của từng reading
Match lô hàng
Đang tắt
Hoạt động: tra trực tiếp các verification outbound của partner
12. Điểm còn mở
Upload làm mất dữ liệu.sat-scans của BETA chưa lưu notes cấp verification, unique ID và verification outbound đã khớp, dù LSAT có gửi lên. Agent của LSAT đã tự đề nghị Malcolm bổ sung.
Key của loại sản phẩm. Malcolm quy định gửi key (raw_fibre) và hiện nhãn (Raw Fibre) cho người dùng. LSAT hiện đang gửi nhãn.
Match lô hàng chưa có API tra cứu trên BETA, nên trong LSAT bước chain of custody không bao giờ tìm thấy kết quả.
Kết quả firmware lặp lại có thể bị ghi hai lần trong LSAT (mục 7); LSAT đã nhờ Malcolm thử hai lần scan liên tiếp.
iPhone không kết nối được máy scan (không có Web Bluetooth).