---
title: Configuration
description: Every configurable knob in 1Security and its default value.
icon: Settings
---

This page lists every setting exposed by 1Security, organised by area. Settings marked **(env)** can only be changed via environment variables; everything else is settable from the dashboard.

## Tenant settings

<TypeTable
  type={{
    'scan.frequency': {
      description: 'How often delta scans run, in seconds',
      type: 'number',
      default: '300',
    },
    'scan.maxConcurrentSites': {
      description: 'Maximum number of SharePoint sites scanned in parallel',
      type: 'number',
      default: '10',
    },
    'scan.skipMailboxes': {
      description: 'Skip mailbox content scanning (faster but less coverage)',
      type: 'boolean',
      default: 'false',
    },
    'scan.maxFileSize': {
      description: 'Skip files larger than this (in bytes) during sensitivity scan',
      type: 'number',
      default: '52428800',
    },
  }}
/>

## Sensitivity scanner

<TypeTable
  type={{
    'sensitivity.enabledPatterns': {
      description: 'Pattern IDs to enable. Use ["*"] for all 200+ built-in patterns.',
      type: 'string[]',
      default: '["*"]',
    },
    'sensitivity.useLLM': {
      description: 'Use LLM-based classification in addition to regex patterns',
      type: 'boolean',
      default: 'false',
    },
    'sensitivity.useOCR': {
      description: 'Run OCR on images during sensitivity scan',
      type: 'boolean',
      default: 'true',
    },
    'sensitivity.languages': {
      description: 'Languages to detect (ISO 639-1 codes)',
      type: 'string[]',
      default: '["en"]',
    },
  }}
/>

## Notifications

<TypeTable
  type={{
    'notifications.criticalDestinations': {
      description: 'Channels to notify for critical findings',
      type: "('email' | 'slack' | 'webhook' | 'pagerduty')[]",
      default: '["email"]',
    },
    'notifications.digestFrequency': {
      description: 'How often to send the activity digest',
      type: "'never' | 'daily' | 'weekly' | 'monthly'",
      default: '"weekly"',
    },
    'notifications.webhookUrl': {
      description: 'Generic webhook destination (POST with JSON payload)',
      type: 'string | null',
      default: 'null',
    },
  }}
/>

## Environment variables (server)

These are set during deployment and require a restart to change.

<Tabs items={['Development', 'Production']}>
  <Tab value="Development">
    ```bash title=".env.local"
    DATABASE_URL=postgres://localhost:5432/1security
    GRAPHQL_URL=http://localhost:4001/graphql
    OPENAI_API_KEY=sk-...
    NEXT_PUBLIC_TIMEZONE=Europe/Warsaw
    ```
  </Tab>
  <Tab value="Production">
    ```bash title=".env.production"
    DATABASE_URL=postgres://prod-pool:5432/1security
    GRAPHQL_URL=https://api.1security.ai/graphql
    SENTRY_DSN=https://...@sentry.io/...
    NODE_OPTIONS=--max-old-space-size=8192
    ```
  </Tab>
</Tabs>

## Feature flags

<Callout type="warn">
  Feature flags are subject to change without notice. Don't depend on them for production behaviour unless explicitly documented.
</Callout>

<Accordions>
  <Accordion title="ai-policy-recommendations">
    Surface AI-suggested policy changes in the dashboard. Default: **on** for Pro+ tiers.
  </Accordion>
  <Accordion title="parallel-sensitivity-scan">
    Run sensitivity classification on multiple files in parallel. Default: **on**. Disable if you hit Microsoft Graph rate limits.
  </Accordion>
  <Accordion title="experimental-graph-cache">
    Cache permission graph computations between scans. Default: **off**. Significant performance boost for large tenants but increases memory usage.
  </Accordion>
</Accordions>
