Skip to content

Feature Request: Programmatic Creation and Management of Vaults via Service Accounts #236

@xfab-hari

Description

@xfab-hari

I’m trying to create and manage multiple vaults programmatically using a 1Password service account.

Use Case

To simplify the scenario:

  • I run a class where each student needs to upload a sensitive file (e.g., a password file).
  • For security and isolation, I want to create one dedicated vault per student.
  • When a student signs up:
    • A new vault is automatically created for that student.
    • Access to that vault is shared only with the corresponding student.
  • The student uploads their sensitive file to their vault.
  • My backend service (using a service account) periodically scans or monitors these provisioned vaults:
    • Detects new uploads
    • Performs downstream processing based on the uploaded data

Goal

I would like to use a 1Password service account to fully automate this workflow, including:

  • Creating vaults programmatically
  • Assigning access permissions to individual users
  • Reading from those vaults via a backend service

This functionality would enable secure, scalable, and automated handling of per-user sensitive data without manual vault management.

Requirements and desired behavior

The SDK should allow a service account to fully automate per-user vault management, including:

  • Programmatic vault creation

    • Create new vaults dynamically via the SDK.
    • Support setting a vault name and description at creation time.
  • Access management

    • Grant vault access to specific users (e.g., a student) programmatically.
    • Support revoking access when a user leaves or no longer needs access.
    • Clearly define and enforce permission scopes (read/write/admin).
  • Service account access

    • Allow the service account to retain read (or read/write) access to all vaults it creates.
    • Ensure the service account can list and access only the vaults it owns or is authorized for.
  • Item monitoring and retrieval

    • List items within a vault.
    • Detect newly created or updated items (e.g., uploaded files).
    • Read item contents programmatically for downstream processing.
  • Scalability and automation

    • Support creating and managing a large number of vaults without manual intervention.
    • Provide predictable, stable APIs suitable for backend automation and scheduled jobs.
  • Security and auditability

    • Respect organization security policies.
    • Ensure all actions performed by the service account are auditable and attributable.
    • Prevent cross-vault access between users unless explicitly granted.

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions