Skip to content

sha2kyou/Savepoint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SavePoint

Platform macOS Language Sandbox Release Last Commit

Warning

Known limitation: security-scoped bookmark access may fail intermittently on macOS. In practice, after several hours of normal runtime, multiple or all managed file bookmarks may suddenly become invalid without obvious user action.
Recovery path: fully quit SavePoint and relaunch it.
Status: under active investigation and mitigation.

SavePoint is a sandboxed macOS menu bar application for local file snapshotting. It monitors user-authorized files, captures point-in-time revisions on content changes, and provides diff/restore workflows for controlled rollback.

Scope

  • This repository ships source code only. No packaged installer is provided.
  • App source lives in App/.
  • Xcode project: SavePoint.xcodeproj.

Features

  • Change-driven snapshot capture for managed files, including background/offline scan paths.
  • Snapshot lifecycle operations: inspect, rename, delete, lock, and unlock.
  • File-to-snapshot diff against current working state.
  • Restore from a selected historical snapshot.
  • Retention-based storage cleanup.

Requirements

  • macOS 14.0+
  • Xcode version capable of building for macOS 14.0 target

Quick Start

  1. Open SavePoint.xcodeproj in Xcode.
  2. Select the SavePoint scheme and run.
  3. Authorize files from Add Managed File.
  4. Grant notification permission when prompted (usually on first snapshot creation).

Data and Storage

  • Default snapshots root: ~/Library/Application Support/SavePoint/Snapshots
  • The snapshot directory is also accessible from app settings.

Permissions

  • App Sandbox is enabled.
  • File read/write scope is limited to user-selected files (com.apple.security.files.user-selected.read-write).

Privacy

  • SavePoint is designed for local operation. This repository does not implement file content upload/sync.
  • The app may open external links in your browser (for example, links in About).
  • The app can post "snapshot created" notifications.

Security Notice

  • Snapshot copies are stored under the current user profile (see Data and Storage).
  • If managed files contain sensitive data, treat the snapshot directory as sensitive data.

Gatekeeper (Unsigned Builds)

When running unsigned builds on other macOS machines, Gatekeeper may block launch (for example, "Developer cannot be verified" or "App is damaged").

For local testing, advanced users can try right-click Open, or remove quarantine attributes:

xattr -dr com.apple.quarantine /Applications/SavePoint.app

This workaround is not suitable for production distribution.

Third-Party Dependencies

  • Differ (Swift Package): collection diffing

License

Apache-2.0. See LICENSE.

About

A macOS utility that automatically backs up individual files with version snapshots.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages