01
Answer in layers
A catalog is not evidence of accessible fields
DewEngine's target model names chats, messages, profiles, companies, relations, invitations, posts, search, and jobs. It also names possible actions and a small target event vocabulary. Those entries define architectural scope; they do not prove a LinkedIn API, connector, account entitlement, or field list. The full account path remains decision-gated pending legal review and provider or product authorization.
- Read target resources as planning boundaries only
- Publish field availability only from current conformance evidence
02
Access context
Data visibility can depend on product and account
A professional account, a Recruiter subscription, and a Sales Navigator subscription should not be treated as interchangeable. Search context, relationship state, messages, job data, and list membership can require different entitlement decisions. A capability response should identify the exact connected product and approved resource operations. Logo-level support would encourage customers to build workflows that fail or overreach.
- Negotiate capabilities after authorization and on reconnect
- Invalidate cached support when entitlement changes
03
Field semantics
Model observations, absence, and derivation separately
A visible name, role, company label, or post is an observation at a time. An email guess, seniority score, or account match is a derivation and must never masquerade as provider-returned data. Missing values may be unrequested, outside entitlement, redacted, unavailable, or truly absent. Keep those states distinct so downstream products do not overwrite verified customer data with an empty field.
- Attach source and observed-at time to each imported value
- Label all transformations and confidence outside the provider fact set
04
Data minimization
Select fields from purpose, not curiosity
A CRM identity-linking workflow may need an opaque profile ID, display name, company context, and user confirmation. It probably does not need posts, full message history, job applications, or relation graphs. Recruiting and sales contexts carry different retention and access obligations. Smaller scopes reduce breach impact, improve deletion, and make provider and legal review more concrete.
- Map every requested field to one visible product feature
- Reject secondary use until it has its own purpose review
05
Customer contract
Return partial records without inventing completeness
Use optional fields, typed provider extensions, coverage metadata, and stable unsupported errors. Do not call a response a full profile unless a contract defines and proves that term. Paginated results need durable cursors scoped to the workspace and account. When a read fails halfway, preserve completed observations and mark the run partial instead of returning an authoritative empty collection.
- Expose resource and field support through capability discovery
- Keep stale-but-known data visible with a freshness warning
06
Evidence
Build a field-level conformance matrix
An approved connector would document each product variant, resource, field, method, event, required entitlement, privacy purpose, retention rule, failure class, and real-account fixture. Tests must cover redaction, missing permissions, throttling, account restriction, pagination, deletion, and schema change. Without that matrix and the upstream decision gate, no public page should say that DewEngine can pull LinkedIn data.
- Expire field claims when fixtures or contracts become stale
- Include a non-LinkedIn path for critical customer records