Skip to content

AIQu VEIL

Your analysts run ML on protected data. Your admins see raw values. You configure which columns to protect and which roles bypass. No data leaves your account.

Admin Analyst Raw Features Column Policy Raw values Encoder Latent Vector
  1. Train an encoder on your feature columns
  2. The encoder learns a compressed, non-invertible representation
  3. A column policy intercepts queries and replaces raw features with encoded vectors
  4. Admins bypass the policy and see raw data
  5. Everyone else sees latent vectors suitable for ML but not reversible to raw values

Encoders are deterministic autoencoders trained on your data inside your environment. Training and inference happen in-account. No data leaves.

PlatformEnforcementCompute
SnowflakeMasking policiesSPCS containers
DatabricksColumn masks (Unity Catalog)Serverless / cluster UDF
AWSColumn-level access controlSageMaker endpoint

Non-invertible. The encoder discards the decoder after training. You cannot reconstruct exact input from the latent vector.

Non-invertible is not non-informative. If the latent vector is useful for ML, it contains task-relevant information. When sensitive attributes correlate with the task, partial information leaks. Defense in depth (role management, monitoring, access controls) is essential.

Deterministic. The same input always produces the same output. This preserves joins, aggregations, and downstream pipeline reproducibility.

Schema protection. Feature views hide column names behind a single features array. Queries reference features, not individual columns.

RoleAccess
app_userQuery views, call encode function
app_adminAll procedures: train, protect, start/stop, schedule, delete

app_admin inherits app_user.