{
  "@context": {
    "@version": 1.1,
    "id": "@id",
    "type": "@type",

    "infisical": "https://infisical.com/vocab#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "owl": "http://www.w3.org/2002/07/owl#",

    "Secret": {
      "@id": "infisical:Secret",
      "@type": "@id",
      "comment": "A named key-value pair stored encrypted at rest within a project environment."
    },
    "secretKey": {
      "@id": "infisical:secretKey",
      "@type": "xsd:string"
    },
    "secretValue": {
      "@id": "infisical:secretValue",
      "@type": "xsd:string"
    },
    "secretComment": {
      "@id": "infisical:secretComment",
      "@type": "xsd:string"
    },
    "secretType": {
      "@id": "infisical:secretType",
      "@type": "xsd:string",
      "comment": "shared | personal"
    },
    "secretPath": {
      "@id": "infisical:secretPath",
      "@type": "xsd:string"
    },
    "version": {
      "@id": "infisical:version",
      "@type": "xsd:integer"
    },

    "Environment": {
      "@id": "infisical:Environment",
      "@type": "@id",
      "comment": "A named deployment tier (dev, staging, prod) scoped to a project."
    },
    "slug": {
      "@id": "infisical:slug",
      "@type": "xsd:string"
    },

    "Project": {
      "@id": "infisical:Project",
      "@type": "@id",
      "comment": "Organisational unit grouping environments, members, and secrets."
    },
    "workspaceId": {
      "@id": "infisical:workspaceId",
      "@type": "xsd:string"
    },

    "Organization": {
      "@id": "infisical:Organization",
      "@type": "@id",
      "comment": "Top-level tenant account containing projects and members."
    },
    "orgId": {
      "@id": "infisical:orgId",
      "@type": "xsd:string"
    },

    "Folder": {
      "@id": "infisical:Folder",
      "@type": "@id",
      "comment": "Hierarchical path segment for organising secrets within an environment."
    },

    "MachineIdentity": {
      "@id": "infisical:MachineIdentity",
      "@type": "@id",
      "comment": "A non-human principal that authenticates programmatically."
    },
    "identityId": {
      "@id": "infisical:identityId",
      "@type": "xsd:string"
    },

    "AccessToken": {
      "@id": "infisical:AccessToken",
      "@type": "@id",
      "comment": "Short-lived Bearer JWT issued after successful machine-identity authentication."
    },
    "accessToken": {
      "@id": "infisical:accessToken",
      "@type": "xsd:string"
    },
    "accessTokenTTL": {
      "@id": "infisical:accessTokenTTL",
      "@type": "xsd:integer"
    },
    "expiresIn": {
      "@id": "infisical:expiresIn",
      "@type": "xsd:integer"
    },

    "UniversalAuth": {
      "@id": "infisical:UniversalAuth",
      "@type": "@id",
      "comment": "Client-credentials auth method for machine identities."
    },
    "clientId": {
      "@id": "infisical:clientId",
      "@type": "xsd:string"
    },
    "clientSecret": {
      "@id": "infisical:clientSecret",
      "@type": "xsd:string"
    },

    "DynamicSecret": {
      "@id": "infisical:DynamicSecret",
      "@type": "@id",
      "comment": "Ephemeral credential generated on-demand and auto-expired after a TTL."
    },
    "defaultTTL": {
      "@id": "infisical:defaultTTL",
      "@type": "xsd:string"
    },
    "maxTTL": {
      "@id": "infisical:maxTTL",
      "@type": "xsd:string"
    },

    "SecretRotation": {
      "@id": "infisical:SecretRotation",
      "@type": "@id",
      "comment": "Automated policy that rotates a secret value on a schedule."
    },
    "rotationInterval": {
      "@id": "infisical:rotationInterval",
      "@type": "xsd:integer"
    },

    "SecretSync": {
      "@id": "infisical:SecretSync",
      "@type": "@id",
      "comment": "Managed push of secrets to an external destination."
    },
    "destination": {
      "@id": "infisical:destination",
      "@type": "xsd:string"
    },

    "KmsKey": {
      "@id": "infisical:KmsKey",
      "@type": "@id",
      "comment": "Symmetric or asymmetric key managed inside the Infisical KMS."
    },
    "keyId": {
      "@id": "infisical:keyId",
      "@type": "xsd:string"
    },
    "encryptionAlgorithm": {
      "@id": "infisical:encryptionAlgorithm",
      "@type": "xsd:string"
    },

    "CertificateAuthority": {
      "@id": "infisical:CertificateAuthority",
      "@type": "@id",
      "comment": "Internal CA root or intermediate for X.509 or SSH certificate signing."
    },
    "caId": {
      "@id": "infisical:caId",
      "@type": "xsd:string"
    },
    "dn": {
      "@id": "infisical:dn",
      "@type": "xsd:string"
    },

    "Certificate": {
      "@id": "infisical:Certificate",
      "@type": "@id",
      "comment": "An X.509 leaf certificate issued by an Infisical CA."
    },
    "serialNumber": {
      "@id": "infisical:serialNumber",
      "@type": "xsd:string"
    },
    "commonName": {
      "@id": "infisical:commonName",
      "@type": "xsd:string"
    },
    "notBefore": {
      "@id": "infisical:notBefore",
      "@type": "xsd:dateTime"
    },
    "notAfter": {
      "@id": "infisical:notAfter",
      "@type": "xsd:dateTime"
    },

    "SshCertificateAuthority": {
      "@id": "infisical:SshCertificateAuthority",
      "@type": "@id",
      "comment": "SSH CA for signing user and host SSH certificates."
    },

    "SshCertificate": {
      "@id": "infisical:SshCertificate",
      "@type": "@id",
      "comment": "An SSH user or host certificate signed by an Infisical SSH CA."
    },

    "AuditLog": {
      "@id": "infisical:AuditLog",
      "@type": "@id",
      "comment": "Immutable record of an actor event within a project or organisation."
    },
    "actor": {
      "@id": "infisical:actor",
      "@type": "xsd:string"
    },
    "event": {
      "@id": "infisical:event",
      "@type": "xsd:string"
    },

    "AppConnection": {
      "@id": "infisical:AppConnection",
      "@type": "@id",
      "comment": "Stored credential bundle for connecting Infisical to a third-party service."
    },

    "name": {
      "@id": "schema:name",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "schema:description",
      "@type": "xsd:string"
    },
    "createdAt": {
      "@id": "dcterms:created",
      "@type": "xsd:dateTime"
    },
    "updatedAt": {
      "@id": "dcterms:modified",
      "@type": "xsd:dateTime"
    }
  }
}
