SSM-Clock Stamp – Q&A (12A)

Purpose. A concise, copy-pasteable FAQ for SSM-Clock Stamp (SSM-CS), expanded with context on traditional timestamping and why SSM-CS matters. All math is plain ASCII.


Q1. What is the SSM-Clock Stamp in one line?
An offline, ASCII-only stamp that binds exact file bytes, a human-verifiable clock, and an append-only chain:
SSMCLOCK1|iso_utc|rasi_idx|theta_deg|sha256(file)|chain[|kv:...]
with chain_k = H_chain( ascii(chain_{k-1} + "|" + stamp_core) ) and chain_0 = "0"*64.

Q2. How does it compute time without ephemeris or network?
From UTC only (no ephemeris):
wrap360(x) = x - 360*floor(x/360)
theta_deg = wrap360( (unix_seconds / 86400) * 360 )
rasi_idx = floor(theta_deg / 30)
Printed with exactly theta_prec digits (default 5, ties-to-even, IEEE-754 binary64).

Q3. Why is this different from classic methods (TSA, PKI, blockchain)?

  • TSA/PKI: need online trust infrastructure and keys; give “not-before T.”
  • Blockchain: needs nodes/fees; gives public time via block inclusion.
  • SSM-CS: zero ceremony, fully offline at stamp/verify time; you optionally publish a day roll-up later for “no-later-than T_pub.”
    Daily anchor: rollup_D = sha256( ascii(Stamp_1 "|" ... "|" Stamp_n) ) after canonical sort by (iso_utc, stamp_core, chain).

Q4. What guarantees do I get, exactly?

  • Integrity: h_file = H_algo(file_bytes) flips on any byte change.
  • Local ordering: chain rewalk detects deletions/reorders at first mismatch.
  • Determinism: identical outputs across tools following the same rules.
  • Optional public time bound: daily rollup_D yields a “no-later-than” claim.

Q5. What does SSM-CS not guarantee by itself?
Not authorship, not absolute legal time, not confidentiality. For authorship, sign the exact ASCII line:
sig = Ed25519_sign(priv, ascii(SSMCLOCK1|...|chain)) (verification is analogous).

Q6. Where does SSM-CS fit among “offline timestamping” options?
True offline timestamping is rare; most schemes still depend on TSA/PKI or blockchains for trust/time. SSM-CS fills the gap: purely local integrity + relative order now, and a cheap later public bound (daily anchor). It is not a full time oracle, but it revolutionizes offline, low-ceremony use.

Q7. What big practical impacts can this unlock?

  • Accessibility in low-resource settings: no accounts/keys/network.
  • Cost: stamping is free; anchoring is a simple publish step.
  • Scale/composability: streaming hashes for big files; per-stamp agility via kv: (e.g., sha3_256, blake2b-256); multi-device provenance via kv:chain_id, kv:device.
  • Human-centric checks: theta_deg/rasi_idx are interpretable “clock state,” not opaque nonces.

Q8. What are the key limitations/challenges to keep in mind?

  • Not a time oracle: backdating is possible within the anchor window; mitigate by publishing anchors promptly.
  • Chain forks: mitigate by publishing rollup_D (and optionally witness_chain_tip) regularly.
  • No built-in identity: add a signature if non-repudiation matters.
  • Adoption: needs awareness and tools; kept observation-only to avoid misuse in safety-critical contexts.

Q9. What is in the kv: tail, and why?
Policy/agility without breaking format, e.g.:
kv:algo=sha256;chain_algo=sha256;theta_prec=5;float=ieee75464;time_mode=derived_utc
Defaults if absent: algo=sha256, chain_algo=sha256, theta_prec=5, float=ieee75464, time_mode=derived_utc. Parsers ignore unknown keys.

Q10. How strict is formatting and printing?
Very strict (for portability and audit):

  • UTC Z only: iso_utc = "YYYY-MM-DDTHH:MM:SSZ" (no subseconds, no :60).
  • Fixed-digits angle: exactly theta_prec fractional digits, ties-to-even.
  • All digests: lowercase 64-hex.
  • Hash inputs: ascii(...) of the literal characters; | is the sole delimiter; no spaces.

Q11. What does a minimal workflow look like?

  1. Stamp on create/update (emit sidecar, append ledger).
  2. Verify before use (HASH_OK, CLOCK_OK, plus CHAIN_OK if ledger present).
  3. Anchor daily by publishing the rollup_D note.
  4. Batch audit periodically (verify-all + ledger rewalk).

Q12. Can I run an “actual-time” mode without changing the stamp?
Yes (optional): set kv:time_mode=observed and keep ASCII evidence lines in a sidecar. Core verification is unchanged; anchors still provide the public bound.


Navigation
Back: SSM-Clock Stamp – Reference Pseudocode (11)
Next: SSM-Clock Stamp – Q&A (12B) — Domain Uses, Hybrids