A computer-implemented method for determining an annotation identifying a difference between an original document and a modified document the modified document being a modified version of the original document with attached annotations, the method comprising: deriving a set of difference points based on comparing a first bitmap of the modified and a second bitmap of the original document and being representative of coordinates with the first and second bitmaps having pixel value differences exceeding a predetermined threshold; superposing a spatial index on to the set of difference points, the spatial index being defined by contiguously spaced cells bound by cell vertices; determining a polygon defined by a plurality of polygon vertices, the polygon vertices generated from the cell vertices of a plurality of adjacent cells each having a predetermined density of a subset of difference points associated therewith. removing one or more interior polygon vertices of the plurality of polygon vertices for smoothing the polygon, the one or more interior polygon vertices being internal to the polygon and surrounded by neighboring polygon vertices; determining boundaries of at least a first subset of the plurality of polygon vertices; wherein the first subset of the plurality of polygon vertices comprises polygon vertices remaining after the one or more interior polygon vertices are removed, removing one or more intermediate polygon vertices of the plurality of polygon vertices, wherein each of the one or more intermediate polygon vertices lies along a single contiguous line segment that defines a boundary of the polygon; removing one or more corner vertices of the plurality of polygon vertices; and determining, based on the boundaries, annotation vertices comprising at least a second subset of the plurality of polygon vertices, the second subset of the plurality of polygon vertices comprising polygon vertices remaining after the one or more intermediate polygon vertices and the one or more corner polygon vertices are removed; determining an annotation defined by the annotation vertices on the modified document; overlaying the annotation on the modified document, the modified document being displayed in a graphical user interface. deriving a set of difference points based on comparing a first bitmap of the modified and a second bitmap of the original document and being representative of coordinates with the first and second bitmaps having pixel value differences exceeding a predetermined threshold; superposing a spatial index on to the set of difference points, the spatial index being defined by contiguously spaced cells bound by cell vertices; determining a polygon defined by a plurality of polygon vertices, the polygon vertices generated from the cell vertices of a plurality of adjacent cells each having a predetermined density of a subset of difference points associated therewith. removing one or more interior polygon vertices of the plurality of polygon vertices for smoothing the polygon, the one or more interior polygon vertices being internal to the polygon and surrounded by neighboring polygon vertices; determining boundaries of at least a first subset of the plurality of polygon vertices; wherein the first subset of the plurality of polygon vertices comprises polygon vertices remaining after the one or more interior polygon vertices are removed, removing one or more intermediate polygon vertices of the plurality of polygon vertices, wherein each of the one or more intermediate polygon vertices lies along a single contiguous line segment that defines a boundary of the polygon; removing one or more corner vertices of the plurality of polygon vertices; and determining, based on the boundaries, annotation vertices comprising at least a second subset of the plurality of polygon vertices, the second subset of the plurality of polygon vertices comprising polygon vertices remaining after the one or more intermediate polygon vertices and the one or more corner polygon vertices are removed; determining an annotation defined by the annotation vertices on the modified document; overlaying the annotation on the modified document, the modified document being displayed in a graphical user interface.