Skip to main content
Wildo.ai Coming soon

Governed documents

Read the privacy facts from the application

Introspection reads resource declarations directly, giving document workflows a concrete account of data categories, erasure treatment and declared rights mechanisms.

Resource declarations about data, erasure and export provide facts for document preparation.

Read the privacy facts from the application

The application already declares how its records are handled. Wildo can read those declarations back instead of asking a document drafter to reconstruct them from a product description.

The result separates framework-owned resources from application-owned resources. It also keeps personal-data handling, session identity and available rights mechanisms distinct, so one answer cannot quietly stand in for another.

Example — Explain what happens to a contact record

A customer contact may carry personal information without having a login. The introspection result can describe its erasure treatment and export declaration while correctly reporting that there is no associated login session to end.

For engineers

Read each resource through the same projection

readCompliancePrimaryResourceFacts receives the loaded resource configuration. Its result comes directly from named declaration fields and the personal-data category resolver, rather than a language-model inference.

export function readCompliancePrimaryResourceFacts(
  resourceType: string,
  origin: CompliancePrimaryFactOrigin,
  configuration: ComplianceRelevantConfiguration,
): CompliancePrimaryResourceFacts {
  const systemAccessPolicy = configuration.systemAccessPolicy;
  const categoryProfile = resolveResourcePersonalDataCategories(configuration.mainSchema);
  return {
    resourceType,
    origin,
    ...(configuration.retentionPolicy?.mode === undefined ? {} : { erasureRetentionMode: configuration.retentionPolicy.mode }),
    ...(configuration.dataSubjectPolicy?.kind === undefined ? {} : { dataSubjectKind: configuration.dataSubjectPolicy.kind }),
    declaresSubjectExport: systemAccessPolicy?.exportSubject !== undefined,
    declaresRetainedSeeThrough: systemAccessPolicy?.seeRetained !== undefined,
    personalDataCategories: categoryProfile.categories,
    uncategorizedPersonalFields: categoryProfile.uncategorizedPersonalFields,
  };
}

Give each output its proper meaning

erasureRetentionMode answers what happens to the row. dataSubjectKind identifies the session-related subject axis. declaresSubjectExport and declaresRetainedSeeThrough report whether the corresponding declaration is present. Both are also true for an explicit FORBIDDEN declaration: they do not mean the operation is allowed. Read the resource’s actual policy before describing availability; neither flag shows that a request has been exercised. Field categories describe the data declared in the schema, including fields still needing classification.

projectCompliancePrimaryFacts aggregates these values with separate engine/application origins. Stable category ordering avoids changing document prose merely because resource iteration order changes. An undeclared resource is distinct from an explicit declaration of no personal data.

Connect the projection to authoring

The companion requests the backend behavior named compliance-primary-facts. A playbook selecting COMPLIANCE_PRIMARY_FACTS receives that result in its brief. In this required context path, a missing backend or unsuccessful result stops fact drafting instead of replacing source facts with guessed prose. The facts playbook consumes mechanism declarations; the later document drafter consumes the resulting declared facts. Reading the loaded application configuration establishes what it declares, not operating effectiveness.

Building a B2B product or an internal tool?

Wildo is not self-service yet. Tell us what you have in mind and we will say plainly whether it fits, and what happens next.