US 12,288,024 B2
System, method, and apparatus for a unified document surface
Alexander W. DeNeui, Sandpoint, ID (US); Glenn Jaume, San Francisco, CA (US); Hariharan Sivaramakrishnan, Bellevue, WA (US); Helena G. Jaramillo, Syracuse, NY (US); John Z. Li, San Francisco, CA (US); Jonathan L. Goldman, San Francisco, CA (US); Martin Charles, Austin, TX (US); W. Michael Varney, Truckee, CA (US); Timothy Andrew James, Seattle, WA (US); Adam Ginzberg, San Francisco, CA (US); Nathan Penner, Redmond, WA (US); Evan Brooks, San Francisco, CA (US); Michael Hewitt, Moscow, ID (US); Punit Shah, San Francisco, CA (US); Patrick Barry, San Francisco, CA (US); Huayang Guo, Fremont, CA (US); Jason Peter Stowe, Seattle, WA (US); Christopher Leland Eck, Sammamish, WA (US); Alicia Salvino, Philadelphia, PA (US); Alan Fang, New York, NY (US); Spencer Chang, San Francisco, CA (US); Elizabeth Huang, Great Falls, VA (US); and Oleg Vaskevich, San Francisco, CA (US)
Assigned to Grammarly, Inc., San Francisco, CA (US)
Filed by Coda Project, Inc., Mountain View, CA (US)
Filed on May 9, 2023, as Appl. No. 18/195,109.
Application 18/195,109 is a continuation of application No. 17/679,006, filed on Feb. 23, 2022.
Claims priority of provisional application 63/230,398, filed on Aug. 6, 2021.
Claims priority of provisional application 63/225,835, filed on Jul. 26, 2021.
Claims priority of provisional application 63/152,541, filed on Feb. 23, 2021.
Prior Publication US 2023/0274080 A1, Aug. 31, 2023
Int. Cl. G06F 40/166 (2020.01); G06F 3/0484 (2022.01); G06F 21/62 (2013.01)
CPC G06F 40/166 (2020.01) [G06F 3/0484 (2013.01); G06F 21/6218 (2013.01)] 25 Claims
OG exemplary drawing
 
1. A system, comprising:
a document serving circuit structured to:
access a document data, the document data comprising data for a unified document surface; and
provide at least a portion of the document data to a client serving circuit; and
the client serving circuit structured to:
 implement a unified document surface interface in response to the at least a portion of the document data;
implement an extension creation interface;
provide a pack implementation value to the document serving circuit in response to user interactions with the extension creation interface; and
determine an executable object in response to the pack implementation value wherein the executable object comprises an access authorization description and the access authorization description comprises authorization information for access to at least one of: a service or an external data value; and
a second client serving circuit structured to:
 access a pack;
implement an extension utilization interface; and
incorporate at least a portion of the pack into a second document;
determine the executable object in response to the pack implementation value and access at least one of the service or the external data value based on the access authorization description, wherein the document serving circuit is further structured to isolate the access authorization description from the second client serving circuit.