Skip to main content

Entitlement lifecycle

Agent Tick has two related entitlement tracks:

  1. iOS and Android app access — whether the first-party mobile app can submit responses.
  2. Hosted service — whether agenttick.sh hosted routing, push, updates, uptime, and recent hosted history are active.

Self-hosted servers remain under the operator's control. Agent Tick entitlements only decide whether the first-party app and hosted service accept new routing/response activity; they do not turn the phone or hosted service into a remote shell.

State diagram

stateDiagram-v2
[*] --> TrialActive: first app open
TrialActive: 7-day Trial
TrialActive: app responses enabled
TrialActive: hosted service active
TrialActive --> TrialReadOnly: Trial ends without Lifetime app unlock
TrialActive --> LifetimeUnlocked: Lifetime app unlock purchased/restored
TrialActive --> HostedSubscriptionActive: subscribe monthly/yearly

TrialReadOnly: Read-only after Trial
TrialReadOnly: viewing/settings/purchase/restore stay available
TrialReadOnly: responses disabled
TrialReadOnly --> LifetimeUnlocked: purchase or restore Lifetime unlock

LifetimeUnlocked: Lifetime app unlock active
LifetimeUnlocked: self-hosted app responses enabled forever
LifetimeUnlocked: hosted service optional
LifetimeUnlocked --> IncludedHostedMonth: activate included hosted month
LifetimeUnlocked --> HostedSubscriptionActive: subscribe monthly/yearly

IncludedHostedMonth: Included hosted month active
IncludedHostedMonth: 31 days after hosted activation
IncludedHostedMonth: hosted routing/push/responses enabled
IncludedHostedMonth --> HostedExpired: included hosted month ends
IncludedHostedMonth --> HostedSubscriptionActive: subscribe monthly/yearly

HostedSubscriptionActive: Hosted subscription active
HostedSubscriptionActive: hosted routing/push/responses enabled
HostedSubscriptionActive --> ReadOnlyRoutingGrace: subscription canceled/lapsed

ReadOnlyRoutingGrace: Read-Only Routing Grace
ReadOnlyRoutingGrace: 30 days after subscription end when canceled
ReadOnlyRoutingGrace: routing/history visible; responses and push disabled
ReadOnlyRoutingGrace --> HostedSubscriptionActive: renew subscription
ReadOnlyRoutingGrace --> HostedExpired: grace ends

HostedExpired: Hosted service expired
HostedExpired: hosted routing/responses/push disabled
HostedExpired --> HostedSubscriptionActive: subscribe again

Launch state table

StateEntry conditionApp responsesHosted routingPushHistory/visibilityExit
Trial activeFirst open starts the 7-day local TrialEnabledEnabled for hosted contextEnabled for hosted contextNormal launch history behaviorTrial ends, Lifetime app unlock is purchased/restored, or hosted monthly/yearly subscription starts
Read-only after TrialTrial ended and no Lifetime app unlock existsDisabledHosted service also inactive unless another hosted entitlement existsDisabled for hosted serviceViewing, settings, purchase, and restore stay availablePurchase or restore Lifetime app unlock
Lifetime unlock activeOne-time app-store purchase is recorded/restoredEnabled for self-hosted servers and active hosted contextsNot included forever; hosted service needs Trial, included month, or subscriptionNot included foreverSelf-hosted app use remains unlocked on the app-store accountActivate included hosted month or subscribe
Included hosted month activeLifetime unlock exists and hosted service is activated for the included monthEnabledEnabledEnabledNormal launch history behaviorIncluded month ends or hosted monthly/yearly subscription starts
Hosted subscription activeMonthly/yearly hosted subscription is activeEnabledEnabledEnabledNormal launch history behaviorSubscription lapses/cancels
Read-Only Routing GraceHosted subscription ended after cancellation and grace has not expiredDisabled for hosted requestsEnabled so recent hosted context can still be viewed/recoveredDisabledRecent hosted history remains visible during the grace periodRenew, delete hosted data, or grace expires
Hosted expiredNo Trial, included month, active subscription, or grace appliesDisabled for hosted requestsDisabledDisabledHosted retention drops to zero in current lifecycle statusSubscribe again or switch to self-hosted use
Hosted data deletedUser deletes hosted dataDisabledDisabledDisabledHosted history retention is zero; safe hosted data is deleted/revokedNew hosted setup if supported later

Product rules

  • The 7-day Trial starts on first app open and does not require sign-in.
  • Trial includes hosted and self-hosted app use.
  • Lifetime app unlock is a one-time app-store purchase for ongoing first-party app use with self-hosted servers after Trial.
  • Lifetime app unlock does not include hosted service forever.
  • The included hosted month starts only when hosted service is first activated after Lifetime unlock; it does not run during the initial Trial.
  • Hosted monthly/yearly subscriptions can be purchased during Trial, during the included hosted month, or after hosted access expires.
  • The app shows the current hosted access expiry date and warns when non-renewing hosted access has one week or less remaining.
  • Read-Only Routing Grace is a hosted service recovery state after a canceled/lapsed subscription: routing and recent history remain available, but responses and push are disabled.
  • Self-hosted deployments are responsible for their own uptime, backups, notifications, and data retention.

Copy boundaries

Use this wording when updating public copy:

  • Good: “Agent Tick routes bounded Requests and responses.”
  • Good: “After Trial, Lifetime app unlock keeps first-party app use available with self-hosted servers.”
  • Good: “Hosted service requires Trial, included hosted month, or an active subscription.”
  • Avoid: “The app purchase includes hosted service forever.”
  • Avoid: “The phone runs commands remotely.”
  • Avoid: “Read-only grace preserves all data indefinitely.”