Security & Data Protection Statement

"Automations" Azure DevOps Extension

Version: 1.1   Last Updated: September 10, 2026

Security & Data Protection Statement for the Azure DevOps Extension – "Automations"

Effective Date: September 3, 2026

This Statement explains how the Documentero "Automations" Azure DevOps extension (the "Extension") and its hosted backend manage security, data handling, and user privacy. It complements the Privacy Policy at documentero.com/privacy-policy-ado-automations.

We aim to follow widely adopted good practices (access control, encryption, logging, vulnerability management, peer review) appropriate to our size and risk profile. We do not currently hold external certifications (e.g., SOC 2, ISO 27001) and do not present this document as a formal compliance attestation. The Extension is currently offered in Preview; see Section 9 for current limitations.

1. Introduction

This Statement provides transparency for organisations evaluating the Extension. The Extension enables teams to define automations — a trigger (Azure DevOps work item event or schedule), optional conditions, and a chain of actions — that are executed by our hosted backend inside the customer's Azure DevOps organization.

Scope. Applies only to the Azure DevOps extension "Automations" and the Documentero backend used by it. It does not cover other Documentero products.

High-Level Summary.

  • The Azure DevOps organization must be connected to Microsoft Entra ID; organizations that use Microsoft personal accounts only ("MSA-only organizations") are not supported.
  • Connect provisions the Workflow Automation service principal as an Azure DevOps user and adds it to Project Administrators on projects selected by a Project Collection Administrator. Automations run as this identity, never as the author.
  • Runtime uses short-lived tokens obtained server-side through the Microsoft Entra client credentials flow. Azure DevOps Personal Access Tokens and organization user access or refresh tokens are not persistently stored.
  • Inbound Azure DevOps events are authenticated; the receiving endpoint only validates, de-duplicates, matches, and queues work. Work item changes and emails are performed by a separate execution component.
  • Extension clients can only read their organization's automations and logs; all changes go through authenticated server-side functions with access checks.
  • Loop protection and usage limits reduce the risk of runaway updates.
  • We keep no copy of your work items; persistent data is limited to connection metadata, automation configuration, operational metadata, and compact Execution Logs that expire after about 30 days.

1.1 Definitions

  • Automation: A customer-configured workflow (trigger, optional conditions, actions) stored by the Service and scoped to one Azure DevOps project.
  • Automation Identity: The Workflow Automation service principal provisioned as a user in the customer's Azure DevOps organization; all automation actions execute under this identity.
  • Service Hook: An Azure DevOps outbound webhook subscription created and removed by the Service when automations need events.
  • Execution / Execution Log: One run of an automation (triggered by an event, a schedule, or "Run now") and its compact record (status, timestamps, step summaries, identifiers and fields of affected work items, errors).
  • Subprocessor: A third-party service used to provide infrastructure or limited processing under our control (e.g., Google Cloud, Brevo).

2. Security Approach

The Extension is designed with security in mind and focuses on protecting data during collection, processing, transmission, storage, and deletion, and on limiting what an automation can do inside a customer's Azure DevOps organization.

2.1 Infrastructure and Hosting

The Extension backend runs on Google Cloud Platform (GCP) and uses Firebase services. GCP and Firebase provide managed infrastructure and baseline protections. Key points:

  • Region: Backend compute, database, task queues, and key management are located in the European Union (primary region europe-west1, Belgium). No customer data is processed by our backend outside the EU.
  • Encryption in Transit: All communication between Azure DevOps, the Extension UI, backend services, and subprocessors is encrypted using HTTPS/TLS.
  • Encryption at Rest: All Google Cloud services used encrypt data at rest using Google-managed encryption keys.
  • Credentials: Documentero service credentials are held in protected server-side storage and are not included in the Extension package or exposed to Extension users.
  • Logical Data Isolation: Data is partitioned per Azure DevOps organization; backend access checks enforce that sessions only reach their own organization's records.

2.2 Authentication and Identity

The Service distinguishes between the signed-in user operating the Extension UI and the Automation Identity executing actions.

Path Mechanism
Extension UI (organization and project hubs) A short-lived Azure DevOps extension token identifies the signed-in user and establishes a session scoped to that user, organization, and project. It is not stored as an organization credential or used to execute automations.
Connect and Manage projects A Project Collection Administrator authorizes Documentero's multi-tenant Microsoft Entra application in the directory connected to the Azure DevOps organization. The temporary administrator authorization provisions or updates the Automation Identity and its selected-project access, then is discarded.
Automation execution The backend obtains short-lived tokens through the Microsoft Entra client credentials flow as needed. These runtime tokens are not persistently stored.
Inbound Service Hooks Each subscription is created with authentication credentials for our receiving endpoint; unauthenticated or incorrectly authenticated requests are rejected.

