CertSafari

    Free Snowflake SnowPro Specialty: Native Apps Sample Questions

    35 free sample questions from our bank of 360+, covering every exam domain, with answers and detailed explanations. Updated August 2026.

    Domain 1: Design Snowflake Native Applications

    Subdomain 1.1: Given a set of requirements, design Native App Architecture.

    1.A team is deciding whether their new offering truly requires the Snowflake Native App Framework rather than a simpler sharing mechanism. Which scenario most strongly justifies implementing a full Native App?

    1. A.The offering only needs to expose a handful of read-only reporting tables to two partner accounts
    2. B.The offering needs to run provider-authored stored procedures against consumer data inside the consumer's own account while protecting the provider's source code
    3. C.The offering is an internal dataset shared only between two schemas in the same account
    4. D.The offering requires no computation, UI, or business logic beyond raw table access
    Show answer & explanation

    Correct answer: BThe offering needs to run provider-authored stored procedures against consumer data inside the consumer's own account while protecting the provider's source code

    • A. Incorrect: simple read-only table exposure to a small number of partners is a textbook Secure Data Sharing scenario and does not justify the overhead of a full app.
    • B. Correct: running provider logic against consumer data inside the consumer's account while keeping the source code protected is precisely the use case the Native App Framework is designed to solve, since a share cannot execute provider procedures against consumer-side data with IP protection.
    • C. Incorrect: sharing within the same account between schemas does not require any cross-account distribution mechanism at all.
    • D. Incorrect: an offering with no logic or UI needs is better served by simple data sharing rather than the added complexity of an application framework.

    Subdomain 1.1: Given a set of requirements, design Native App Architecture.

    2.A provider needs their Native App to run GPU-accelerated model inference using custom container images, in addition to standard SQL objects. Which architectural option should they select within the Native App Framework?

    1. A.A SQL/Snowpark-only application with no container support
    2. B.Declarative Sharing, since it supports notebooks which can run models
    3. C.A Native App built using Snowpark Container Services alongside SQL objects
    4. D.Secure Data Sharing with an external function pointing to a separate compute cluster
    Show answer & explanation

    Correct answer: CA Native App built using Snowpark Container Services alongside SQL objects

    • A. Incorrect: a SQL/Snowpark-only app has no mechanism for running custom container images or GPU-accelerated workloads.
    • B. Incorrect: declarative sharing supports notebooks and simple code objects but is not designed for custom containerized, GPU-backed inference services.
    • C. Correct: Snowpark Container Services within the Native App Framework is specifically designed to run custom container images, including GPU-backed compute pools, alongside the app's SQL-based objects.
    • D. Incorrect: Secure Data Sharing has no application logic or container execution capability, and external functions to outside compute fall outside its scope.

    Subdomain 1.1: Given a set of requirements, design Native App Architecture.

    3.A provider currently distributes data via Secure Data Sharing but consumers are now requesting the ability to run provider-supplied transformation logic against the shared data without moving it to another platform. Which factor most directly signals that migrating to the Native App Framework is warranted?

    1. A.The consumer count has grown beyond a certain number of accounts
    2. B.The requirement now includes packaged, executable logic rather than pure data access
    3. C.The provider wants to change the marketing name of the product
    4. D.The data volume has increased significantly
    Show answer & explanation

    Correct answer: BThe requirement now includes packaged, executable logic rather than pure data access

    • A. Incorrect: growth in consumer count alone does not require moving to the Native App Framework, since Secure Data Sharing scales to many consumers on its own.
    • B. Correct: the moment a requirement shifts from pure data access to needing packaged, executable provider logic running against the data, that is the defining signal to move to the Native App Framework, since shares cannot bundle executable logic.
    • C. Incorrect: a marketing name change is a business decision unrelated to the technical architecture needed for distribution.
    • D. Incorrect: increased data volume is a scaling concern that Secure Data Sharing can generally still handle; it does not by itself require application logic packaging.

    Subdomain 1.2: Given a scenario, design security and privilege strategies.

    4.A provider needs the app to operate on a consumer table whose name and schema are unknown until install time. Which design best follows least privilege while accommodating this?

    1. A.Request the object as a reference so the consumer selects and grants access to the specific table at install time
    2. B.Hardcode a fixed table name in the setup script and require every consumer to rename their table to match
    3. C.Request OWNERSHIP on the consumer's entire schema so any table can be found automatically
    4. D.Require the consumer to copy their data into a table owned by the provider before installing
    Show answer & explanation

    Correct answer: ARequest the object as a reference so the consumer selects and grants access to the specific table at install time

    • A. References are designed precisely for this scenario: the exact object is unknown until install time, and the consumer scopes access to only the specific table they choose, keeping the request minimal.
    • B. Hardcoding a fixed table name and forcing consumers to rename their tables is impractical and does not solve the underlying need to discover an object dynamically with minimal privilege.
    • C. Requesting OWNERSHIP on an entire schema to search for the right table grants far broader access than the app needs and abandons least privilege for convenience.
    • D. Requiring the consumer to copy their data into a provider-owned table moves data out of the consumer's isolation boundary unnecessarily, which is not a least-privilege or isolation-friendly design.

    Subdomain 1.2: Given a scenario, design security and privilege strategies.

    5.Which statements correctly distinguish INTERNAL and EXTERNAL distribution for application packages during security-focused development? (Select all that apply.)(Select 3)

    1. A.INTERNAL distribution is recommended for iterative development before release
    2. B.EXTERNAL distribution triggers a security scan before the package can be listed for consumers
    3. C.Maintaining separate INTERNAL and EXTERNAL packages is a recommended practice
    4. D.EXTERNAL distribution disables all manifest privilege requirements
    5. E.INTERNAL distribution is required for every consumer installation regardless of Marketplace use
    6. F.Security scanning only applies to INTERNAL distribution packages
    Show answer & explanation

    Correct answers: A, B, CINTERNAL distribution is recommended for iterative development before release; EXTERNAL distribution triggers a security scan before the package can be listed for consumers; Maintaining separate INTERNAL and EXTERNAL packages is a recommended practice

    • A. INTERNAL distribution is the recommended mode for iterative development, letting the provider test changes without going through consumer-facing review each time.
    • B. EXTERNAL distribution is the path that triggers the security scanning consumers rely on before an app is made available for installation from a listing.
    • C. Keeping a development package on INTERNAL distribution and a production package on EXTERNAL distribution is the recommended practice for separating iteration from consumer release.
    • D. EXTERNAL distribution does not disable manifest privilege requirements; those requirements still apply and are in fact part of what gets reviewed during the scan.
    • E. INTERNAL distribution is for development use, not a requirement for every consumer installation; Marketplace and direct consumer installs use EXTERNAL distribution.
    • F. Security scanning is associated with EXTERNAL distribution for consumer release, not INTERNAL distribution, so this statement reverses the actual relationship.

    Subdomain 1.2: Given a scenario, design security and privilege strategies.

    6.To create an external access integration referencing a network rule, what privileges must the executing role hold?

    1. A.CREATE INTEGRATION on the account and CREATE NETWORK RULE on the schema that will hold the rule
    2. B.Only USAGE on the target database, nothing else
    3. C.OWNERSHIP on every table the app will ever query
    4. D.SELECT on the consumer's information schema only
    Show answer & explanation

    Correct answer: ACREATE INTEGRATION on the account and CREATE NETWORK RULE on the schema that will hold the rule

    • A. Creating an external access integration requires the account-level CREATE INTEGRATION privilege along with CREATE NETWORK RULE on the schema where the rule will be defined, which together authorize both objects involved.
    • B. USAGE on a database alone does not grant the ability to create integration or network rule objects, so it is not sufficient for this task.
    • C. OWNERSHIP on queried tables is unrelated to the privileges required to create an integration or network rule, which govern network access objects rather than table data.
    • D. SELECT on an information schema is a read privilege for metadata and does not grant the ability to create integration or network rule objects.

    Domain 2: Build Snowflake Native Applications

    Subdomain 2.1: Given a use case, build Native App Framework components.

    7.A provider is building a Snowpark Container Services based Native App and has already built and pushed the container image. In the setup script, what must be created to actually start the container and make it reachable within the consumer account?

    1. A.A service, created with CREATE SERVICE referencing a service specification and a compute pool, so the container starts running and can be reached through its endpoints
    2. B.A materialized view over the image repository so the container starts automatically whenever queried
    3. C.A stored procedure that calls the container image directly through a JDBC connection string
    4. D.A stage that mounts the image repository so consumers can browse the container's file system
    Show answer & explanation

    Correct answer: AA service, created with CREATE SERVICE referencing a service specification and a compute pool, so the container starts running and can be reached through its endpoints

    • A. CREATE SERVICE, run in the setup script, references a service specification file (with image and endpoint definitions) plus a compute pool, and this is what actually launches the container and exposes its endpoints.
    • B. Materialized views operate over table data and have no mechanism for starting containers; they are unrelated to service execution.
    • C. Stored procedures cannot start a container via a JDBC connection string; container execution is managed through CREATE SERVICE and the compute pool, not procedural JDBC calls.
    • D. A stage is used for file storage and staging data, not for mounting or browsing a running container's file system, and it does not start the service.

    Subdomain 2.1: Given a use case, build Native App Framework components.

    8.In a container-based Native App architecture, what role does the image repository play?

    1. A.It is the Snowflake-managed storage location where the provider's container images are pushed so the service definition can reference them when the service starts
    2. B.It is a consumer-facing catalog listing every app the consumer has installed from Marketplace
    3. C.It is a temporary cache that stores query results from the application's stored procedures
    4. D.It is the versioned schema subschema where UDFs and stored procedures for the current release live
    Show answer & explanation

    Correct answer: AIt is the Snowflake-managed storage location where the provider's container images are pushed so the service definition can reference them when the service starts

    • A. The image repository is a Snowflake object that stores the container images a provider builds and pushes, and the service specification points to images there when a service is created.
    • B. A catalog of installed apps is a Marketplace or account-level consumer concept, not something the image repository provides; the repository only stores container images.
    • C. Query result caching is unrelated to the image repository, which exclusively holds container images rather than query output.
    • D. Versioned schemas hold SQL-defined objects like procedures and UDFs; they are a separate concept from the image repository, which is specific to container image storage.

    Subdomain 2.1: Given a use case, build Native App Framework components.

    9.A provider wants to include a proprietary pricing table in their Native App so the app's logic can use it, but they do not want consumers to be able to query the raw table directly. What is the recommended approach?

    1. A.Add the table to the application package as private content, then create a secure view over it in the setup script and grant consumer-facing access only to the view
    2. B.Grant SELECT on the raw table directly to the consumer's application role so the setup script has one fewer object to manage
    3. C.Export the table contents into the manifest.yml file so it ships as static configuration rather than a database object
    4. D.Store the pricing data only inside the readme file so consumers can read it but never query it programmatically
    Show answer & explanation

    Correct answer: AAdd the table to the application package as private content, then create a secure view over it in the setup script and grant consumer-facing access only to the view

    • A. Objects added to an application package are private by default; creating a secure view in the setup script and granting access only to the view is the standard way to expose derived data while shielding the underlying table's raw contents and logic.
    • B. Granting SELECT directly on the raw table would let consumers query it in full, defeating the goal of protecting the proprietary pricing data from direct visibility.
    • C. manifest.yml is a YAML metadata file for declaring artifacts and configuration, not a mechanism for shipping table data; it cannot hold a queryable dataset.
    • D. A readme file is documentation text, not a queryable object, so this would prevent the application's own logic from using the data at all, which fails the stated use case.

    Subdomain 2.3: Implement development workflows.

    10.A provider is writing the setup script portion of a Native App that must expose a curated dataset to consumers through an application role. Which of the following practices correctly implement permissions with SQL for this scenario?(Select 3)

    1. A.Use CREATE APPLICATION ROLE to define a role that consumers can be granted access through
    2. B.Use GRANT SELECT ON a secure view TO APPLICATION ROLE to expose only curated columns to that role
    3. C.Use GRANT APPLICATION ROLE app_role TO ACCOUNT ROLE consumer_role in the consumer account to assign the role to a consumer's account role
    4. D.Use CREATE ACCOUNT ROLE inside the setup script to give consumers a new account-level role automatically
    5. E.Use ALTER APPLICATION SET DEBUG_MODE = TRUE to grant consumers access to the curated dataset
    6. F.Grant privileges directly to individual consumer users from within the setup script
    Show answer & explanation

    Correct answers: A, B, CUse CREATE APPLICATION ROLE to define a role that consumers can be granted access through; Use GRANT SELECT ON a secure view TO APPLICATION ROLE to expose only curated columns to that role; Use GRANT APPLICATION ROLE app_role TO ACCOUNT ROLE consumer_role in the consumer account to assign the role to a consumer's account role

    • A. Creating the application role is the starting point for building a consumer-facing permission boundary inside the app.
    • B. Granting SELECT on a secure view to the application role is the standard way to expose only curated columns rather than raw underlying tables.
    • C. This is how a provisioned application role gets assigned to a consumer's own account role so their users can use it, and it is executed on the consumer side after installation.
    • D. Setup scripts run inside the application's own context and cannot create account-level roles in the consumer's account; account roles are managed by the consumer.
    • E. Debug mode is a troubleshooting capability for providers and has nothing to do with granting consumers access to app data.
    • F. Setup scripts grant privileges to application roles, not directly to individual consumer users, which keeps access control manageable and role-based.

    Subdomain 2.3: Implement development workflows.

    11.A provider is troubleshooting a Native App instance and needs to inspect objects that were never granted to any application role, using their own primary role rather than the app's execution context. Which capability should they use?

    1. A.Debug mode, enabled on the development-mode instance
    2. B.Test mode, since it is designed for full object visibility
    3. C.A fresh consumer installation with the ACCOUNTADMIN role
    4. D.The event sharing configuration in the manifest
    Show answer & explanation

    Correct answer: ADebug mode, enabled on the development-mode instance

    • A. Debug mode uses the provider's primary role to give visibility into all objects in the app, including ones never granted to an application role.
    • B. Plain development-mode testing is limited to what application roles expose, which is exactly the restriction this scenario needs to get past.
    • C. A consumer installation only ever sees objects granted to application roles and does not provide provider-level full visibility.
    • D. Event sharing configuration governs telemetry sharing and has nothing to do with a provider's ability to inspect ungranted objects.

    Subdomain 2.3: Implement development workflows.

    12.Comparing persistent debug mode (ALTER APPLICATION ... SET DEBUG_MODE = TRUE) with session debug mode (SYSTEM$BEGIN_DEBUG_APPLICATION), which statement correctly describes their relative security tradeoff?

    1. A.Session debug mode is scoped to a single session and must be re-enabled each time, reducing exposure compared to the persistent setting
    2. B.Persistent debug mode is safer because it automatically disables itself after each query
    3. C.Both modes carry identical risk because each exposes the exact same set of objects for the same duration
    4. D.Session debug mode is riskier because it cannot be turned off once started
    Show answer & explanation

    Correct answer: ASession debug mode is scoped to a single session and must be re-enabled each time, reducing exposure compared to the persistent setting

    • A. Because session debug mode only lasts for the current session and must be started again for future sessions, it limits how long elevated visibility remains active compared to a persistent setting.
    • B. Persistent debug mode stays enabled until it is explicitly turned off with another ALTER APPLICATION statement; it does not disable itself automatically.
    • C. The two modes differ meaningfully in duration and scope, so they do not carry identical risk profiles.
    • D. Session debug mode is scoped to the session and ends when the session ends, which is the opposite of being impossible to turn off.

    Subdomain 2.4: Implement version release workflows.

    13.A provider has version V2 with patches 0 and 1 already published. The provider runs: ALTER APPLICATION PACKAGE my_pkg ADD PATCH FOR VERSION V2 USING '@stage.schema.stage/v2' without specifying a patch number. What patch number will Snowflake assign?

    1. A.Patch 2, because Snowflake auto-increments the patch number when it is omitted.
    2. B.Patch 0, because omitting the number always restarts the sequence for that version.
    3. C.The command fails because a patch number is mandatory.
    4. D.Patch 1, because Snowflake reuses the latest patch number until a new version is added.
    Show answer & explanation

    Correct answer: APatch 2, because Snowflake auto-increments the patch number when it is omitted.

    • A. Correct: when the patch number is left out of ADD PATCH, Snowflake auto-increments from the highest existing patch number for that version, so patch 2 follows patches 0 and 1.
    • B. Incorrect: omitting the patch number does not restart numbering at zero; it continues the sequence forward from the existing highest patch.
    • C. Incorrect: the patch number is optional in this command precisely so that Snowflake can auto-increment it.
    • D. Incorrect: reusing an existing patch number would overwrite it rather than add a new patch, which is not the auto-increment behavior.

    Subdomain 2.4: Implement version release workflows.

    14.A provider wants a small group of pilot consumer accounts to receive V3 patch 0 ahead of the rest of the consumer base, while everyone else stays on V2. Which approach achieves this?

    1. A.Create a custom release directive scoped to those specific accounts with ACCOUNTS = (...) VERSION = V3 PATCH = 0, leaving the channel's default directive on V2.
    2. B.Change the default release directive to V3 patch 0, then ask the pilot accounts' admins to manually downgrade afterward.
    3. C.Move the pilot accounts to the QA release channel so they automatically receive V3.
    4. D.Add the pilot accounts to the ALPHA release channel, which always tracks the newest patch regardless of directives.
    Show answer & explanation

    Correct answer: ACreate a custom release directive scoped to those specific accounts with ACCOUNTS = (...) VERSION = V3 PATCH = 0, leaving the channel's default directive on V2.

    • A. Correct: a custom release directive scoped to specific accounts lets those accounts receive a different version and patch than the channel-wide default, exactly matching a staged pilot rollout.
    • B. Incorrect: changing the default directive would push V3 to every consumer, the opposite of limiting it to a pilot group, and manual downgrades are not a supported workflow.
    • C. Incorrect: the QA channel restricts visibility to the provider's own organization; it does not automatically deliver a specific version to named consumer accounts.
    • D. Incorrect: channel assignment alone does not guarantee any account always tracks the newest patch; the release directive within the channel still controls that.

    Subdomain 2.4: Implement version release workflows.

    15.A provider tries to add a consumer account to release directive B, but that account is currently assigned to release directive A, and the command fails without reassigning it. Which option should the provider add so the account is atomically moved from A to B?

    1. A.FORCE
    2. B.OVERRIDE
    3. C.CASCADE
    4. D.REPLACE
    Show answer & explanation

    Correct answer: AFORCE

    • A. Correct: the FORCE option lets the provider atomically reassign an account that is already targeted by a different release directive.
    • B. Incorrect: OVERRIDE is not a recognized keyword for release directive account reassignment.
    • C. Incorrect: CASCADE is unrelated to release directives; it is not part of this command's syntax.
    • D. Incorrect: REPLACE is not the keyword used for forcing account reassignment between directives.

    Subdomain 2.2: Implement security and privileges.

    16.A provider is writing the manifest.yml for a Native App that must run tasks in the consumer account on a recurring schedule using consumer-managed compute. Which entry belongs in the privileges section to request this capability?

    1. A.EXECUTE TASK with a description explaining the scheduled workload
    2. B.CREATE WAREHOUSE with a description explaining the scheduled workload
    3. C.MANAGE WAREHOUSES with a description explaining the scheduled workload
    4. D.IMPORTED PRIVILEGES ON SNOWFLAKE DB with a description explaining the scheduled workload
    Show answer & explanation

    Correct answer: AEXECUTE TASK with a description explaining the scheduled workload

    • A. EXECUTE TASK is the account-level privilege that lets an app run tasks in the consumer account, which is exactly what a recurring scheduled workload needs.
    • B. CREATE WAREHOUSE only lets the app create new warehouses; it does not grant permission to run tasks and would not satisfy the scheduling requirement by itself.
    • C. MANAGE WAREHOUSES governs the ability to resize, suspend, or resume existing warehouses, which is unrelated to executing scheduled tasks.
    • D. IMPORTED PRIVILEGES ON SNOWFLAKE DB exposes usage and cost metadata to the app and has no bearing on running tasks.

    Subdomain 2.2: Implement security and privileges.

    17.A consumer installs a Native App and wants to confirm exactly which account-level privileges the app has requested before granting anything. Which command should the consumer run?

    1. A.SHOW PRIVILEGES IN APPLICATION app_name
    2. B.DESCRIBE APPLICATION app_name
    3. C.SHOW GRANTS TO APPLICATION app_name
    4. D.SHOW FEATURE POLICIES ON APPLICATION app_name
    Show answer & explanation

    Correct answer: ASHOW PRIVILEGES IN APPLICATION app_name

    • A. This command lists the privileges an installed app has declared it needs, along with the provider's description for each, letting the consumer review before granting.
    • B. This command returns general metadata about the application object, such as its package and version, not the list of requested privileges.
    • C. This command shows privileges already granted to the application, not the privileges it has requested but not yet received.
    • D. This command lists feature policies currently restricting the app, which is a separate governance mechanism unrelated to viewing requested privileges.

    Subdomain 2.2: Implement security and privileges.

    18.A provider is defining application roles in the setup script for a Native App with distinct end-user and administrator personas. Which statement about application role structures is correct?

    1. A.Application roles are created with CREATE APPLICATION ROLE and can be organized into a hierarchy where one role is granted to another
    2. B.Application roles must be granted directly to individual consumer users rather than to consumer account roles
    3. C.An app is limited to exactly two application roles: one for administrators and one for end users
    4. D.Application roles are defined in manifest.yml rather than in the setup script
    Show answer & explanation

    Correct answer: AApplication roles are created with CREATE APPLICATION ROLE and can be organized into a hierarchy where one role is granted to another

    • A. CREATE APPLICATION ROLE defines roles inside the setup script, and roles can be granted to other application roles to build a hierarchy, similar to how account roles can be nested.
    • B. Consumers typically grant application roles to their own account roles, which lets many users inherit access through their existing role assignments rather than requiring per-user grants.
    • C. An app can define many application roles, up to a documented maximum of 1000 per app, far more than a fixed two-role model.
    • D. Application roles are created and granted using SQL statements executed in the setup script, not declared as manifest.yml fields.

    Domain 3: Deploy Snowflake Native Applications

    Subdomain 3.1: Publish to Snowflake Marketplace.

    19.A provider wants to make a Snowflake Native App available only to two specific consumer accounts, without the app appearing in the Snowflake Marketplace catalog. Which listing configuration should the provider use?

    1. A.Create a private listing that targets those two accounts by organization and account identifier
    2. B.Create a public Marketplace listing and restrict its regional availability to those two accounts
    3. C.Create a public Marketplace listing with the Limited Trial access type enabled for consumers
    4. D.Create a public Marketplace listing with Paid access and a Stripe Express billing account
    Show answer & explanation

    Correct answer: ACreate a private listing that targets those two accounts by organization and account identifier

    • A. A private listing is scoped to specified consumer accounts using their organization and account identifiers, and it never appears in the Marketplace catalog, which matches the requirement to reach only two named accounts.
    • B. Public Marketplace listings are visible to any consumer in the enabled regions; restricting a region does not limit visibility to two specific accounts, so this still exposes the listing to the wrong audience.
    • C. Limited Trial is an access type for public Marketplace listings and controls trial duration, not which accounts can see the listing, so it does not meet the private-targeting requirement.
    • D. Paid access with Stripe billing is a monetization setting for public Marketplace listings and does not restrict the listing to specific consumer accounts.

    Subdomain 3.1: Publish to Snowflake Marketplace.

    20.As a security best practice, how often should a Native App provider review and update the third-party libraries bundled in the app?

    1. A.At least once per quarter
    2. B.Only when a consumer reports an issue
    3. C.Once per year, during the annual release
    4. D.Only when adding a brand-new major version
    Show answer & explanation

    Correct answer: AAt least once per quarter

    • A. Snowflake recommends reviewing and updating third-party libraries at least quarterly so known vulnerabilities are addressed before they can block a scan.
    • B. Waiting for a consumer complaint is reactive and does not match the recommended proactive quarterly review cadence.
    • C. An annual cadence is less frequent than the recommended quarterly review and leaves dependencies exposed for longer.
    • D. Limiting reviews to major version releases ignores patches and minor updates that may need dependency fixes in between.

    Subdomain 3.1: Publish to Snowflake Marketplace.

    21.During the automated security scan, which conditions cause Snowflake to reject an app version because of a detected CVE in a dependency? (Select all that apply.)(Select 3)

    1. A.The CVE has a confirmed fix available according to the National Vulnerability Database
    2. B.The CVE has a high integrity impact as defined by the Common Vulnerability Scoring System
    3. C.The CVE has an EPSS score of 10 percent or higher
    4. D.The CVE was published more than two years ago
    5. E.The CVE affects a library that is imported but never called at runtime
    6. F.The CVE has been assigned any CVSS base score above zero
    Show answer & explanation

    Correct answers: A, B, CThe CVE has a confirmed fix available according to the National Vulnerability Database; The CVE has a high integrity impact as defined by the Common Vulnerability Scoring System; The CVE has an EPSS score of 10 percent or higher

    • A. A CVE with a confirmed fix listed in the National Vulnerability Database is one of the conditions that triggers automatic rejection, since a secure version is available to adopt.
    • B. A CVE with a high integrity impact under the CVSS scoring model is treated as serious enough to block the app version until it is remediated.
    • C. An EPSS score of 10 percent or higher indicates a meaningfully elevated likelihood of exploitation, and Snowflake uses that threshold to automatically reject the version.
    • D. The age of a CVE by itself is not one of Snowflake's stated rejection criteria; older CVEs without a fix, high impact, or high EPSS score are not automatically blocking.
    • E. Whether the vulnerable code path is invoked at runtime is not part of the documented automated criteria; the scan does not evaluate reachability in this way.
    • F. Any CVSS base score above zero is far too broad a threshold; Snowflake's criteria specifically require a high integrity impact, not merely a nonzero score.

    Subdomain 3.2: Implement monetization.

    22.A provider wants to add a compute pool surcharge to a paid listing for a Native App that uses Snowpark Container Services. Which prerequisite must be true about the app for the surcharge to work correctly?

    1. A.The app must automatically create its compute pools and request the needed privileges during installation, and the pool name must match the name configured in Provider Studio
    2. B.The app must expose a Streamlit dashboard so the consumer can view surcharge totals
    3. C.The app must be published exclusively as a private listing before any surcharge can be configured
    4. D.The consumer must manually create the compute pool with the exact name before installing the app
    Show answer & explanation

    Correct answer: AThe app must automatically create its compute pools and request the needed privileges during installation, and the pool name must match the name configured in Provider Studio

    • A. Correct. Documentation specifies the app must automatically create compute pools and request privileges at install time, and the pre-configured pool name in Provider Studio must match the name used in the app for tracking and billing to work.
    • B. Incorrect. A Streamlit UI is unrelated to whether compute pool surcharge billing functions; surcharges are metered and shown on the Marketplace invoice regardless of UI.
    • C. Incorrect. Compute pool surcharges can be configured for both private and public paid listings; there is no requirement restricting the feature to private listings only.
    • D. Incorrect, because the app itself is responsible for automatically creating the compute pool during installation, not the consumer manually pre-creating it.

    Subdomain 3.2: Implement monetization.

    23.Select the statements that correctly describe compute pool surcharge configuration for Snowflake Native Apps using Snowpark Container Services. (Choose 2)(Select 2)

    1. A.A provider can set the surcharge to $0 for a compute pool that should be displayed on the invoice without an added charge
    2. B.Providers configure the surcharge in Provider Studio by entering the compute pool name and an amount to bill per credit in USD
    3. C.Compute pool surcharges can be combined with subscription-based pricing on the same listing
    4. D.Compute pool surcharge amounts can be billed in any currency the provider selects at listing time
    5. E.Compute pool surcharges can be freely combined with a recurring subscription plan on the same listing
    Show answer & explanation

    Correct answers: A, BA provider can set the surcharge to $0 for a compute pool that should be displayed on the invoice without an added charge; Providers configure the surcharge in Provider Studio by entering the compute pool name and an amount to bill per credit in USD

    • A. Correct. Setting the amount to $0 lets a compute pool appear on the consumer's statement for visibility while not actually charging anything extra.
    • B. Correct. Provider Studio's Pricing & Trial section requires the pre-configured compute pool name and a per-credit USD billing amount to set up the surcharge.
    • C. Incorrect. Compute pool surcharges are usage-based charges and are only combinable with base usage charges, not with subscription-based pricing plans.
    • D. Incorrect. Surcharge billing is denominated in US dollars only; providers cannot select an arbitrary currency.
    • E. Incorrect. Recurring subscription pricing is a separate model from usage-based pricing, and compute pool surcharges cannot be combined with a subscription plan on the same listing.

    Subdomain 3.3: Install and configure applications.

    24.A consumer in Account C installs a Snowflake Native App published by a provider in Account P. The setup script defines a reference to a table the consumer will supply, and the app also needs outbound network access to an external API used by a UDF. Which statement about cross-account and connectivity considerations is most accurate?

    1. A.The consumer must bind the table reference using SYSTEM$REFERENCE after install, and any external network access requires an external access integration authorized for the app.
    2. B.Cross-account references resolve automatically the moment the app is installed, since the package definition already embeds the exact object identifiers needed.
    3. C.External network access for the app is inherited directly from the provider account's existing network policy, requiring no consumer-side configuration at all.
    4. D.The consumer and provider accounts must first be joined through a database replication group before any application object can be created locally.
    Show answer & explanation

    Correct answer: AThe consumer must bind the table reference using SYSTEM$REFERENCE after install, and any external network access requires an external access integration authorized for the app.

    • A. References to consumer-owned objects are bound after installation via SYSTEM$REFERENCE and a callback procedure, and outbound network access for the app must be explicitly authorized through an external access integration in the consumer account.
    • B. References cannot resolve automatically because the package only defines the shape of the reference; the consumer must still supply and bind the actual object after installation.
    • C. Network policies are account-specific and are not inherited across accounts, so the consumer must configure its own external access integration for the app.
    • D. Application installation does not require establishing a database replication group between the provider and consumer accounts; that mechanism is unrelated to Native App installation.

    Subdomain 3.3: Install and configure applications.

    25.A provider's manifest defines both required and optional event definitions for telemetry sharing. Which statements correctly describe how event sharing enablement behaves for the consumer? (Select all that apply)(Select 3)

    1. A.Required event definitions activate automatically at install time when the provider included them in the manifest.
    2. B.Optional event definitions remain disabled after installation until the consumer explicitly turns them on.
    3. C.Enabling event sharing requires the consumer to hold the MANAGE EVENT SHARING global privilege, which ACCOUNTADMIN has by default.
    4. D.Once enabled, event sharing with a provider can be revoked by the consumer at any time with no lasting effect.
    5. E.Event sharing settings are fixed at install time and cannot be changed through Snowsight or ALTER APPLICATION afterward.
    6. F.Turning on one optional event type automatically enables every other optional event type the provider has defined for the app.
    Show answer & explanation

    Correct answers: A, B, CRequired event definitions activate automatically at install time when the provider included them in the manifest.; Optional event definitions remain disabled after installation until the consumer explicitly turns them on.; Enabling event sharing requires the consumer to hold the MANAGE EVENT SHARING global privilege, which ACCOUNTADMIN has by default.

    • A. Required event definitions listed in the manifest are activated automatically when the app is installed, without needing a separate consumer action.
    • B. Optional event definitions do not activate on their own; the consumer must explicitly turn them on after installation.
    • C. Enabling event sharing depends on the MANAGE EVENT SHARING global privilege, which is held by ACCOUNTADMIN by default and can be granted to other roles.
    • D. Once event sharing is authorized for a provider, that authorization cannot be revoked by the consumer, so this statement misrepresents the actual, permanent behavior.
    • E. Event sharing choices are not frozen at install; the consumer can toggle event types afterward through Snowsight's Events and Logs settings or via ALTER APPLICATION.
    • F. Optional event types are toggled individually per event type, so enabling one does not cascade to enable every other optional event type.

    Subdomain 3.3: Install and configure applications.

    26.A consumer attempts to install a Snowflake Native App and the installation fails. Which of the following are plausible root causes the administrator should investigate? (Select all that apply)(Select 3)

    1. A.The role used for installation lacks the IMPORT SHARE or CREATE DATABASE privilege needed to access the listing.
    2. B.The application's setup script references a table reference that has not yet been bound using SYSTEM$REFERENCE.
    3. C.The consumer's warehouse is configured to automatically suspend after 60 seconds of complete inactivity.
    4. D.A required privilege declared in the manifest was denied by the administrator during the installation review step.
    5. E.The listing remains in draft state because the provider has not yet completed the publishing process.
    6. F.The application's default role was silently renamed during a previous failed installation attempt earlier.
    Show answer & explanation

    Correct answers: A, D, EThe role used for installation lacks the IMPORT SHARE or CREATE DATABASE privilege needed to access the listing.; A required privilege declared in the manifest was denied by the administrator during the installation review step.; The listing remains in draft state because the provider has not yet completed the publishing process.

    • A. Without IMPORT SHARE and CREATE DATABASE, the role cannot access the underlying share or create the application object, which is a common and genuine cause of installation failure.
    • B. References to consumer objects are bound after the application object already exists, so an unbound reference is a post-install configuration step, not a cause of the installation itself failing.
    • C. Warehouse auto-suspend timing affects idle compute cost, not whether the application object can be created, so it is not a plausible cause of install failure.
    • D. If the administrator denies a privilege the manifest declares as required, the installation cannot complete, making this a genuine and directly relevant failure cause.
    • E. A listing that has not finished the provider's publishing workflow is not yet available for consumers to install, which would surface as an installation failure.
    • F. There is no mechanism by which a failed installation attempt silently renames the application's default role; this is not a real failure pathway.

    Domain 4: Manage Snowflake Native Applications

    Subdomain 4.1: Manage deployed applications.

    27.Which privilege, when granted to a role, allows that role to enable release channels on an application package, register and deregister versions and patches, and set release directives?

    1. A.MANAGE RELEASES
    2. B.MANAGE VERSIONS
    3. C.MANAGE GRANTS
    4. D.CREATE APPLICATION
    Show answer & explanation

    Correct answer: AMANAGE RELEASES

    • A. MANAGE RELEASES is the privilege that bundles the ability to enable release channels, register or deregister versions and patches, and set release directives on an application package.
    • B. This is incorrect because MANAGE VERSIONS is a narrower global privilege focused on modifying versions and release directives, and does not by itself cover enabling release channels.
    • C. This is incorrect because MANAGE GRANTS relates to managing privilege grants generally, not the specific release management actions described here.
    • D. This is incorrect because CREATE APPLICATION governs installing application instances from a package, not managing the package's release channels and versions.

    Subdomain 4.1: Manage deployed applications.

    28.A role does not own an application package but needs to modify its release directive. Which privilege would satisfy this requirement without granting ownership?

    1. A.The global MANAGE VERSIONS privilege
    2. B.The SELECT privilege on the application package
    3. C.The USAGE privilege on the containing database
    4. D.The MONITOR privilege on the account
    Show answer & explanation

    Correct answer: AThe global MANAGE VERSIONS privilege

    • A. Modifying a release directive requires either ownership of the application package or the global MANAGE VERSIONS privilege, so granting that global privilege lets a non-owning role perform the action.
    • B. This is incorrect because SELECT is a read privilege relevant to data objects and does not authorize modifying release directives on an application package.
    • C. This is incorrect because USAGE on a database only allows referencing objects within it and does not grant release management capability.
    • D. This is incorrect because MONITOR is an observability privilege for viewing account activity, not a privilege that authorizes changing release directives.

    Subdomain 4.1: Manage deployed applications.

    29.Which of the following statements correctly describe patch behavior on an application package version? (Select all that apply.)(Select 4)

    1. A.The first patch created for a new version defaults to patch 0
    2. B.A patch requires its own manifest file and setup script, just like a version does
    3. C.Patches are intended for smaller updates such as fixes rather than major feature additions
    4. D.Patches automatically inherit the release channel assignment of any version once created
    5. E.A version can have up to 130 patches
    6. F.Dropping a patch also automatically drops the version it belongs to
    Show answer & explanation

    Correct answers: A, B, C, EThe first patch created for a new version defaults to patch 0; A patch requires its own manifest file and setup script, just like a version does; Patches are intended for smaller updates such as fixes rather than major feature additions; A version can have up to 130 patches

    • A. Correct: when a version is first created, its initial patch defaults to patch 0 unless the provider explicitly overrides it.
    • B. Correct: each patch, like each version, requires its own manifest file and setup script since it represents a distinct set of application files.
    • C. Correct: patches are meant for smaller changes such as bug fixes, while larger feature work belongs in a new version.
    • D. Incorrect: a patch does not automatically gain channel assignment just because its parent version is on a channel; the release directive determines which patch of that version consumers actually receive.
    • E. Correct: a version supports up to 130 patches, giving ample room for incremental fixes.
    • F. Incorrect: dropping a patch does not drop the parent version; patches and versions are managed independently, and a version can continue to exist with its remaining patches.

    Subdomain 4.2: Manage the consumer application lifecycle.

    30.A consumer is deciding whether to manually upgrade their app instance. The provider's automatic upgrade process has already begun for that instance. What happens if the consumer now tries to run a manual upgrade?

    1. A.The consumer can no longer manually trigger upgrades once the automatic process has started for that instance.
    2. B.The manual upgrade is rolled back and replaced by the automatic upgrade version regardless of patch number.
    3. C.The automatic upgrade is cancelled because a manual upgrade already occurred earlier that day.
    4. D.Both upgrade paths run concurrently and Snowflake applies whichever one finishes installing first.
    Show answer & explanation

    Correct answer: AThe consumer can no longer manually trigger upgrades once the automatic process has started for that instance.

    • A. Once Snowflake's automated upgrade process has started for an app instance, the provider's process takes precedence and manual upgrade attempts are no longer available for that instance.
    • B. There is no rollback-and-replace mechanic; the framework simply blocks new manual upgrade attempts once the automatic process has taken over.
    • C. A prior manual upgrade does not cancel a later automatic upgrade; the two are sequential, not mutually cancelling.
    • D. Snowflake does not run two upgrade paths concurrently for the same instance; only one upgrade process is active on an instance at a time.

    Subdomain 4.2: Manage the consumer application lifecycle.

    31.Which parameters can be set within an ALTER APPLICATION PACKAGE ... SET RELEASE DIRECTIVE statement to control automatic upgrade timing for consumers?(Select 3)

    1. A.UPGRADE_AFTER
    2. B.UPGRADE_IN_MAINTENANCE_WINDOW
    3. C.UPGRADE_DEADLINE
    4. D.UPGRADE_RETRY_COUNT
    5. E.MAINTENANCE_SCHEDULE
    6. F.GRACE_PERIOD
    Show answer & explanation

    Correct answers: A, B, CUPGRADE_AFTER; UPGRADE_IN_MAINTENANCE_WINDOW; UPGRADE_DEADLINE

    • A. UPGRADE_AFTER sets the earliest timestamp at which the automatic upgrade is allowed to begin.
    • B. UPGRADE_IN_MAINTENANCE_WINDOW tells Snowflake to delay the automatic upgrade until the consumer's maintenance policy window, if one is set.
    • C. UPGRADE_DEADLINE sets the mandatory cutoff by which the upgrade must occur, working alongside UPGRADE_IN_MAINTENANCE_WINDOW.
    • D. There is no UPGRADE_RETRY_COUNT parameter on a release directive; retry behavior is not configured this way.
    • E. MAINTENANCE_SCHEDULE is not a release directive parameter; the schedule itself lives on the consumer's maintenance policy object, not the directive.
    • F. GRACE_PERIOD is not a recognized release directive parameter in the Native App Framework.

    Subdomain 4.2: Manage the consumer application lifecycle.

    32.Which of the following correctly describe consumer options for controlling exactly when an automatic upgrade begins, without relying solely on the provider's default timing?(Select 3)

    1. A.Setting a consumer-controlled maintenance policy that delays automatic upgrades until a scheduled window.
    2. B.Running ALTER APPLICATION ... UPGRADE manually before the automatic process starts.
    3. C.Creating a scheduled task that runs ALTER APPLICATION ... UPGRADE on a CRON schedule.
    4. D.Editing the provider's application package manifest.yml directly from the consumer account.
    5. E.Setting UPGRADE_AFTER on the application object itself rather than the package.
    6. F.Suspending the application role hierarchy to pause all incoming upgrades.
    Show answer & explanation

    Correct answers: A, B, CSetting a consumer-controlled maintenance policy that delays automatic upgrades until a scheduled window.; Running ALTER APPLICATION ... UPGRADE manually before the automatic process starts.; Creating a scheduled task that runs ALTER APPLICATION ... UPGRADE on a CRON schedule.

    • A. A maintenance policy is the built-in mechanism for a consumer to delay automatic upgrades to a schedule they control.
    • B. Manually upgrading ahead of the automatic process lets a consumer choose their own timing, as long as the automatic process has not already begun.
    • C. A scheduled task that periodically issues the manual upgrade command gives consumers a way to control upgrade timing using their own automation.
    • D. Consumers do not have write access to the provider's application package or its manifest file; this is not an available control mechanism.
    • E. UPGRADE_AFTER is a release directive parameter set on the application package by the provider, not something a consumer configures on the application object.
    • F. Application roles govern object access within the app and have no effect on pausing or scheduling upgrade timing.

    Subdomain 4.3: Maintain production applications.

    33.A provider needs to add a new NOT NULL column with no default to an existing shared table used by a Native App. Following Snowflake's guidance on patch scope, how should this change be released?

    1. A.As part of a new version, since patches should avoid state modifications like adding required columns, while versions are meant for such structural changes
    2. B.As a patch, since patches can contain any schema change as long as the setup script is idempotent
    3. C.As neither a version nor a patch, since NOT NULL columns can never be added to shared tables
    4. D.As a QA-channel-only patch that is never promoted to the DEFAULT channel
    Show answer & explanation

    Correct answer: AAs part of a new version, since patches should avoid state modifications like adding required columns, while versions are meant for such structural changes

    • A. Adding a required column with no default is a structural, state-changing modification, which is the kind of change that should be scoped to a new version rather than a patch.
    • B. Idempotency alone does not make a state-changing schema modification appropriate for a patch; patches are meant to stay limited to bug fixes and minor additions.
    • C. The change is possible, it is simply better scoped to a version release rather than being disallowed entirely.
    • D. Restricting a structural change to QA forever would prevent it from ever reaching production consumers, which does not address how the change should actually be released.

    Subdomain 4.3: Maintain production applications.

    34.A provider wants to publish a new patch immediately but ensure that consumer accounts don't begin upgrading until a scheduled maintenance window two days later. Which release directive setting supports this?

    1. A.UPGRADE_AFTER, which specifies the earliest date and time an upgrade is allowed to begin
    2. B.QA channel assignment, which delays all upgrades by exactly 48 hours
    3. C.A manifest log_level setting
    4. D.The application role hierarchy depth
    Show answer & explanation

    Correct answer: AUPGRADE_AFTER, which specifies the earliest date and time an upgrade is allowed to begin

    • A. UPGRADE_AFTER on a release directive sets the earliest point in time an upgrade may start, letting the provider stage a two-day delay before the maintenance window.
    • B. The QA channel is scoped to internal testing consumers and has no fixed 48-hour delay behavior of its own.
    • C. The manifest's log_level setting controls logging verbosity and has no bearing on upgrade timing.
    • D. Application role hierarchy depth governs privilege structure within the app and is unrelated to scheduling upgrade timing.

    Subdomain 4.3: Maintain production applications.

    35.A provider's Native App runs services in Snowpark Container Services. During an upgrade, the provider wants the correct new version of the service confirmed running before the app is considered upgraded, with a safe way to react if a service fails to start. What should the provider use instead of relying solely on the setup script for this?

    1. A.A version initializer callback that attempts to start or upgrade the services and can react if the attempt fails
    2. B.A second setup script that runs after the first one completes
    3. C.A manifest log_level setting of DEBUG
    4. D.An application role granted directly to the compute pool
    Show answer & explanation

    Correct answer: AA version initializer callback that attempts to start or upgrade the services and can react if the attempt fails

    • A. A version initializer is the recommended place to start or upgrade services during an upgrade, since it can detect a failed start and react accordingly, unlike relying solely on the setup script.
    • B. There is no mechanism for chaining a second independent setup script; the setup script is a single script per version, and service management is better handled via a version initializer.
    • C. Increasing log verbosity only affects diagnostic output and does not control or confirm service startup during an upgrade.
    • D. Application roles govern privileges within the app and are not the mechanism used to confirm or manage service startup during an upgrade.

    Want the full experience?

    These are just samples. Practice the full Snowflake SnowPro Specialty: Native Apps question bank in quiz mode — free, no signup, with domain practice and exam simulation.