package licensing // NoOpSigner returns an empty signature. Used when neither YAMA_SIGN_PASSWORD // nor YAMA_LICENSE_SERVER is set — operator hasn't configured licensing at // all (free-tier mode). Device list keeps working; the client's private // library refuses to start screen/file features when it sees a zeroed // Signature[64] field in CMD_MASTERSETTING. type NoOpSigner struct{} func NewNoOp() *NoOpSigner { return &NoOpSigner{} } func (n *NoOpSigner) Sign(startTime, clientID string) (string, error) { return "", nil } func (n *NoOpSigner) Mode() string { return "noop" } func (n *NoOpSigner) Close() error { return nil }