No Azure DevOps passwords, Personal Access Tokens, or persistent organization user access or refresh tokens are collected or stored.

2.3 Access Control

  • Organization level: Only Project Collection Administrators can use Connect, Manage projects, Verify, or Disconnect, or set the organization contact email.
  • Automation Identity: Connect adds the service-principal user with Stakeholder access and Project Administrators membership on selected projects. It is not made a Project Collection Administrator. Removing a project through Manage projects pauses executions there and removes the related project access.
  • Project-level UI access: Project Administrators may manage Automations by default and may allow additional Azure DevOps groups. Project members may view Automations and Execution Logs unless that access is restricted.
  • Fail closed: If access evaluation fails, the backend denies access rather than granting it.
  • Execution ceiling: An automation can never do more in Azure DevOps than the Automation Identity is permitted to do in a selected project.
  • Project isolation: Automations belong to a single team project. Query results from other projects are dropped, and parent/child operations that would cross project boundaries fail rather than proceed.
  • Client is read-only: Every write (create, update, enable, delete, connect, settings) is performed by authenticated server-side functions that re-check permissions.
  • Documentero personnel: Access to production systems is limited to authorised team members and enforced using role-based controls.

2.4 Event Handling and Execution Safety

  • Thin receiver: The public endpoint that receives Azure DevOps events only authenticates the request, de-duplicates it, matches enabled automations, and queues work. It does not modify work items or send email.
  • Queued execution: Actions are executed by a separate component with per-step idempotency and retries with backoff. Runs fail permanently (and are logged) when the Automation Identity is not ready, the project is not selected, or the organization or automation has been disabled.
  • Loop protection: The Service records which automation caused a work item revision, limits cascade depth between automations, skips self-triggering and cyclic patterns, and conservatively skips events changed by the Automation Identity without a known cause.
  • Usage limits: Default limits include 50 automations per organization, 500 executions per organization per UTC day, 250 executions per project per UTC day, 200 work items loaded per search or query, and 50 work items modified per run. Over-limit events are skipped and acknowledged to Azure DevOps so that Service Hook subscriptions are not disabled by Microsoft.
  • Organization disable: Documentero can stop new executions for an organization during an incident or in case of abuse.
  • Service Hook hygiene: Subscriptions are created and removed automatically as automations are enabled or disabled, and their configuration is reconciled periodically.

2.5 Information Security Management Practices

Logging and Monitoring

  • Backend systems record logs for key events (authentication, errors, and unusual behavior) to support troubleshooting and security analysis.
  • Logs are accessible only to authorised team members and used for operational monitoring and incident investigation.
  • Indicative retention: operational logs ≈30 days; security/authentication events ≈90 days (subject to adjustment). Older logs are purged automatically.
  • We avoid logging work item bodies, comment text, or email content; diagnostic metadata is minimized.

Code Reviews

  • Code review is part of the development process, with scope based on the type and risk of the change.

Dependency and Vulnerability Management

  • Periodic reviews of third-party dependencies; urgent issues addressed on a risk basis.
  • Security reports and vulnerability information are received via support@documentero.com, investigated, validated, and prioritized based on severity; fixes are deployed as appropriate.

User Notification of Security Issues

  • Where notification is required by applicable law or agreement, Documentero may use the organization contact email or another appropriate channel and provide the information reasonably available at that time.

3. Data Handling and Processing

The Extension processes a minimal set of data necessary for functionality. Persistent storage is limited to connection metadata, customer-authored automation configuration, operational metadata, and compact execution records. We do not store copies of your work items; changes made by automations are written directly to your Azure DevOps organization.

  • Connection metadata includes the Microsoft Entra tenant identifier, Automation Identity summary, selected projects, and connection status. It is cleared by Disconnect.
  • Automation definitions and settings are retained until deleted by the customer.
  • Execution Logs contain compact run and step summaries and expire after approximately 30 days.
  • Event data is processed to match and run Automations; short-lived duplicate-detection and loop-protection markers are retained for up to 7 days.
  • Email content and recipients are sent to the email provider only when the customer configures an email action; Documentero does not keep a sent-email archive.

See the Privacy Policy for the full data inventory and retention periods.

4. Data Protection and Privacy

