How nextcloud/passman works
Passman is a Nextcloud password manager. Users unlock and manage vaults in the browser; credentials are encrypted client-side before API persistence, and can be searched, revised, shared, or imported and exported. The README also documents OTP generation, password analysis, multiple vaults, and internal or link sharing. The graph includes those product branches, but sampled excerpts do not establish all frontend-to-service wiring, so uncertain call paths are omitted; unsampled subsystems use their enclosing source directories.
Main entry points: app.js Passman UI · routes.php API routes · ShareController.php Sharing API · vault.js Vault workflow
Components 25
Browser app
- Passman UI
js/app/app.js - Vault workflow
js/app/controllers/vault.js - Credential editing
js/app/controllers/main.js - Import workflow
js/app/controllers/import.js - Export workflow
js/app/controllers/export.js
Nextcloud API
- API routes
appinfo/routes.php - Vault API
lib/Controller/VaultController.php - Sharing API
lib/Controller/ShareController.php - Other API handlers
lib/Controller
Credential security
- Client encryption
js/app/services/encryptservice.js - Server encryption
lib/Service/EncryptService.php
Persistence and services
- Vault service
lib/Service/VaultService.php - Sharing service
lib/Service/ShareService.php - File service
lib/Service/FileService.php - Vault records
lib/Db/VaultMapper.php - Sharing records
lib/Db/SharingACLMapper.php
Product capabilities
- Credential operations
lib/Service - Share settings
js/app/controllers/share.js - Format importers
js/importers/import-main.js - CSV and JSON export
js/exporters/exporter-main.js - OTP generator
js/lib/otpauth.umd.js - Password analysis
js/app - Credential search
lib/Search/Provider.php
Other components
- User
- Nextcloud
Connections 27
- User → Passman UI: uses
- Passman UI → Vault workflow: routes to
- Passman UI → Credential editing: routes to
- Passman UI → Import workflow: routes to
- Passman UI → Export workflow: routes to
- Passman UI → API routes: sends API requests
- API routes → Vault API: dispatches vault routes
- API routes → Sharing API: dispatches share routes
- API routes → Other API handlers: dispatches other routes
- Vault workflow → Client encryption: encrypts credentials
- Credential editing → Client encryption: encrypts credentials
- Import workflow → Format importers: selects importer
- Export workflow → CSV and JSON export: selects exporter
- Vault API → Vault service: manages vaults
- Vault service → Vault records: reads and writes
- Sharing API → Sharing service: manages sharing
- Sharing API → File service: manages shared files
- Sharing service → Sharing records: reads and writes
- Sharing API → Credential operations: uses credentials
- Share settings → API routes: sends sharing requests
- Vault workflow → API routes: sends vault requests
- Credential editing → API routes: sends credential requests
- Credential operations → Server encryption: encrypts stored data
- Passman UI → OTP generator: generates OTP
- Passman UI → Password analysis: provides password tools
- Nextcloud → API routes: hosts API
- Nextcloud → Credential search: registers provider