Commercial packaging
Lakuyo has a free single-device core, an optional one-time Personal Cloud Backup unlock (also called Drive Backup) inside the Phase 1 Backup & Restore feature, and a recurring Pro subscription for Lakuyo-operated cloud/multi-device services.
| Capability | Free | Drive Backup — one-time | Active Pro |
|---|---|---|---|
| Core POS + Inventory | ✅ | ✅ | ✅ |
| Supported operation | 1 active operational device | 1 active operational device | Multiple registered devices |
| Local SQLite operation | ✅ | ✅ | ✅ |
| Manual local backup / restore | ✅ (POS-008) | ✅ | ✅ |
| Backup to user’s Google Drive | ❌ | ✅ (POS-008) | ✅ (POS-008) |
| Restore from user’s Google Drive | ❌ create / ✅ recover existing | ✅ | ✅ |
| Automatic Drive backup | ❌ | ✅, default ON after authorization | ✅, default ON after authorization |
| User-owned Google Drive storage | — | Android, iOS, macOS, Windows (same Google account model) | Same when used |
| Lakuyo account required | ❌ | ❌ | ✅ |
| Lakuyo backend storage | ❌ | ❌ | ✅ (POS-014) |
| Multi-device sync | ❌ | ❌ | ✅ (POS-012/013) |
| Centralized / cloud reports | ❌ | ❌ | ✅ |
Personal Cloud Backup is a main Phase 1 Backup & Restore capability, not a future/TBD feature. Its cloud-storage portion is gated by a one-time, non-consumable store purchase (indicative ≈ Rp100.000) or included while Pro is active. Storage remains in the merchant’s own Google Drive account on all four clients (Android, iOS, macOS, Windows), and the feature does not unlock Lakuyo backend services or coordinated multi-device sync.
Commercial intent (founder agreement, 31 Aug 2026): free users stay happy on local POS; Lakuyo earns a one-time unlock fee; backend cost for free-tier backup stays zero because the path is user ↔ Google.
The one-time purchase entitlement is platform scoped (Google Play on Android; App Store on iOS; Mac App Store on macOS; Microsoft Store on Windows). Storage is Google Drive on all clients so backup lineage is cross-compatible when the merchant uses the same Google account. Cross-platform purchase portability is not promised without a future Lakuyo identity service. Drive quota follows the merchant’s Google plan; Lakuyo does not impose a separate size cap.
Entitlement keys
| Key | Free | One-time unlock | Active Pro | Spec |
|---|---|---|---|---|
core.pos | ✅ | ✅ | ✅ | POS-001…008, POS-023 |
payments.manual | ✅ | ✅ | ✅ | POS-005 (cash, edc, qris_manual) |
local.backup | ✅ | ✅ | ✅ | POS-008 |
backup.personal_cloud | ❌ | ✅ | ✅ while Pro active | POS-008 |
cloud.account | ❌ | ❌ | ✅ | POS-009 |
cloud.subscription | ❌ | ❌ | ✅ | POS-010 |
cloud.device_registration | ❌ | ❌ | ✅ | POS-011 |
cloud.sync | ❌ | ❌ | ✅ | POS-012 |
cloud.multi_device | ❌ | ❌ | ✅ | POS-013 |
cloud.backup | ❌ | ❌ | ✅ | POS-014 |
payments.psp_integrated | ❌ | ❌ | TBD | POS-015 (Doit/etc. — optional) |
restaurant.tables | ❌* | ❌* | TBD | POS-016…018 |
* Phase 3 capabilities may be bundled or sold as add-ons; final packaging is TBD before implementation.
backup.personal_cloud is the shared product entitlement. Storage implementation is Google Drive on Android, iOS, macOS, and Windows (not iCloud).
Purchase restoration
The Personal Cloud Backup unlock screen must provide both Buy once (≈ Rp100.000 indicative) and Restore Purchase.
- Lakuyo should query store ownership automatically when practical.
- Restore Purchase explicitly re-queries/restores the user’s prior non-consumable purchase on a new/reinstalled device.
- Restore Purchase restores feature ownership; it is different from Restore Backup, which restores merchant business data.
- A merchant who bought the one-time unlock before subscribing to Pro continues to own it after Pro ends, even if the app needs Restore Purchase to rediscover that ownership.
- A merchant who only received Personal Cloud Backup through Pro does not gain a lifetime entitlement when Pro ends.
Pro expiry / downgrade
When an active Pro subscription ends:
- Core local POS + Inventory continues under Free rules.
- Lakuyo-operated sync/cloud capabilities stop according to their Pro entitlements.
- Existing Google Drive backup files are never deleted by entitlement expiry.
- Restore of an existing Personal Cloud Backup remains available for disaster recovery.
- If a prior one-time
backup.personal_cloudpurchase exists, ownership remains permanent and can be recovered through Restore Purchase. - If there is no prior one-time purchase, creating new Personal Cloud Backups and automatic Personal Cloud Backup are locked until the user buys once or renews Pro.
Backup specification boundary
POS-008 is the Phase 1 Backup & Restore specification family. It must define:
- Free local backup / restore — manual local backup and restore without purchase.
- Personal Cloud Backup / Drive Backup — one-time paid unlock (≈ Rp100.000) or active-Pro inclusion using merchant-owned Google Drive, with manual Back Up Now, restore, and automatic backup enabled by default after authorization.
- Backup payload covering local SQLite data and product images (plus related merchant-owned assets defined by the spec).
- A versioned, migration-safe Lakuyo backup format shared by Android and iOS on Google Drive.
- Purchase restoration and entitlement transition behavior.
- Backup lineage and one active cloud-backup writer per backup lineage.
POS-014 remains different: it is Lakuyo-managed cloud backup for Pro subscribers.
Single active cloud-backup writer
Personal Cloud Backup protects against accidental multi-device overwrite without adding Lakuyo backend DRM:
- Each installation has a stable installation identifier.
- Each backup/manifest records lineage metadata including source installation, revision, created time, schema/format version, and a stable local merchant/data identity.
- Google Drive metadata identifies the installation currently allowed to write the Personal Cloud Backup lineage.
- Restoring on another installation must require explicit confirmation that the new installation becomes the active backup writer.
- The previous installation remains usable locally, but its Personal Cloud Backup writes stop until ownership is explicitly reclaimed.
- Personal Cloud Backup does not merge divergent local databases. Coordinated concurrent use requires Pro sync.
Enforcement rules
- Missing entitlement ⇒ feature UI may show an upgrade prompt; the free local path must remain usable.
local.backupMUST remain available without any purchase.backup.personal_cloudunlocks creation/update and automatic Personal Cloud Backup only; it MUST NOT unlock multi-device synchronization, Lakuyo cloud storage, or backend APIs.- Existing Personal Cloud Backup data must not be deleted or made unrecoverable solely because Pro expires.
- Personal Cloud Backup MUST use the merchant’s authorized Google Drive account on Android and iOS and MUST NOT require a Lakuyo backend account.
- Automatic Personal Cloud Backup is ON by default after Google Drive authorization for entitled users, with a user-visible OFF control and manual Back Up Now action.
- Clients MUST NOT call Lakuyo backend sync/backup APIs without valid Pro entitlements.
- Backend MUST reject sync and multi-device operations without a valid subscription state.
- Manual payment methods MUST remain available on the free tier without PSP entitlement.
- Personal Cloud Backup is backup/disaster recovery, not a sync transport between active devices.
- Drive storage quota follows the merchant’s Google Drive plan; Lakuyo MUST NOT host free-tier Personal Cloud Backup bytes on Lakuyo infrastructure.