4.1 Privacy Principles

  • Data minimization — only the data needed to match and run automations is processed; work items are not mirrored.
  • Purpose limitation — data is used only to run customer-configured automations and to operate, secure, and support the Service.
  • User control — automations can be disabled or deleted by authorized members; an Organization Administrator can manage selected projects or Disconnect the Automation Identity.

4.2 Third-Party Sharing & Subprocessors

Data is not sold or shared with external parties for their own purposes. The current subprocessors used for infrastructure and email delivery are:

Subprocessor Role Data Types Involved Notes
Google Cloud Platform (incl. Firebase) Hosting, database, serverless compute, task queues, secret and key management, logging Connection and operational metadata, automation definitions, and execution logs EU region; encryption in transit and at rest
Brevo Outbound email delivery ("Send customized email" action) Recipient addresses, subject, message body as configured by the customer Used only when an automation includes an email action

Microsoft (Azure DevOps, Microsoft Entra ID) is the customer's own platform and identity provider. The Service calls Microsoft APIs on the customer's behalf; Microsoft processes that data under the customer's agreement with Microsoft rather than as our subprocessor.

This list may be updated as the Service changes. The Privacy Policy contains the current privacy-related subprocessor information.

5. Shared Responsibility

Automations act inside the customer's Azure DevOps organization with the permissions the customer grants. Security of the overall solution therefore depends on both Documentero and the customer. Customers are responsible for:

  • Entra eligibility: Ensure the Azure DevOps organization is connected to Microsoft Entra ID and Connect uses that same directory.
  • Project selection: Select only projects where the Automation Identity should receive Project Administrators membership. The identity consumes an Azure DevOps Stakeholder seat while it remains under Users.
  • Controlling who can author automations: Review the project access settings. Project Administrators manage by default and may allow additional groups. Anything the Automation Identity can do in a selected project can be caused by an authorized author.
  • Reviewing and testing automations: Verify triggers, conditions, target scope, and email recipients before enabling; prefer a non-production project for evaluation. The Service cannot roll back changes; use Azure DevOps work item history.
  • Email recipients and content: Ensure a lawful basis exists for each recipient and avoid including sensitive data in email templates.
  • Monitoring and lifecycle: Check Execution Logs for failed or skipped runs, review selected-project access, and disable or delete Automations that are no longer needed.

Disconnect clears Documentero's connection state and removes Service Hooks created by Documentero. To complete offboarding, delete the Automation Identity under Azure DevOps Users to release its seat and, if desired, disable or remove the Enterprise application in Microsoft Entra. Disconnect does not perform those removal steps. Once disconnected, a remaining user does not continue to execute Automations, but it may prevent a later Connect from completing.

6. Incident Response

On detection of a security or privacy issue, our internal process aims (without guaranteeing specific timelines) to follow these phases:

  • Detection & Triage: Identify indicators; initial assessment.
  • Containment: Limit scope and prevent further impact (including, where needed, pausing executions for affected organizations).
  • Eradication & Remediation: Fix root cause; deploy patches or configuration changes; rotate affected service credentials where relevant.
  • Recovery: Validate service integrity and monitor for recurrence.
  • Notification: Notify affected organizations where required by applicable law or agreement, based on the information reasonably available.
  • Post‑Incident Review: Document lessons learned and track follow‑up improvements.

7. Contact and Data Protection Requests

For security, privacy, or data protection questions and requests (access, deletion, portability, etc.), please contact:

Email: support@documentero.com

8. Responsible Disclosure

We welcome good-faith security reports. Please avoid tests that degrade availability, trigger automations in organizations you do not control, or access other customers' data. Report potential vulnerabilities to support@documentero.com. Do not include sensitive data in reports. We review submissions, assess severity, and, where appropriate, implement fixes. While we cannot offer formal bug bounty payments at this time, we appreciate the community's efforts to improve security.

9. Preview Status and Current Limitations

  • The Extension is in Preview. Features, limits, and behavior may change, and no availability or support service level commitment applies.
  • We do not hold SOC 2, ISO 27001, or similar certifications and do not publish penetration test reports.
  • There is currently no customer-selectable processing region; the backend is hosted in the EU only.
  • No payment or card data is processed (the Extension is currently free of charge).
  • Delivery of every Azure DevOps event is not guaranteed: Microsoft's Service Hook delivery, duplicate detection, loop protection, and usage limits may cause runs to be skipped or delayed.

10. Updates & Change Tracking

Documentero may update this Statement as the Service changes, including when the Extension leaves Preview. Changes take effect when posted or on any later date stated in the updated Statement. The version and Last Updated date identify the current published version. For privacy rights and broader data handling details, consult the Privacy Policy at documentero.com/privacy-policy-ado-automations.