How gauruuu/gdrm works
GDRM is a Flutter-based document-rights management application, with a companion SDK. Its documented workflow packages sensitive PDFs into .gdrm containers, applies recipient and device restrictions, then authenticates users and presents protected content in a controlled reader. Additional documented safeguards include dynamic watermarking, ChronoLock expiry, piracy detection, and print controls. The tree identifies the relevant screens and services, but their implementations were not sampled; the graph therefore maps those capabilities without asserting detailed internal call sequences.
Main entry points: reader_console.dart Reader console · home_screen.dart Home · main.dart Flutter app · packer_console.dart Packer console
Components 21
Document workflow
- Flutter app
lib/main.dart - Home
lib/screens/home_screen.dart - Packer console
lib/screens/packer_console.dart - GDRM model
lib/models/gdrm_model.dart - Reader console
lib/screens/reader_console.dart - App state
lib/state/app_state.dart
Usage safeguards
- Device binding
lib/services/device_key_service.dart - Security service
lib/services/security_service.dart - ChronoLock
lib/screens/chrono_lock_screen.dart - Dynamic watermark
lib/widgets/dynamic_watermark.dart - Piracy detection
lib/services/piracy_service.dart - Piracy alerts
lib/screens/piracy_alerts_screen.dart - Print controls
lib/services/printing_service.dart - Snail trail
lib/screens/snail_trail_screen.dart
Identity and cloud
- Cloud authentication
lib/screens/cloud_auth_screen.dart - Global authentication
lib/screens/global_auth_screen.dart - Firebase services
SDK integration
- SDK engine
packages/gdrm_sdk/lib/src/core/gdrm_engine.dart - Secure viewer
packages/gdrm_sdk/lib/src/widgets/gdrm_secure_viewer.dart - SDK device service
packages/gdrm_sdk/lib/src/services/gdrm_device_service.dart
Other components
- User
Connections 19
- User → Flutter app: uses
- Flutter app → Home: starts UI
- Home → Packer console: opens packing
- Home → Reader console: opens reading
- Packer console → GDRM model: packages document
- Reader console → GDRM model: reads container
- Cloud authentication → Firebase services: checks recipient
- Global authentication → Firebase services: authenticates
- Reader console → Cloud authentication: requires identity
- Reader console → Device binding: binds device
- Reader console → Security service: enforces access
- Reader console → ChronoLock: enforces expiry
- Reader console → Dynamic watermark: shows watermark
- Reader console → Piracy detection: checks misuse
- Piracy detection → Piracy alerts: surfaces alerts
- Reader console → Print controls: controls printing
- Reader console → Snail trail: shows trail
- SDK engine → SDK device service: uses device service
- Secure viewer → SDK engine: uses engine